{
  "version": 3,
  "sources": ["../../js-sha256/src/sha256.js", "../src/bindings/duckdb-mvp.js", "../src/bindings/duckdb-eh.js", "../src/targets/duckdb-browser-blocking.ts", "../src/bindings/connection.ts", "../src/status.ts", "../src/bindings/udf_runtime.ts", "../src/bindings/runtime.ts", "../src/bindings/file_stats.ts", "../src/json_typedef.ts", "../src/bindings/bindings_base.ts", "../src/bindings/config.ts", "../src/bindings/insert_options.ts", "../src/bindings/tokens.ts", "../src/log.ts", "../../wasm-feature-detect/dist/esm/index.js", "../package.json", "../src/version.ts", "../src/platform.ts", "../src/utils/s3_helper.ts", "../src/bindings/runtime_browser.ts", "../src/bindings/bindings_browser_mvp.ts", "../src/bindings/bindings_browser_base.ts", "../src/bindings/bindings_browser_eh.ts"],
  "sourcesContent": ["/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.11.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2024\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 = require('crypto')\n    var Buffer = require('buffer').Buffer;\n    var algorithm = is224 ? 'sha224' : 'sha256';\n    var bufferFrom;\n    if (Buffer.from && !root.JS_SHA256_NO_BUFFER_FROM) {\n      bufferFrom = Buffer.from;\n    } else {\n      bufferFrom = function (message) {\n        return new Buffer(message);\n      };\n    }\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(bufferFrom(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    while (index < length) {\n      if (this.hashed) {\n        this.hashed = false;\n        blocks[0] = this.block;\n        this.block = 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      this.chromeBugWorkAround = true;\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", "var DuckDB = (() => {\n    var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n    if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n    return (\n        function(moduleArg = {}) {\n\n            var Module = moduleArg;\n            var readyPromiseResolve, readyPromiseReject;\n            Module[\"ready\"] = new Promise((resolve, reject) => {\n                readyPromiseResolve = resolve;\n                readyPromiseReject = reject\n            });\n            var moduleOverrides = Object.assign({}, Module);\n            var arguments_ = [];\n            var thisProgram = \"./this.program\";\n            var quit_ = (status, toThrow) => {\n                throw toThrow\n            };\n            var ENVIRONMENT_IS_WEB = typeof window == \"object\";\n            var ENVIRONMENT_IS_WORKER = typeof importScripts == \"function\";\n            var ENVIRONMENT_IS_NODE = typeof process == \"object\" && typeof process.versions == \"object\" && typeof process.versions.node == \"string\";\n            var scriptDirectory = \"\";\n\n            function locateFile(path) {\n                if (Module[\"locateFile\"]) {\n                    return Module[\"locateFile\"](path, scriptDirectory)\n                }\n                return scriptDirectory + path\n            }\n            var read_, readAsync, readBinary, setWindowTitle;\n            if (ENVIRONMENT_IS_NODE) {\n                var fs = require(\"fs\");\n                var nodePath = require(\"path\");\n                if (ENVIRONMENT_IS_WORKER) {\n                    scriptDirectory = nodePath.dirname(scriptDirectory) + \"/\"\n                } else {\n                    scriptDirectory = __dirname + \"/\"\n                }\n                read_ = (filename, binary) => {\n                    filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);\n                    return fs.readFileSync(filename, binary ? undefined : \"utf8\")\n                };\n                readBinary = filename => {\n                    var ret = read_(filename, true);\n                    if (!ret.buffer) {\n                        ret = new Uint8Array(ret)\n                    }\n                    return ret\n                };\n                readAsync = (filename, onload, onerror, binary = true) => {\n                    filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);\n                    fs.readFile(filename, binary ? undefined : \"utf8\", (err, data) => {\n                        if (err) onerror(err);\n                        else onload(binary ? data.buffer : data)\n                    })\n                };\n                if (!Module[\"thisProgram\"] && process.argv.length > 1) {\n                    thisProgram = process.argv[1].replace(/\\\\/g, \"/\")\n                }\n                arguments_ = process.argv.slice(2);\n                quit_ = (status, toThrow) => {\n                    process.exitCode = status;\n                    throw toThrow\n                };\n                Module[\"inspect\"] = () => \"[Emscripten Module object]\"\n            } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n                if (ENVIRONMENT_IS_WORKER) {\n                    scriptDirectory = self.location.href\n                } else if (typeof document != \"undefined\" && document.currentScript) {\n                    scriptDirectory = document.currentScript.src\n                }\n                if (_scriptDir) {\n                    scriptDirectory = _scriptDir\n                }\n                if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n                    scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1)\n                } else {\n                    scriptDirectory = \"\"\n                } {\n                    read_ = url => {\n                        var xhr = new XMLHttpRequest;\n                        xhr.open(\"GET\", url, false);\n                        xhr.send(null);\n                        return xhr.responseText\n                    };\n                    if (ENVIRONMENT_IS_WORKER) {\n                        readBinary = url => {\n                            var xhr = new XMLHttpRequest;\n                            xhr.open(\"GET\", url, false);\n                            xhr.responseType = \"arraybuffer\";\n                            xhr.send(null);\n                            return new Uint8Array(xhr.response)\n                        }\n                    }\n                    readAsync = (url, onload, onerror) => {\n                        var xhr = new XMLHttpRequest;\n                        xhr.open(\"GET\", url, true);\n                        xhr.responseType = \"arraybuffer\";\n                        xhr.onload = () => {\n                            if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n                                onload(xhr.response);\n                                return\n                            }\n                            onerror()\n                        };\n                        xhr.onerror = onerror;\n                        xhr.send(null)\n                    }\n                }\n                setWindowTitle = title => document.title = title\n            } else {}\n            var out = Module[\"print\"] || console.log.bind(console);\n            var err = Module[\"printErr\"] || console.error.bind(console);\n            Object.assign(Module, moduleOverrides);\n            moduleOverrides = null;\n            if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n            if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n            if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n            var wasmBinary;\n            if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n            var noExitRuntime = Module[\"noExitRuntime\"] || true;\n            if (typeof WebAssembly != \"object\") {\n                abort(\"no native wasm support detected\")\n            }\n            var wasmMemory;\n            var ABORT = false;\n            var EXITSTATUS;\n\n            function assert(condition, text) {\n                if (!condition) {\n                    abort(text)\n                }\n            }\n            var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\n            function updateMemoryViews() {\n                var b = wasmMemory.buffer;\n                Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n                Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n                Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n                Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n                Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n                Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n                Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n                Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b)\n            }\n            var wasmTable;\n            var __ATPRERUN__ = [];\n            var __ATINIT__ = [];\n            var __ATMAIN__ = [];\n            var __ATPOSTRUN__ = [];\n            var runtimeInitialized = false;\n            var runtimeKeepaliveCounter = 0;\n\n            function keepRuntimeAlive() {\n                return noExitRuntime || runtimeKeepaliveCounter > 0\n            }\n\n            function preRun() {\n                if (Module[\"preRun\"]) {\n                    if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [Module[\"preRun\"]];\n                    while (Module[\"preRun\"].length) {\n                        addOnPreRun(Module[\"preRun\"].shift())\n                    }\n                }\n                callRuntimeCallbacks(__ATPRERUN__)\n            }\n\n            function initRuntime() {\n                runtimeInitialized = true;\n                callRuntimeCallbacks(__ATINIT__)\n            }\n\n            function preMain() {\n                callRuntimeCallbacks(__ATMAIN__)\n            }\n\n            function postRun() {\n                if (Module[\"postRun\"]) {\n                    if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [Module[\"postRun\"]];\n                    while (Module[\"postRun\"].length) {\n                        addOnPostRun(Module[\"postRun\"].shift())\n                    }\n                }\n                callRuntimeCallbacks(__ATPOSTRUN__)\n            }\n\n            function addOnPreRun(cb) {\n                __ATPRERUN__.unshift(cb)\n            }\n\n            function addOnInit(cb) {\n                __ATINIT__.unshift(cb)\n            }\n\n            function addOnPostRun(cb) {\n                __ATPOSTRUN__.unshift(cb)\n            }\n            var runDependencies = 0;\n            var runDependencyWatcher = null;\n            var dependenciesFulfilled = null;\n\n            function addRunDependency(id) {\n                runDependencies++;\n                if (Module[\"monitorRunDependencies\"]) {\n                    Module[\"monitorRunDependencies\"](runDependencies)\n                }\n            }\n\n            function removeRunDependency(id) {\n                runDependencies--;\n                if (Module[\"monitorRunDependencies\"]) {\n                    Module[\"monitorRunDependencies\"](runDependencies)\n                }\n                if (runDependencies == 0) {\n                    if (runDependencyWatcher !== null) {\n                        clearInterval(runDependencyWatcher);\n                        runDependencyWatcher = null\n                    }\n                    if (dependenciesFulfilled) {\n                        var callback = dependenciesFulfilled;\n                        dependenciesFulfilled = null;\n                        callback()\n                    }\n                }\n            }\n\n            function abort(what) {\n                if (Module[\"onAbort\"]) {\n                    Module[\"onAbort\"](what)\n                }\n                what = \"Aborted(\" + what + \")\";\n                err(what);\n                ABORT = true;\n                EXITSTATUS = 1;\n                what += \". Build with -sASSERTIONS for more info.\";\n                var e = new WebAssembly.RuntimeError(what);\n                readyPromiseReject(e);\n                throw e\n            }\n            var dataURIPrefix = \"data:application/octet-stream;base64,\";\n\n            function isDataURI(filename) {\n                return filename.startsWith(dataURIPrefix)\n            }\n\n            function isFileURI(filename) {\n                return filename.startsWith(\"file://\")\n            }\n            var wasmBinaryFile;\n            wasmBinaryFile = \"./duckdb-mvp.wasm\";\n            if (!isDataURI(wasmBinaryFile)) {\n                wasmBinaryFile = locateFile(wasmBinaryFile)\n            }\n\n            function getBinarySync(file) {\n                if (file == wasmBinaryFile && wasmBinary) {\n                    return new Uint8Array(wasmBinary)\n                }\n                if (readBinary) {\n                    return readBinary(file)\n                }\n                throw \"both async and sync fetching of the wasm failed\"\n            }\n\n            function getBinaryPromise(binaryFile) {\n                if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n                    if (typeof fetch == \"function\") {\n                        return fetch(binaryFile, {\n                            credentials: \"same-origin\"\n                        }).then(response => {\n                            if (!response[\"ok\"]) {\n                                throw \"failed to load wasm binary file at '\" + binaryFile + \"'\"\n                            }\n                            return response[\"arrayBuffer\"]()\n                        }).catch(() => getBinarySync(binaryFile))\n                    }\n                }\n                return Promise.resolve().then(() => getBinarySync(binaryFile))\n            }\n\n            function instantiateArrayBuffer(binaryFile, imports, receiver) {\n                return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(instance => instance).then(receiver, reason => {\n                    err(`failed to asynchronously prepare wasm: ${reason}`);\n                    abort(reason)\n                })\n            }\n\n            function instantiateAsync(binary, binaryFile, imports, callback) {\n                if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == \"function\") {\n                    return fetch(binaryFile, {\n                        credentials: \"same-origin\"\n                    }).then(response => {\n                        var result = WebAssembly.instantiateStreaming(response, imports);\n                        return result.then(callback, function(reason) {\n                            err(`wasm streaming compile failed: ${reason}`);\n                            err(\"falling back to ArrayBuffer instantiation\");\n                            return instantiateArrayBuffer(binaryFile, imports, callback)\n                        })\n                    })\n                }\n                return instantiateArrayBuffer(binaryFile, imports, callback)\n            }\n\n            function createWasm() {\n                var info = {\n                    \"a\": wasmImports\n                };\n\n                function receiveInstance(instance, module) {\n                    var exports = instance.exports;\n                    exports = applySignatureConversions(exports);\n                    wasmExports = exports;\n                    wasmMemory = wasmExports[\"jg\"];\n                    updateMemoryViews();\n                    wasmTable = wasmExports[\"mg\"];\n                    addOnInit(wasmExports[\"kg\"]);\n                    removeRunDependency(\"wasm-instantiate\");\n                    return exports\n                }\n                addRunDependency(\"wasm-instantiate\");\n\n                function receiveInstantiationResult(result) {\n                    receiveInstance(result[\"instance\"])\n                }\n                if (Module[\"instantiateWasm\"]) {\n                    try {\n                        return Module[\"instantiateWasm\"](info, receiveInstance)\n                    } catch (e) {\n                        err(`Module.instantiateWasm callback failed with error: ${e}`);\n                        readyPromiseReject(e)\n                    }\n                }\n                instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n                return {}\n            }\n            var tempDouble;\n            var tempI64;\n\n            function ExitStatus(status) {\n                this.name = \"ExitStatus\";\n                this.message = `Program terminated with exit(${status})`;\n                this.status = status\n            }\n            var callRuntimeCallbacks = callbacks => {\n                while (callbacks.length > 0) {\n                    callbacks.shift()(Module)\n                }\n            };\n\n            function __ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm() {\n                abort(\"missing function: _ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm\")\n            }\n            __ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm.stub = true;\n            var exceptionCaught = [];\n            var uncaughtExceptionCount = 0;\n            var convertI32PairToI53Checked = (lo, hi) => hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n\n            function ___cxa_begin_catch(ptr) {\n                ptr >>>= 0;\n                var info = new ExceptionInfo(ptr);\n                if (!info.get_caught()) {\n                    info.set_caught(true);\n                    uncaughtExceptionCount--\n                }\n                info.set_rethrown(false);\n                exceptionCaught.push(info);\n                ___cxa_increment_exception_refcount(info.excPtr);\n                return info.get_exception_ptr()\n            }\n            var exceptionLast = 0;\n            var ___cxa_end_catch = () => {\n                _setThrew(0, 0);\n                var info = exceptionCaught.pop();\n                ___cxa_decrement_exception_refcount(info.excPtr);\n                exceptionLast = 0\n            };\n\n            function ExceptionInfo(excPtr) {\n                this.excPtr = excPtr;\n                this.ptr = excPtr - 24;\n                this.set_type = function(type) {\n                    HEAPU32[this.ptr + 4 >>> 2 >>> 0] = type\n                };\n                this.get_type = function() {\n                    return HEAPU32[this.ptr + 4 >>> 2 >>> 0]\n                };\n                this.set_destructor = function(destructor) {\n                    HEAPU32[this.ptr + 8 >>> 2 >>> 0] = destructor\n                };\n                this.get_destructor = function() {\n                    return HEAPU32[this.ptr + 8 >>> 2 >>> 0]\n                };\n                this.set_caught = function(caught) {\n                    caught = caught ? 1 : 0;\n                    HEAP8[this.ptr + 12 >>> 0 >>> 0] = caught\n                };\n                this.get_caught = function() {\n                    return HEAP8[this.ptr + 12 >>> 0 >>> 0] != 0\n                };\n                this.set_rethrown = function(rethrown) {\n                    rethrown = rethrown ? 1 : 0;\n                    HEAP8[this.ptr + 13 >>> 0 >>> 0] = rethrown\n                };\n                this.get_rethrown = function() {\n                    return HEAP8[this.ptr + 13 >>> 0 >>> 0] != 0\n                };\n                this.init = function(type, destructor) {\n                    this.set_adjusted_ptr(0);\n                    this.set_type(type);\n                    this.set_destructor(destructor)\n                };\n                this.set_adjusted_ptr = function(adjustedPtr) {\n                    HEAPU32[this.ptr + 16 >>> 2 >>> 0] = adjustedPtr\n                };\n                this.get_adjusted_ptr = function() {\n                    return HEAPU32[this.ptr + 16 >>> 2 >>> 0]\n                };\n                this.get_exception_ptr = function() {\n                    var isPointer = ___cxa_is_pointer_type(this.get_type());\n                    if (isPointer) {\n                        return HEAPU32[this.excPtr >>> 2 >>> 0]\n                    }\n                    var adjusted = this.get_adjusted_ptr();\n                    if (adjusted !== 0) return adjusted;\n                    return this.excPtr\n                }\n            }\n\n            function ___resumeException(ptr) {\n                ptr >>>= 0;\n                if (!exceptionLast) {\n                    exceptionLast = ptr\n                }\n                throw exceptionLast\n            }\n            var findMatchingCatch = args => {\n                var thrown = exceptionLast;\n                if (!thrown) {\n                    setTempRet0(0);\n                    return 0\n                }\n                var info = new ExceptionInfo(thrown);\n                info.set_adjusted_ptr(thrown);\n                var thrownType = info.get_type();\n                if (!thrownType) {\n                    setTempRet0(0);\n                    return thrown\n                }\n                for (var arg in args) {\n                    var caughtType = args[arg];\n                    if (caughtType === 0 || caughtType === thrownType) {\n                        break\n                    }\n                    var adjusted_ptr_addr = info.ptr + 16;\n                    if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) {\n                        setTempRet0(caughtType);\n                        return thrown\n                    }\n                }\n                setTempRet0(thrownType);\n                return thrown\n            };\n\n            function ___cxa_find_matching_catch_2() {\n                return findMatchingCatch([])\n            }\n\n            function ___cxa_find_matching_catch_3(arg0) {\n                arg0 >>>= 0;\n                return findMatchingCatch([arg0])\n            }\n\n            function ___cxa_find_matching_catch_4(arg0, arg1) {\n                arg0 >>>= 0;\n                arg1 >>>= 0;\n                return findMatchingCatch([arg0, arg1])\n            }\n            var ___cxa_rethrow = () => {\n                var info = exceptionCaught.pop();\n                if (!info) {\n                    abort(\"no exception to throw\")\n                }\n                var ptr = info.excPtr;\n                if (!info.get_rethrown()) {\n                    exceptionCaught.push(info);\n                    info.set_rethrown(true);\n                    info.set_caught(false);\n                    uncaughtExceptionCount++\n                }\n                exceptionLast = ptr;\n                throw exceptionLast\n            };\n\n            function ___cxa_throw(ptr, type, destructor) {\n                ptr >>>= 0;\n                type >>>= 0;\n                destructor >>>= 0;\n                var info = new ExceptionInfo(ptr);\n                info.init(type, destructor);\n                exceptionLast = ptr;\n                uncaughtExceptionCount++;\n                throw exceptionLast\n            }\n            var ___cxa_uncaught_exceptions = () => uncaughtExceptionCount;\n\n            function SOCKFS() {\n                abort(\"missing function: $SOCKFS\")\n            }\n            SOCKFS.stub = true;\n\n            function FS() {\n                abort(\"missing function: $FS\")\n            }\n            FS.stub = true;\n            var getSocketFromFD = fd => {\n                var socket = SOCKFS.getSocket(fd);\n                if (!socket) throw new FS.ErrnoError(8);\n                return socket\n            };\n            var inetNtop4 = addr => (addr & 255) + \".\" + (addr >> 8 & 255) + \".\" + (addr >> 16 & 255) + \".\" + (addr >> 24 & 255);\n            var inetNtop6 = ints => {\n                var str = \"\";\n                var word = 0;\n                var longest = 0;\n                var lastzero = 0;\n                var zstart = 0;\n                var len = 0;\n                var i = 0;\n                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];\n                var hasipv4 = true;\n                var v4part = \"\";\n                for (i = 0; i < 5; i++) {\n                    if (parts[i] !== 0) {\n                        hasipv4 = false;\n                        break\n                    }\n                }\n                if (hasipv4) {\n                    v4part = inetNtop4(parts[6] | parts[7] << 16);\n                    if (parts[5] === -1) {\n                        str = \"::ffff:\";\n                        str += v4part;\n                        return str\n                    }\n                    if (parts[5] === 0) {\n                        str = \"::\";\n                        if (v4part === \"0.0.0.0\") v4part = \"\";\n                        if (v4part === \"0.0.0.1\") v4part = \"1\";\n                        str += v4part;\n                        return str\n                    }\n                }\n                for (word = 0; word < 8; word++) {\n                    if (parts[word] === 0) {\n                        if (word - lastzero > 1) {\n                            len = 0\n                        }\n                        lastzero = word;\n                        len++\n                    }\n                    if (len > longest) {\n                        longest = len;\n                        zstart = word - longest + 1\n                    }\n                }\n                for (word = 0; word < 8; word++) {\n                    if (longest > 1) {\n                        if (parts[word] === 0 && word >= zstart && word < zstart + longest) {\n                            if (word === zstart) {\n                                str += \":\";\n                                if (zstart === 0) str += \":\"\n                            }\n                            continue\n                        }\n                    }\n                    str += Number(_ntohs(parts[word] & 65535)).toString(16);\n                    str += word < 7 ? \":\" : \"\"\n                }\n                return str\n            };\n            var readSockaddr = (sa, salen) => {\n                var family = HEAP16[sa >>> 1 >>> 0];\n                var port = _ntohs(HEAPU16[sa + 2 >>> 1 >>> 0]);\n                var addr;\n                switch (family) {\n                    case 2:\n                        if (salen !== 16) {\n                            return {\n                                errno: 28\n                            }\n                        }\n                        addr = HEAP32[sa + 4 >>> 2 >>> 0];\n                        addr = inetNtop4(addr);\n                        break;\n                    case 10:\n                        if (salen !== 28) {\n                            return {\n                                errno: 28\n                            }\n                        }\n                        addr = [HEAP32[sa + 8 >>> 2 >>> 0], HEAP32[sa + 12 >>> 2 >>> 0], HEAP32[sa + 16 >>> 2 >>> 0], HEAP32[sa + 20 >>> 2 >>> 0]];\n                        addr = inetNtop6(addr);\n                        break;\n                    default:\n                        return {\n                            errno: 5\n                        }\n                }\n                return {\n                    family: family,\n                    addr: addr,\n                    port: port\n                }\n            };\n            var inetPton4 = str => {\n                var b = str.split(\".\");\n                for (var i = 0; i < 4; i++) {\n                    var tmp = Number(b[i]);\n                    if (isNaN(tmp)) return null;\n                    b[i] = tmp\n                }\n                return (b[0] | b[1] << 8 | b[2] << 16 | b[3] << 24) >>> 0\n            };\n            var jstoi_q = str => parseInt(str);\n            var inetPton6 = str => {\n                var words;\n                var w, offset, z;\n                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;\n                var parts = [];\n                if (!valid6regx.test(str)) {\n                    return null\n                }\n                if (str === \"::\") {\n                    return [0, 0, 0, 0, 0, 0, 0, 0]\n                }\n                if (str.startsWith(\"::\")) {\n                    str = str.replace(\"::\", \"Z:\")\n                } else {\n                    str = str.replace(\"::\", \":Z:\")\n                }\n                if (str.indexOf(\".\") > 0) {\n                    str = str.replace(new RegExp(\"[.]\", \"g\"), \":\");\n                    words = str.split(\":\");\n                    words[words.length - 4] = jstoi_q(words[words.length - 4]) + jstoi_q(words[words.length - 3]) * 256;\n                    words[words.length - 3] = jstoi_q(words[words.length - 2]) + jstoi_q(words[words.length - 1]) * 256;\n                    words = words.slice(0, words.length - 2)\n                } else {\n                    words = str.split(\":\")\n                }\n                offset = 0;\n                z = 0;\n                for (w = 0; w < words.length; w++) {\n                    if (typeof words[w] == \"string\") {\n                        if (words[w] === \"Z\") {\n                            for (z = 0; z < 8 - words.length + 1; z++) {\n                                parts[w + z] = 0\n                            }\n                            offset = z - 1\n                        } else {\n                            parts[w + offset] = _htons(parseInt(words[w], 16))\n                        }\n                    } else {\n                        parts[w + offset] = words[w]\n                    }\n                }\n                return [parts[1] << 16 | parts[0], parts[3] << 16 | parts[2], parts[5] << 16 | parts[4], parts[7] << 16 | parts[6]]\n            };\n            var DNS = {\n                address_map: {\n                    id: 1,\n                    addrs: {},\n                    names: {}\n                },\n                lookup_name(name) {\n                    var res = inetPton4(name);\n                    if (res !== null) {\n                        return name\n                    }\n                    res = inetPton6(name);\n                    if (res !== null) {\n                        return name\n                    }\n                    var addr;\n                    if (DNS.address_map.addrs[name]) {\n                        addr = DNS.address_map.addrs[name]\n                    } else {\n                        var id = DNS.address_map.id++;\n                        assert(id < 65535, \"exceeded max address mappings of 65535\");\n                        addr = \"172.29.\" + (id & 255) + \".\" + (id & 65280);\n                        DNS.address_map.names[addr] = name;\n                        DNS.address_map.addrs[name] = addr\n                    }\n                    return addr\n                },\n                lookup_addr(addr) {\n                    if (DNS.address_map.names[addr]) {\n                        return DNS.address_map.names[addr]\n                    }\n                    return null\n                }\n            };\n            var getSocketAddress = (addrp, addrlen, allowNull) => {\n                if (allowNull && addrp === 0) return null;\n                var info = readSockaddr(addrp, addrlen);\n                if (info.errno) throw new FS.ErrnoError(info.errno);\n                info.addr = DNS.lookup_addr(info.addr) || info.addr;\n                return info\n            };\n            var UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : undefined;\n            var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {\n                idx >>>= 0;\n                var endIdx = idx + maxBytesToRead;\n                var endPtr = idx;\n                while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n                if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n                    return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr))\n                }\n                var str = \"\";\n                while (idx < endPtr) {\n                    var u0 = heapOrArray[idx++];\n                    if (!(u0 & 128)) {\n                        str += String.fromCharCode(u0);\n                        continue\n                    }\n                    var u1 = heapOrArray[idx++] & 63;\n                    if ((u0 & 224) == 192) {\n                        str += String.fromCharCode((u0 & 31) << 6 | u1);\n                        continue\n                    }\n                    var u2 = heapOrArray[idx++] & 63;\n                    if ((u0 & 240) == 224) {\n                        u0 = (u0 & 15) << 12 | u1 << 6 | u2\n                    } else {\n                        u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63\n                    }\n                    if (u0 < 65536) {\n                        str += String.fromCharCode(u0)\n                    } else {\n                        var ch = u0 - 65536;\n                        str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)\n                    }\n                }\n                return str\n            };\n            var UTF8ToString = (ptr, maxBytesToRead) => {\n                ptr >>>= 0;\n                return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : \"\"\n            };\n            var SYSCALLS = {\n                varargs: undefined,\n                get() {\n                    var ret = HEAP32[SYSCALLS.varargs >>> 2 >>> 0];\n                    SYSCALLS.varargs += 4;\n                    return ret\n                },\n                getp() {\n                    return SYSCALLS.get()\n                },\n                getStr(ptr) {\n                    var ret = UTF8ToString(ptr);\n                    return ret\n                }\n            };\n\n            function ___syscall_bind(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var info = getSocketAddress(addr, addrlen);\n                sock.sock_ops.bind(sock, info.addr, info.port);\n                return 0\n            }\n\n            function ___syscall_connect(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var info = getSocketAddress(addr, addrlen);\n                sock.sock_ops.connect(sock, info.addr, info.port);\n                return 0\n            }\n\n            function ___syscall_faccessat(dirfd, path, amode, flags) {\n                path >>>= 0\n            }\n\n            function ___syscall_fcntl64(fd, cmd, varargs) {\n                varargs >>>= 0;\n                SYSCALLS.varargs = varargs;\n                return 0\n            }\n\n            function ___syscall_fstat64(fd, buf) {\n                buf >>>= 0\n            }\n\n            function ___syscall_ftruncate64(fd, length_low, length_high) {\n                var length = convertI32PairToI53Checked(length_low, length_high)\n            }\n            var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {\n                outIdx >>>= 0;\n                if (!(maxBytesToWrite > 0)) return 0;\n                var startIdx = outIdx;\n                var endIdx = outIdx + maxBytesToWrite - 1;\n                for (var i = 0; i < str.length; ++i) {\n                    var u = str.charCodeAt(i);\n                    if (u >= 55296 && u <= 57343) {\n                        var u1 = str.charCodeAt(++i);\n                        u = 65536 + ((u & 1023) << 10) | u1 & 1023\n                    }\n                    if (u <= 127) {\n                        if (outIdx >= endIdx) break;\n                        heap[outIdx++ >>> 0] = u\n                    } else if (u <= 2047) {\n                        if (outIdx + 1 >= endIdx) break;\n                        heap[outIdx++ >>> 0] = 192 | u >> 6;\n                        heap[outIdx++ >>> 0] = 128 | u & 63\n                    } else if (u <= 65535) {\n                        if (outIdx + 2 >= endIdx) break;\n                        heap[outIdx++ >>> 0] = 224 | u >> 12;\n                        heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n                        heap[outIdx++ >>> 0] = 128 | u & 63\n                    } else {\n                        if (outIdx + 3 >= endIdx) break;\n                        heap[outIdx++ >>> 0] = 240 | u >> 18;\n                        heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;\n                        heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n                        heap[outIdx++ >>> 0] = 128 | u & 63\n                    }\n                }\n                heap[outIdx >>> 0] = 0;\n                return outIdx - startIdx\n            };\n            var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n\n            function ___syscall_getdents64(fd, dirp, count) {\n                dirp >>>= 0;\n                count >>>= 0\n            }\n            var zeroMemory = (address, size) => {\n                HEAPU8.fill(0, address, address + size);\n                return address\n            };\n            var writeSockaddr = (sa, family, addr, port, addrlen) => {\n                switch (family) {\n                    case 2:\n                        addr = inetPton4(addr);\n                        zeroMemory(sa, 16);\n                        if (addrlen) {\n                            HEAP32[addrlen >>> 2 >>> 0] = 16\n                        }\n                        HEAP16[sa >>> 1 >>> 0] = family;\n                        HEAP32[sa + 4 >>> 2 >>> 0] = addr;\n                        HEAP16[sa + 2 >>> 1 >>> 0] = _htons(port);\n                        break;\n                    case 10:\n                        addr = inetPton6(addr);\n                        zeroMemory(sa, 28);\n                        if (addrlen) {\n                            HEAP32[addrlen >>> 2 >>> 0] = 28\n                        }\n                        HEAP32[sa >>> 2 >>> 0] = family;\n                        HEAP32[sa + 8 >>> 2 >>> 0] = addr[0];\n                        HEAP32[sa + 12 >>> 2 >>> 0] = addr[1];\n                        HEAP32[sa + 16 >>> 2 >>> 0] = addr[2];\n                        HEAP32[sa + 20 >>> 2 >>> 0] = addr[3];\n                        HEAP16[sa + 2 >>> 1 >>> 0] = _htons(port);\n                        break;\n                    default:\n                        return 5\n                }\n                return 0\n            };\n\n            function ___syscall_getpeername(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                if (!sock.daddr) {\n                    return -53\n                }\n                var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(sock.daddr), sock.dport, addrlen);\n                return 0\n            }\n\n            function ___syscall_getsockname(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(sock.saddr || \"0.0.0.0\"), sock.sport, addrlen);\n                return 0\n            }\n\n            function ___syscall_getsockopt(fd, level, optname, optval, optlen, d1) {\n                optval >>>= 0;\n                optlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                if (level === 1) {\n                    if (optname === 4) {\n                        HEAP32[optval >>> 2 >>> 0] = sock.error;\n                        HEAP32[optlen >>> 2 >>> 0] = 4;\n                        sock.error = null;\n                        return 0\n                    }\n                }\n                return -50\n            }\n\n            function ___syscall_ioctl(fd, op, varargs) {\n                varargs >>>= 0;\n                SYSCALLS.varargs = varargs;\n                return 0\n            }\n\n            function ___syscall_lstat64(path, buf) {\n                path >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_mkdirat(dirfd, path, mode) {\n                path >>>= 0\n            }\n\n            function ___syscall_newfstatat(dirfd, path, buf, flags) {\n                path >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_openat(dirfd, path, flags, varargs) {\n                path >>>= 0;\n                varargs >>>= 0;\n                SYSCALLS.varargs = varargs\n            }\n\n            function ___syscall_poll(fds, nfds, timeout) {\n                fds >>>= 0\n            }\n\n            function ___syscall_recvfrom(fd, buf, len, flags, addr, addrlen) {\n                buf >>>= 0;\n                len >>>= 0;\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var msg = sock.sock_ops.recvmsg(sock, len);\n                if (!msg) return 0;\n                if (addr) {\n                    var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(msg.addr), msg.port, addrlen)\n                }\n                HEAPU8.set(msg.buffer, buf >>> 0);\n                return msg.buffer.byteLength\n            }\n\n            function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) {\n                oldpath >>>= 0;\n                newpath >>>= 0\n            }\n\n            function ___syscall_rmdir(path) {\n                path >>>= 0\n            }\n\n            function ___syscall_sendto(fd, message, length, flags, addr, addr_len) {\n                message >>>= 0;\n                length >>>= 0;\n                addr >>>= 0;\n                addr_len >>>= 0\n            }\n            var ___syscall_socket = (domain, type, protocol) => {};\n\n            function ___syscall_stat64(path, buf) {\n                path >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_statfs64(path, size, buf) {\n                path >>>= 0;\n                size >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_unlinkat(dirfd, path, flags) {\n                path >>>= 0\n            }\n            var nowIsMonotonic = true;\n            var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;\n            var _abort = () => {\n                abort(\"\")\n            };\n\n            function _duckdb_web_fs_directory_create(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.createDirectory(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_directory_exists(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.checkDirectory(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_directory_list_files(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_directory_remove(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.removeDirectory(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_file_close(fileId) {\n                return globalThis.DUCKDB_RUNTIME.closeFile(Module, fileId)\n            }\n\n            function _duckdb_web_fs_file_exists(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.checkFile(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_file_get_last_modified_time(fileId) {\n                return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module, fileId)\n            }\n\n            function _duckdb_web_fs_file_move(from, fromLen, to, toLen) {\n                from >>>= 0;\n                to >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.moveFile(Module, from, fromLen, to, toLen)\n            }\n\n            function _duckdb_web_fs_file_open(fileId, flags) {\n                return globalThis.DUCKDB_RUNTIME.openFile(Module, fileId, flags)\n            }\n\n            function _duckdb_web_fs_file_read(fileId, buf, size, location) {\n                buf >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.readFile(Module, fileId, buf, size, location)\n            }\n\n            function _duckdb_web_fs_file_truncate(fileId, newSize) {\n                return globalThis.DUCKDB_RUNTIME.truncateFile(Module, fileId, newSize)\n            }\n\n            function _duckdb_web_fs_file_write(fileId, buf, size, location) {\n                buf >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.writeFile(Module, fileId, buf, size, location)\n            }\n\n            function _duckdb_web_fs_get_default_data_protocol(Module) {\n                return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)\n            }\n\n            function _duckdb_web_fs_glob(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.glob(Module, path, pathLen)\n            }\n\n            function _duckdb_web_test_platform_feature(feature) {\n                return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module, feature)\n            }\n\n            function _duckdb_web_udf_scalar_call(funcId, descPtr, descSize, ptrsPtr, ptrsSize, response) {\n                funcId >>>= 0;\n                descSize >>>= 0;\n                ptrsSize >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module, funcId, descPtr, descSize, ptrsPtr, ptrsSize, response)\n            }\n            var _emscripten_date_now = () => Date.now();\n            var getHeapMax = () => 4294901760;\n\n            function _emscripten_get_heap_max() {\n                return getHeapMax()\n            }\n            var _emscripten_get_now;\n            _emscripten_get_now = () => performance.now();\n\n            function _emscripten_memcpy_big(dest, src, num) {\n                dest >>>= 0;\n                src >>>= 0;\n                num >>>= 0;\n                return HEAPU8.copyWithin(dest >>> 0, src >>> 0, src + num >>> 0)\n            }\n            var growMemory = size => {\n                var b = wasmMemory.buffer;\n                var pages = (size - b.byteLength + 65535) / 65536;\n                try {\n                    wasmMemory.grow(pages);\n                    updateMemoryViews();\n                    return 1\n                } catch (e) {}\n            };\n\n            function _emscripten_resize_heap(requestedSize) {\n                requestedSize >>>= 0;\n                var oldSize = HEAPU8.length;\n                var maxHeapSize = getHeapMax();\n                if (requestedSize > maxHeapSize) {\n                    return false\n                }\n                var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n                for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n                    var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n                    overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n                    var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n                    var replacement = growMemory(newSize);\n                    if (replacement) {\n                        return true\n                    }\n                }\n                return false\n            }\n            var ENV = {};\n            var getExecutableName = () => thisProgram || \"./this.program\";\n            var getEnvStrings = () => {\n                if (!getEnvStrings.strings) {\n                    var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n                    var env = {\n                        \"USER\": \"web_user\",\n                        \"LOGNAME\": \"web_user\",\n                        \"PATH\": \"/\",\n                        \"PWD\": \"/\",\n                        \"HOME\": \"/home/web_user\",\n                        \"LANG\": lang,\n                        \"_\": getExecutableName()\n                    };\n                    for (var x in ENV) {\n                        if (ENV[x] === undefined) delete env[x];\n                        else env[x] = ENV[x]\n                    }\n                    var strings = [];\n                    for (var x in env) {\n                        strings.push(`${x}=${env[x]}`)\n                    }\n                    getEnvStrings.strings = strings\n                }\n                return getEnvStrings.strings\n            };\n            var stringToAscii = (str, buffer) => {\n                for (var i = 0; i < str.length; ++i) {\n                    HEAP8[buffer++ >>> 0 >>> 0] = str.charCodeAt(i)\n                }\n                HEAP8[buffer >>> 0 >>> 0] = 0\n            };\n            var _environ_get = function(__environ, environ_buf) {\n                __environ >>>= 0;\n                environ_buf >>>= 0;\n                var bufSize = 0;\n                getEnvStrings().forEach((string, i) => {\n                    var ptr = environ_buf + bufSize;\n                    HEAPU32[__environ + i * 4 >>> 2 >>> 0] = ptr;\n                    stringToAscii(string, ptr);\n                    bufSize += string.length + 1\n                });\n                return 0\n            };\n            var _environ_sizes_get = function(penviron_count, penviron_buf_size) {\n                penviron_count >>>= 0;\n                penviron_buf_size >>>= 0;\n                var strings = getEnvStrings();\n                HEAPU32[penviron_count >>> 2 >>> 0] = strings.length;\n                var bufSize = 0;\n                strings.forEach(string => bufSize += string.length + 1);\n                HEAPU32[penviron_buf_size >>> 2 >>> 0] = bufSize;\n                return 0\n            };\n            var _proc_exit = code => {\n                EXITSTATUS = code;\n                if (!keepRuntimeAlive()) {\n                    if (Module[\"onExit\"]) Module[\"onExit\"](code);\n                    ABORT = true\n                }\n                quit_(code, new ExitStatus(code))\n            };\n            var exitJS = (status, implicit) => {\n                EXITSTATUS = status;\n                _proc_exit(status)\n            };\n            var _exit = exitJS;\n            var _fd_close = fd => 52;\n\n            function _fd_fdstat_get(fd, pbuf) {\n                pbuf >>>= 0;\n                var rightsBase = 0;\n                var rightsInheriting = 0;\n                var flags = 0;\n                {\n                    var type = 2;\n                    if (fd == 0) {\n                        rightsBase = 2\n                    } else if (fd == 1 || fd == 2) {\n                        rightsBase = 64\n                    }\n                    flags = 1\n                }\n                HEAP8[pbuf >>> 0 >>> 0] = type;\n                HEAP16[pbuf + 2 >>> 1 >>> 0] = flags;\n                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];\n                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];\n                return 0\n            }\n\n            function _fd_pread(fd, iov, iovcnt, offset_low, offset_high, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                var offset = convertI32PairToI53Checked(offset_low, offset_high);\n                pnum >>>= 0;\n                return 52\n            }\n\n            function _fd_pwrite(fd, iov, iovcnt, offset_low, offset_high, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                var offset = convertI32PairToI53Checked(offset_low, offset_high);\n                pnum >>>= 0;\n                return 52\n            }\n\n            function _fd_read(fd, iov, iovcnt, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                pnum >>>= 0;\n                return 52\n            }\n\n            function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n                var offset = convertI32PairToI53Checked(offset_low, offset_high);\n                newOffset >>>= 0;\n                return 70\n            }\n            var _fd_sync = fd => 52;\n            var printCharBuffers = [null, [],\n                []\n            ];\n            var printChar = (stream, curr) => {\n                var buffer = printCharBuffers[stream];\n                if (curr === 0 || curr === 10) {\n                    (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));\n                    buffer.length = 0\n                } else {\n                    buffer.push(curr)\n                }\n            };\n\n            function _fd_write(fd, iov, iovcnt, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                pnum >>>= 0;\n                var num = 0;\n                for (var i = 0; i < iovcnt; i++) {\n                    var ptr = HEAPU32[iov >>> 2 >>> 0];\n                    var len = HEAPU32[iov + 4 >>> 2 >>> 0];\n                    iov += 8;\n                    for (var j = 0; j < len; j++) {\n                        printChar(fd, HEAPU8[ptr + j >>> 0])\n                    }\n                    num += len\n                }\n                HEAPU32[pnum >>> 2 >>> 0] = num;\n                return 0\n            }\n\n            function _getaddrinfo(node, service, hint, out) {\n                node >>>= 0;\n                service >>>= 0;\n                hint >>>= 0;\n                out >>>= 0;\n                var addr = 0;\n                var port = 0;\n                var flags = 0;\n                var family = 0;\n                var type = 0;\n                var proto = 0;\n                var ai;\n\n                function allocaddrinfo(family, type, proto, canon, addr, port) {\n                    var sa, salen, ai;\n                    var errno;\n                    salen = family === 10 ? 28 : 16;\n                    addr = family === 10 ? inetNtop6(addr) : inetNtop4(addr);\n                    sa = _malloc(salen);\n                    errno = writeSockaddr(sa, family, addr, port);\n                    assert(!errno);\n                    ai = _malloc(32);\n                    HEAP32[ai + 4 >>> 2 >>> 0] = family;\n                    HEAP32[ai + 8 >>> 2 >>> 0] = type;\n                    HEAP32[ai + 12 >>> 2 >>> 0] = proto;\n                    HEAPU32[ai + 24 >>> 2 >>> 0] = canon;\n                    HEAPU32[ai + 20 >>> 2 >>> 0] = sa;\n                    if (family === 10) {\n                        HEAP32[ai + 16 >>> 2 >>> 0] = 28\n                    } else {\n                        HEAP32[ai + 16 >>> 2 >>> 0] = 16\n                    }\n                    HEAP32[ai + 28 >>> 2 >>> 0] = 0;\n                    return ai\n                }\n                if (hint) {\n                    flags = HEAP32[hint >>> 2 >>> 0];\n                    family = HEAP32[hint + 4 >>> 2 >>> 0];\n                    type = HEAP32[hint + 8 >>> 2 >>> 0];\n                    proto = HEAP32[hint + 12 >>> 2 >>> 0]\n                }\n                if (type && !proto) {\n                    proto = type === 2 ? 17 : 6\n                }\n                if (!type && proto) {\n                    type = proto === 17 ? 2 : 1\n                }\n                if (proto === 0) {\n                    proto = 6\n                }\n                if (type === 0) {\n                    type = 1\n                }\n                if (!node && !service) {\n                    return -2\n                }\n                if (flags & ~(1 | 2 | 4 | 1024 | 8 | 16 | 32)) {\n                    return -1\n                }\n                if (hint !== 0 && HEAP32[hint >>> 2 >>> 0] & 2 && !node) {\n                    return -1\n                }\n                if (flags & 32) {\n                    return -2\n                }\n                if (type !== 0 && type !== 1 && type !== 2) {\n                    return -7\n                }\n                if (family !== 0 && family !== 2 && family !== 10) {\n                    return -6\n                }\n                if (service) {\n                    service = UTF8ToString(service);\n                    port = parseInt(service, 10);\n                    if (isNaN(port)) {\n                        if (flags & 1024) {\n                            return -2\n                        }\n                        return -8\n                    }\n                }\n                if (!node) {\n                    if (family === 0) {\n                        family = 2\n                    }\n                    if ((flags & 1) === 0) {\n                        if (family === 2) {\n                            addr = _htonl(2130706433)\n                        } else {\n                            addr = [0, 0, 0, 1]\n                        }\n                    }\n                    ai = allocaddrinfo(family, type, proto, null, addr, port);\n                    HEAPU32[out >>> 2 >>> 0] = ai;\n                    return 0\n                }\n                node = UTF8ToString(node);\n                addr = inetPton4(node);\n                if (addr !== null) {\n                    if (family === 0 || family === 2) {\n                        family = 2\n                    } else if (family === 10 && flags & 8) {\n                        addr = [0, 0, _htonl(65535), addr];\n                        family = 10\n                    } else {\n                        return -2\n                    }\n                } else {\n                    addr = inetPton6(node);\n                    if (addr !== null) {\n                        if (family === 0 || family === 10) {\n                            family = 10\n                        } else {\n                            return -2\n                        }\n                    }\n                }\n                if (addr != null) {\n                    ai = allocaddrinfo(family, type, proto, node, addr, port);\n                    HEAPU32[out >>> 2 >>> 0] = ai;\n                    return 0\n                }\n                if (flags & 4) {\n                    return -2\n                }\n                node = DNS.lookup_name(node);\n                addr = inetPton4(node);\n                if (family === 0) {\n                    family = 2\n                } else if (family === 10) {\n                    addr = [0, 0, _htonl(65535), addr]\n                }\n                ai = allocaddrinfo(family, type, proto, null, addr, port);\n                HEAPU32[out >>> 2 >>> 0] = ai;\n                return 0\n            }\n            var initRandomFill = () => {\n                if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n                    return view => crypto.getRandomValues(view)\n                } else if (ENVIRONMENT_IS_NODE) {\n                    try {\n                        var crypto_module = require(\"crypto\");\n                        var randomFillSync = crypto_module[\"randomFillSync\"];\n                        if (randomFillSync) {\n                            return view => crypto_module[\"randomFillSync\"](view)\n                        }\n                        var randomBytes = crypto_module[\"randomBytes\"];\n                        return view => (view.set(randomBytes(view.byteLength)), view)\n                    } catch (e) {}\n                }\n                abort(\"initRandomDevice\")\n            };\n            var randomFill = view => (randomFill = initRandomFill())(view);\n\n            function _getentropy(buffer, size) {\n                buffer >>>= 0;\n                size >>>= 0;\n                randomFill(HEAPU8.subarray(buffer >>> 0, buffer + size >>> 0));\n                return 0\n            }\n\n            function _getnameinfo(sa, salen, node, nodelen, serv, servlen, flags) {\n                sa >>>= 0;\n                node >>>= 0;\n                serv >>>= 0;\n                var info = readSockaddr(sa, salen);\n                if (info.errno) {\n                    return -6\n                }\n                var port = info.port;\n                var addr = info.addr;\n                var overflowed = false;\n                if (node && nodelen) {\n                    var lookup;\n                    if (flags & 1 || !(lookup = DNS.lookup_addr(addr))) {\n                        if (flags & 8) {\n                            return -2\n                        }\n                    } else {\n                        addr = lookup\n                    }\n                    var numBytesWrittenExclNull = stringToUTF8(addr, node, nodelen);\n                    if (numBytesWrittenExclNull + 1 >= nodelen) {\n                        overflowed = true\n                    }\n                }\n                if (serv && servlen) {\n                    port = \"\" + port;\n                    var numBytesWrittenExclNull = stringToUTF8(port, serv, servlen);\n                    if (numBytesWrittenExclNull + 1 >= servlen) {\n                        overflowed = true\n                    }\n                }\n                if (overflowed) {\n                    return -12\n                }\n                return 0\n            }\n\n            function _llvm_eh_typeid_for(type) {\n                type >>>= 0;\n                return type\n            }\n            var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n            var arraySum = (array, index) => {\n                var sum = 0;\n                for (var i = 0; i <= index; sum += array[i++]) {}\n                return sum\n            };\n            var MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n            var MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n            var addDays = (date, days) => {\n                var newDate = new Date(date.getTime());\n                while (days > 0) {\n                    var leap = isLeapYear(newDate.getFullYear());\n                    var currentMonth = newDate.getMonth();\n                    var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];\n                    if (days > daysInCurrentMonth - newDate.getDate()) {\n                        days -= daysInCurrentMonth - newDate.getDate() + 1;\n                        newDate.setDate(1);\n                        if (currentMonth < 11) {\n                            newDate.setMonth(currentMonth + 1)\n                        } else {\n                            newDate.setMonth(0);\n                            newDate.setFullYear(newDate.getFullYear() + 1)\n                        }\n                    } else {\n                        newDate.setDate(newDate.getDate() + days);\n                        return newDate\n                    }\n                }\n                return newDate\n            };\n            var lengthBytesUTF8 = str => {\n                var len = 0;\n                for (var i = 0; i < str.length; ++i) {\n                    var c = str.charCodeAt(i);\n                    if (c <= 127) {\n                        len++\n                    } else if (c <= 2047) {\n                        len += 2\n                    } else if (c >= 55296 && c <= 57343) {\n                        len += 4;\n                        ++i\n                    } else {\n                        len += 3\n                    }\n                }\n                return len\n            };\n\n            function intArrayFromString(stringy, dontAddNull, length) {\n                var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n                var u8array = new Array(len);\n                var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n                if (dontAddNull) u8array.length = numBytesWritten;\n                return u8array\n            }\n            var writeArrayToMemory = (array, buffer) => {\n                HEAP8.set(array, buffer >>> 0)\n            };\n\n            function _strftime(s, maxsize, format, tm) {\n                s >>>= 0;\n                maxsize >>>= 0;\n                format >>>= 0;\n                tm >>>= 0;\n                var tm_zone = HEAPU32[tm + 40 >>> 2 >>> 0];\n                var date = {\n                    tm_sec: HEAP32[tm >>> 2 >>> 0],\n                    tm_min: HEAP32[tm + 4 >>> 2 >>> 0],\n                    tm_hour: HEAP32[tm + 8 >>> 2 >>> 0],\n                    tm_mday: HEAP32[tm + 12 >>> 2 >>> 0],\n                    tm_mon: HEAP32[tm + 16 >>> 2 >>> 0],\n                    tm_year: HEAP32[tm + 20 >>> 2 >>> 0],\n                    tm_wday: HEAP32[tm + 24 >>> 2 >>> 0],\n                    tm_yday: HEAP32[tm + 28 >>> 2 >>> 0],\n                    tm_isdst: HEAP32[tm + 32 >>> 2 >>> 0],\n                    tm_gmtoff: HEAP32[tm + 36 >>> 2 >>> 0],\n                    tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n                };\n                var pattern = UTF8ToString(format);\n                var EXPANSION_RULES_1 = {\n                    \"%c\": \"%a %b %d %H:%M:%S %Y\",\n                    \"%D\": \"%m/%d/%y\",\n                    \"%F\": \"%Y-%m-%d\",\n                    \"%h\": \"%b\",\n                    \"%r\": \"%I:%M:%S %p\",\n                    \"%R\": \"%H:%M\",\n                    \"%T\": \"%H:%M:%S\",\n                    \"%x\": \"%m/%d/%y\",\n                    \"%X\": \"%H:%M:%S\",\n                    \"%Ec\": \"%c\",\n                    \"%EC\": \"%C\",\n                    \"%Ex\": \"%m/%d/%y\",\n                    \"%EX\": \"%H:%M:%S\",\n                    \"%Ey\": \"%y\",\n                    \"%EY\": \"%Y\",\n                    \"%Od\": \"%d\",\n                    \"%Oe\": \"%e\",\n                    \"%OH\": \"%H\",\n                    \"%OI\": \"%I\",\n                    \"%Om\": \"%m\",\n                    \"%OM\": \"%M\",\n                    \"%OS\": \"%S\",\n                    \"%Ou\": \"%u\",\n                    \"%OU\": \"%U\",\n                    \"%OV\": \"%V\",\n                    \"%Ow\": \"%w\",\n                    \"%OW\": \"%W\",\n                    \"%Oy\": \"%y\"\n                };\n                for (var rule in EXPANSION_RULES_1) {\n                    pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule])\n                }\n                var WEEKDAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n                var MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\n                function leadingSomething(value, digits, character) {\n                    var str = typeof value == \"number\" ? value.toString() : value || \"\";\n                    while (str.length < digits) {\n                        str = character[0] + str\n                    }\n                    return str\n                }\n\n                function leadingNulls(value, digits) {\n                    return leadingSomething(value, digits, \"0\")\n                }\n\n                function compareByDay(date1, date2) {\n                    function sgn(value) {\n                        return value < 0 ? -1 : value > 0 ? 1 : 0\n                    }\n                    var compare;\n                    if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n                        if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n                            compare = sgn(date1.getDate() - date2.getDate())\n                        }\n                    }\n                    return compare\n                }\n\n                function getFirstWeekStartDate(janFourth) {\n                    switch (janFourth.getDay()) {\n                        case 0:\n                            return new Date(janFourth.getFullYear() - 1, 11, 29);\n                        case 1:\n                            return janFourth;\n                        case 2:\n                            return new Date(janFourth.getFullYear(), 0, 3);\n                        case 3:\n                            return new Date(janFourth.getFullYear(), 0, 2);\n                        case 4:\n                            return new Date(janFourth.getFullYear(), 0, 1);\n                        case 5:\n                            return new Date(janFourth.getFullYear() - 1, 11, 31);\n                        case 6:\n                            return new Date(janFourth.getFullYear() - 1, 11, 30)\n                    }\n                }\n\n                function getWeekBasedYear(date) {\n                    var thisDate = addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n                    var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n                    var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n                    var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n                    var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n                    if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n                        if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n                            return thisDate.getFullYear() + 1\n                        }\n                        return thisDate.getFullYear()\n                    }\n                    return thisDate.getFullYear() - 1\n                }\n                var EXPANSION_RULES_2 = {\n                    \"%a\": date => WEEKDAYS[date.tm_wday].substring(0, 3),\n                    \"%A\": date => WEEKDAYS[date.tm_wday],\n                    \"%b\": date => MONTHS[date.tm_mon].substring(0, 3),\n                    \"%B\": date => MONTHS[date.tm_mon],\n                    \"%C\": date => {\n                        var year = date.tm_year + 1900;\n                        return leadingNulls(year / 100 | 0, 2)\n                    },\n                    \"%d\": date => leadingNulls(date.tm_mday, 2),\n                    \"%e\": date => leadingSomething(date.tm_mday, 2, \" \"),\n                    \"%g\": date => getWeekBasedYear(date).toString().substring(2),\n                    \"%G\": date => getWeekBasedYear(date),\n                    \"%H\": date => leadingNulls(date.tm_hour, 2),\n                    \"%I\": date => {\n                        var twelveHour = date.tm_hour;\n                        if (twelveHour == 0) twelveHour = 12;\n                        else if (twelveHour > 12) twelveHour -= 12;\n                        return leadingNulls(twelveHour, 2)\n                    },\n                    \"%j\": date => leadingNulls(date.tm_mday + arraySum(isLeapYear(date.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date.tm_mon - 1), 3),\n                    \"%m\": date => leadingNulls(date.tm_mon + 1, 2),\n                    \"%M\": date => leadingNulls(date.tm_min, 2),\n                    \"%n\": () => \"\\n\",\n                    \"%p\": date => {\n                        if (date.tm_hour >= 0 && date.tm_hour < 12) {\n                            return \"AM\"\n                        }\n                        return \"PM\"\n                    },\n                    \"%S\": date => leadingNulls(date.tm_sec, 2),\n                    \"%t\": () => \"\\t\",\n                    \"%u\": date => date.tm_wday || 7,\n                    \"%U\": date => {\n                        var days = date.tm_yday + 7 - date.tm_wday;\n                        return leadingNulls(Math.floor(days / 7), 2)\n                    },\n                    \"%V\": date => {\n                        var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n                        if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n                            val++\n                        }\n                        if (!val) {\n                            val = 52;\n                            var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n                            if (dec31 == 4 || dec31 == 5 && isLeapYear(date.tm_year % 400 - 1)) {\n                                val++\n                            }\n                        } else if (val == 53) {\n                            var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n                            if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date.tm_year))) val = 1\n                        }\n                        return leadingNulls(val, 2)\n                    },\n                    \"%w\": date => date.tm_wday,\n                    \"%W\": date => {\n                        var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n                        return leadingNulls(Math.floor(days / 7), 2)\n                    },\n                    \"%y\": date => (date.tm_year + 1900).toString().substring(2),\n                    \"%Y\": date => date.tm_year + 1900,\n                    \"%z\": date => {\n                        var off = date.tm_gmtoff;\n                        var ahead = off >= 0;\n                        off = Math.abs(off) / 60;\n                        off = off / 60 * 100 + off % 60;\n                        return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4)\n                    },\n                    \"%Z\": date => date.tm_zone,\n                    \"%%\": () => \"%\"\n                };\n                pattern = pattern.replace(/%%/g, \"\\0\\0\");\n                for (var rule in EXPANSION_RULES_2) {\n                    if (pattern.includes(rule)) {\n                        pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date))\n                    }\n                }\n                pattern = pattern.replace(/\\0\\0/g, \"%\");\n                var bytes = intArrayFromString(pattern, false);\n                if (bytes.length > maxsize) {\n                    return 0\n                }\n                writeArrayToMemory(bytes, s);\n                return bytes.length - 1\n            }\n\n            function _strftime_l(s, maxsize, format, tm, loc) {\n                s >>>= 0;\n                maxsize >>>= 0;\n                format >>>= 0;\n                tm >>>= 0;\n                loc >>>= 0;\n                return _strftime(s, maxsize, format, tm)\n            }\n            var handleException = e => {\n                if (e instanceof ExitStatus || e == \"unwind\") {\n                    return EXITSTATUS\n                }\n                quit_(1, e)\n            };\n            var wasmTableMirror = [];\n            var getWasmTableEntry = funcPtr => {\n                var func = wasmTableMirror[funcPtr];\n                if (!func) {\n                    if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;\n                    wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr)\n                }\n                return func\n            };\n            var getCFunc = ident => {\n                var func = Module[\"_\" + ident];\n                return func\n            };\n            var stringToUTF8OnStack = str => {\n                var size = lengthBytesUTF8(str) + 1;\n                var ret = stackAlloc(size);\n                stringToUTF8(str, ret, size);\n                return ret\n            };\n            var ccall = (ident, returnType, argTypes, args, opts) => {\n                var toC = {\n                    \"string\": str => {\n                        var ret = 0;\n                        if (str !== null && str !== undefined && str !== 0) {\n                            ret = stringToUTF8OnStack(str)\n                        }\n                        return ret\n                    },\n                    \"array\": arr => {\n                        var ret = stackAlloc(arr.length);\n                        writeArrayToMemory(arr, ret);\n                        return ret\n                    }\n                };\n\n                function convertReturnValue(ret) {\n                    if (returnType === \"string\") {\n                        return UTF8ToString(ret)\n                    }\n                    if (returnType === \"boolean\") return Boolean(ret);\n                    return ret\n                }\n                var func = getCFunc(ident);\n                var cArgs = [];\n                var stack = 0;\n                if (args) {\n                    for (var i = 0; i < args.length; i++) {\n                        var converter = toC[argTypes[i]];\n                        if (converter) {\n                            if (stack === 0) stack = stackSave();\n                            cArgs[i] = converter(args[i])\n                        } else {\n                            cArgs[i] = args[i]\n                        }\n                    }\n                }\n                var ret = func.apply(null, cArgs);\n\n                function onDone(ret) {\n                    if (stack !== 0) stackRestore(stack);\n                    return convertReturnValue(ret)\n                }\n                ret = onDone(ret);\n                return ret\n            };\n            var wasmImports = {\n                ta: __ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm,\n                q: ___cxa_begin_catch,\n                v: ___cxa_end_catch,\n                a: ___cxa_find_matching_catch_2,\n                k: ___cxa_find_matching_catch_3,\n                C: ___cxa_find_matching_catch_4,\n                Ba: ___cxa_rethrow,\n                t: ___cxa_throw,\n                F: ___cxa_uncaught_exceptions,\n                c: ___resumeException,\n                Wa: ___syscall_bind,\n                Va: ___syscall_connect,\n                fg: ___syscall_faccessat,\n                T: ___syscall_fcntl64,\n                eg: ___syscall_fstat64,\n                Nb: ___syscall_ftruncate64,\n                $f: ___syscall_getdents64,\n                Qa: ___syscall_getpeername,\n                Pa: ___syscall_getsockname,\n                Ta: ___syscall_getsockopt,\n                ya: ___syscall_ioctl,\n                bg: ___syscall_lstat64,\n                ag: ___syscall_mkdirat,\n                cg: ___syscall_newfstatat,\n                za: ___syscall_openat,\n                Ua: ___syscall_poll,\n                Ra: ___syscall_recvfrom,\n                Zf: ___syscall_renameat,\n                Ia: ___syscall_rmdir,\n                Sa: ___syscall_sendto,\n                wa: ___syscall_socket,\n                dg: ___syscall_stat64,\n                gg: ___syscall_statfs64,\n                Ja: ___syscall_unlinkat,\n                _a: __emscripten_get_now_is_monotonic,\n                M: _abort,\n                Qf: _duckdb_web_fs_directory_create,\n                Rf: _duckdb_web_fs_directory_exists,\n                Of: _duckdb_web_fs_directory_list_files,\n                Pf: _duckdb_web_fs_directory_remove,\n                Da: _duckdb_web_fs_file_close,\n                Mf: _duckdb_web_fs_file_exists,\n                tb: _duckdb_web_fs_file_get_last_modified_time,\n                Nf: _duckdb_web_fs_file_move,\n                Tf: _duckdb_web_fs_file_open,\n                la: _duckdb_web_fs_file_read,\n                Sf: _duckdb_web_fs_file_truncate,\n                Ea: _duckdb_web_fs_file_write,\n                Uf: _duckdb_web_fs_get_default_data_protocol,\n                Lf: _duckdb_web_fs_glob,\n                Ca: _duckdb_web_test_platform_feature,\n                Vf: _duckdb_web_udf_scalar_call,\n                $a: _emscripten_date_now,\n                ab: _emscripten_get_heap_max,\n                ka: _emscripten_get_now,\n                Be: _emscripten_memcpy_big,\n                ig: _emscripten_resize_heap,\n                nc: _environ_get,\n                yc: _environ_sizes_get,\n                Wf: _exit,\n                ca: _fd_close,\n                Za: _fd_fdstat_get,\n                Pb: _fd_pread,\n                Ob: _fd_pwrite,\n                xa: _fd_read,\n                vf: _fd_seek,\n                _f: _fd_sync,\n                ra: _fd_write,\n                Xa: _getaddrinfo,\n                Yf: _getentropy,\n                va: _getnameinfo,\n                G: invoke_di,\n                V: invoke_dii,\n                W: invoke_diii,\n                Ya: invoke_diiid,\n                aa: invoke_diiii,\n                Xf: invoke_diiiid,\n                P: invoke_diiiiid,\n                Gc: invoke_diiji,\n                fb: invoke_diijj,\n                gd: invoke_dij,\n                _b: invoke_dijjjj,\n                Xb: invoke_dijjjjij,\n                S: invoke_fi,\n                ja: invoke_fiii,\n                ma: invoke_fiiii,\n                Hc: invoke_fiiji,\n                $b: invoke_fijjjj,\n                Yb: invoke_fijjjjij,\n                o: invoke_i,\n                Y: invoke_id,\n                hg: invoke_idd,\n                Ma: invoke_idi,\n                Q: invoke_idii,\n                fa: invoke_idiii,\n                ea: invoke_idiiii,\n                ga: invoke_if,\n                Ka: invoke_iff,\n                Na: invoke_ifi,\n                R: invoke_ifii,\n                d: invoke_ii,\n                J: invoke_iid,\n                Ha: invoke_iidi,\n                L: invoke_iidii,\n                Ga: invoke_iidiii,\n                Fa: invoke_iidiiii,\n                fc: invoke_iidj,\n                sa: invoke_iif,\n                da: invoke_iifii,\n                b: invoke_iii,\n                X: invoke_iiid,\n                Rc: invoke_iiidj,\n                g: invoke_iiii,\n                La: invoke_iiiid,\n                Pc: invoke_iiiidjj,\n                j: invoke_iiiii,\n                Aa: invoke_iiiiid,\n                p: invoke_iiiiii,\n                Oa: invoke_iiiiiid,\n                x: invoke_iiiiiii,\n                w: invoke_iiiiiiii,\n                H: invoke_iiiiiiiii,\n                _: invoke_iiiiiiiiii,\n                ia: invoke_iiiiiiiiiii,\n                hb: invoke_iiiiiiiiiiidji,\n                $: invoke_iiiiiiiiiiii,\n                s: invoke_iiiiiiiiiiiii,\n                A: invoke_iiiiiiiiiiiiii,\n                D: invoke_iiiiiiiiiiiiiiiii,\n                r: invoke_iiiiiiiiiiiiiiiiii,\n                wd: invoke_iiiiiiiiiijii,\n                Qc: invoke_iiiiiiiiiijiiiiiii,\n                Oc: invoke_iiiiiiiiiji,\n                mf: invoke_iiiiiiiij,\n                sb: invoke_iiiiiiiijji,\n                Dd: invoke_iiiiiiij,\n                jd: invoke_iiiiiiiji,\n                te: invoke_iiiiiiijii,\n                vd: invoke_iiiiiiijj,\n                zd: invoke_iiiiiiijjjjjjii,\n                nf: invoke_iiiiiij,\n                ne: invoke_iiiiiiji,\n                eb: invoke_iiiiiijii,\n                hd: invoke_iiiiiijji,\n                jc: invoke_iiiiiijjiiiiiii,\n                _d: invoke_iiiiiijjiijjji,\n                xf: invoke_iiiiij,\n                id: invoke_iiiiiji,\n                ve: invoke_iiiiijii,\n                Fc: invoke_iiiiijiii,\n                ic: invoke_iiiiijiiii,\n                sd: invoke_iiiiijij,\n                wf: invoke_iiiiijj,\n                ob: invoke_iiiiijjj,\n                qb: invoke_iiiiijjji,\n                Df: invoke_iiiij,\n                Cf: invoke_iiiiji,\n                re: invoke_iiiijii,\n                Ld: invoke_iiiijiii,\n                qc: invoke_iiiijiijjiii,\n                kb: invoke_iiiijijj,\n                rb: invoke_iiiijijjii,\n                Jd: invoke_iiiijj,\n                Xd: invoke_iiiijji,\n                Yd: invoke_iiiijjii,\n                of: invoke_iiiijjiii,\n                ee: invoke_iiiijjj,\n                pc: invoke_iiiijjjj,\n                Gf: invoke_iiij,\n                af: invoke_iiiji,\n                oe: invoke_iiijii,\n                xd: invoke_iiijiii,\n                Nc: invoke_iiijiiiij,\n                wb: invoke_iiijiiiijj,\n                Mc: invoke_iiijiiij,\n                Wb: invoke_iiijiiiji,\n                Gb: invoke_iiijiiijj,\n                oc: invoke_iiijiij,\n                Fb: invoke_iiijiijj,\n                df: invoke_iiijij,\n                Dc: invoke_iiijijj,\n                Hf: invoke_iiijj,\n                qe: invoke_iiijji,\n                Wd: invoke_iiijjii,\n                Fd: invoke_iiijjiii,\n                Sc: invoke_iiijjijj,\n                Zd: invoke_iiijjijjiii,\n                le: invoke_iiijjj,\n                yb: invoke_iiijjji,\n                pb: invoke_iiijjjii,\n                Td: invoke_iiijjjj,\n                Ef: invoke_iij,\n                gf: invoke_iiji,\n                Kd: invoke_iijii,\n                ue: invoke_iijiii,\n                Hd: invoke_iijiiii,\n                mc: invoke_iijiiiiiij,\n                vb: invoke_iijiiijj,\n                Vb: invoke_iijiiji,\n                xb: invoke_iijiijj,\n                se: invoke_iijiji,\n                nb: invoke_iijijii,\n                kf: invoke_iijj,\n                Ed: invoke_iijji,\n                pe: invoke_iijjii,\n                Gd: invoke_iijjiiiii,\n                db: invoke_iijjij,\n                Ye: invoke_iijjj,\n                cc: invoke_iijjjj,\n                ef: invoke_ij,\n                Te: invoke_iji,\n                kd: invoke_ijii,\n                Vc: invoke_ijji,\n                dd: invoke_ijjiii,\n                yd: invoke_ijjj,\n                pf: invoke_j,\n                rf: invoke_jd,\n                qf: invoke_jf,\n                Af: invoke_ji,\n                zf: invoke_jii,\n                jf: invoke_jiii,\n                Kf: invoke_jiiii,\n                me: invoke_jiiiii,\n                Bc: invoke_jiiiiii,\n                qd: invoke_jiiiiiii,\n                vc: invoke_jiiiiijiiii,\n                nd: invoke_jiiiij,\n                We: invoke_jiiiiji,\n                xc: invoke_jiiiijii,\n                Cc: invoke_jiiiijiiii,\n                Ac: invoke_jiiiijiiiii,\n                Vd: invoke_jiiij,\n                fe: invoke_jiiiji,\n                De: invoke_jiiijii,\n                Ge: invoke_jiiijiii,\n                Ie: invoke_jiiijiijiii,\n                ld: invoke_jiiijj,\n                ud: invoke_jiiijjj,\n                ie: invoke_jiij,\n                $d: invoke_jiiji,\n                wc: invoke_jiijiiii,\n                od: invoke_jiijj,\n                zc: invoke_jiijjjii,\n                Od: invoke_jij,\n                mb: invoke_jijiiii,\n                Nd: invoke_jijij,\n                Mb: invoke_jijj,\n                ke: invoke_jijjij,\n                ub: invoke_jijjjj,\n                sf: invoke_jj,\n                ed: invoke_jji,\n                Wc: invoke_jjj,\n                $c: invoke_jjjd,\n                ac: invoke_jjjii,\n                dc: invoke_jjjji,\n                l: invoke_v,\n                h: invoke_vi,\n                B: invoke_vid,\n                ua: invoke_viddddi,\n                pa: invoke_vidi,\n                E: invoke_vif,\n                qa: invoke_vifi,\n                e: invoke_vii,\n                U: invoke_viid,\n                fd: invoke_viiddji,\n                Z: invoke_viidii,\n                f: invoke_viii,\n                na: invoke_viiidi,\n                oa: invoke_viiifi,\n                i: invoke_viiii,\n                m: invoke_viiiii,\n                n: invoke_viiiiii,\n                z: invoke_viiiiiii,\n                u: invoke_viiiiiiii,\n                N: invoke_viiiiiiiii,\n                I: invoke_viiiiiiiiii,\n                K: invoke_viiiiiiiiiii,\n                ba: invoke_viiiiiiiiiiii,\n                ha: invoke_viiiiiiiiiiiiiii,\n                ec: invoke_viiiiiiij,\n                Rb: invoke_viiiiiiijjjji,\n                Id: invoke_viiiiiij,\n                Sb: invoke_viiiiiijii,\n                ye: invoke_viiiiij,\n                be: invoke_viiiiiji,\n                Kc: invoke_viiiiijii,\n                Yc: invoke_viiiiijiii,\n                _c: invoke_viiiiijiiii,\n                Ub: invoke_viiiiijj,\n                Tb: invoke_viiiiijjii,\n                Jb: invoke_viiiiijjji,\n                bf: invoke_viiiij,\n                xe: invoke_viiiiji,\n                Jc: invoke_viiiijii,\n                Db: invoke_viiiijiii,\n                Tc: invoke_viiiijiiii,\n                Uc: invoke_viiiijiiiii,\n                Xc: invoke_viiiijiiiiiiii,\n                kc: invoke_viiiijiijjii,\n                jb: invoke_viiiijijj,\n                Ce: invoke_viiiijijji,\n                Ic: invoke_viiiijijjj,\n                Zb: invoke_viiiijj,\n                $e: invoke_viiiijji,\n                Ae: invoke_viiiijjij,\n                ib: invoke_viiiijjjj,\n                Bf: invoke_viiij,\n                Ad: invoke_viiijd,\n                gb: invoke_viiijdjji,\n                Ze: invoke_viiiji,\n                ff: invoke_viiijii,\n                md: invoke_viiijiii,\n                ze: invoke_viiijiiii,\n                Le: invoke_viiijiiiijjj,\n                we: invoke_viiijiiijii,\n                Je: invoke_viiijiij,\n                rc: invoke_viiijij,\n                lb: invoke_viiijiji,\n                sc: invoke_viiijijij,\n                td: invoke_viiijijj,\n                Eb: invoke_viiijijjj,\n                Ff: invoke_viiijj,\n                _e: invoke_viiijji,\n                Ud: invoke_viiijjii,\n                pd: invoke_viiijjiii,\n                Pe: invoke_viiijjij,\n                Se: invoke_viiijjj,\n                Ue: invoke_viiijjjj,\n                If: invoke_viij,\n                uc: invoke_viijd,\n                cf: invoke_viiji,\n                yf: invoke_viijii,\n                Oe: invoke_viijiii,\n                Ab: invoke_viijiiii,\n                Sd: invoke_viijiiiii,\n                bc: invoke_viijiiiiii,\n                Me: invoke_viijiiiij,\n                Rd: invoke_viijiiij,\n                Pd: invoke_viijiij,\n                ge: invoke_viijiiji,\n                Ib: invoke_viijiijj,\n                lc: invoke_viijiijji,\n                hf: invoke_viijij,\n                Cb: invoke_viijiji,\n                He: invoke_viijijiiii,\n                Ke: invoke_viijijiiiijjj,\n                Kb: invoke_viijijj,\n                Jf: invoke_viijj,\n                Md: invoke_viijji,\n                rd: invoke_viijjii,\n                Xe: invoke_viijjj,\n                Re: invoke_viijjji,\n                tc: invoke_viijjjji,\n                tf: invoke_vij,\n                uf: invoke_viji,\n                Ee: invoke_vijii,\n                Fe: invoke_vijiii,\n                Bd: invoke_vijiiii,\n                Lc: invoke_vijiiiii,\n                Cd: invoke_vijiiiiii,\n                Bb: invoke_vijiiiiji,\n                Qd: invoke_vijiiiji,\n                Hb: invoke_vijiij,\n                bb: invoke_vijij,\n                bd: invoke_vijiji,\n                Ec: invoke_vijijiiiijjj,\n                Ne: invoke_vijijiij,\n                Ve: invoke_vijijj,\n                Lb: invoke_vijijjji,\n                Qe: invoke_vijj,\n                de: invoke_vijji,\n                cb: invoke_vijjii,\n                zb: invoke_vijjiii,\n                ad: invoke_vijjij,\n                ce: invoke_vijjj,\n                ae: invoke_vijjji,\n                gc: invoke_vj,\n                Qb: invoke_vji,\n                Zc: invoke_vjii,\n                lf: invoke_vjiii,\n                cd: invoke_vjiiii,\n                hc: invoke_vjiiij,\n                je: invoke_vjjii,\n                he: invoke_vjjijij,\n                y: _llvm_eh_typeid_for,\n                O: _strftime_l\n            };\n            var wasmExports = createWasm();\n            var _main = Module[\"_main\"] = (a0, a1) => (_main = Module[\"_main\"] = wasmExports[\"lg\"])(a0, a1);\n            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[\"ng\"])(a0);\n            var _duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = () => (_duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = wasmExports[\"og\"])();\n            var _duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = a0 => (_duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = wasmExports[\"pg\"])(a0);\n            var _duckdb_web_reset = Module[\"_duckdb_web_reset\"] = a0 => (_duckdb_web_reset = Module[\"_duckdb_web_reset\"] = wasmExports[\"qg\"])(a0);\n            var _duckdb_web_connect = Module[\"_duckdb_web_connect\"] = () => (_duckdb_web_connect = Module[\"_duckdb_web_connect\"] = wasmExports[\"rg\"])();\n            var _duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = a0 => (_duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = wasmExports[\"sg\"])(a0);\n            var _duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = () => (_duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = wasmExports[\"tg\"])();\n            var _duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = a0 => (_duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = wasmExports[\"ug\"])(a0);\n            var _duckdb_web_open = Module[\"_duckdb_web_open\"] = (a0, a1) => (_duckdb_web_open = Module[\"_duckdb_web_open\"] = wasmExports[\"vg\"])(a0, a1);\n            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[\"wg\"])(a0, a1);\n            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[\"xg\"])(a0, a1, a2);\n            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[\"yg\"])(a0, a1);\n            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[\"zg\"])(a0, a1);\n            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[\"Ag\"])(a0);\n            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[\"Bg\"])(a0, a1);\n            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[\"Cg\"])(a0, a1, a2);\n            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[\"Dg\"])(a0, a1, a2);\n            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[\"Eg\"])(a0, a1, a2, a3, a4);\n            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[\"Fg\"])(a0, a1, a2, a3);\n            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[\"Gg\"])(a0, a1);\n            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[\"Hg\"])(a0, a1, a2);\n            var _duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = a0 => (_duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = wasmExports[\"Ig\"])(a0);\n            var _duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = () => (_duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = wasmExports[\"Jg\"])();\n            var _duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = (a0, a1) => (_duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = wasmExports[\"Kg\"])(a0, a1);\n            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[\"Lg\"])(a0, a1, a2);\n            var _duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = (a0, a1, a2) => (_duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = wasmExports[\"Mg\"])(a0, a1, a2);\n            var _duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = (a0, a1, a2) => (_duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = wasmExports[\"Ng\"])(a0, a1, a2);\n            var _duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = wasmExports[\"Og\"])(a0, a1, a2, a3);\n            var _duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = wasmExports[\"Pg\"])(a0, a1, a2, a3);\n            var _duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = (a0, a1, a2) => (_duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = wasmExports[\"Qg\"])(a0, a1, a2);\n            var _duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = wasmExports[\"Rg\"])(a0, a1, a2, a3);\n            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[\"Sg\"])(a0, a1, a2);\n            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[\"Tg\"])(a0, a1, a2);\n            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[\"Ug\"])(a0, a1);\n            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[\"Vg\"])(a0, a1);\n            var _duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = (a0, a1, a2) => (_duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = wasmExports[\"Wg\"])(a0, a1, a2);\n            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[\"Xg\"])(a0, a1, a2, a3, a4);\n            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[\"Yg\"])(a0, a1, a2, a3);\n            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[\"Zg\"])(a0, a1, a2, a3);\n            var _malloc = Module[\"_malloc\"] = a0 => (_malloc = Module[\"_malloc\"] = wasmExports[\"bh\"])(a0);\n            var _free = Module[\"_free\"] = a0 => (_free = Module[\"_free\"] = wasmExports[\"ch\"])(a0);\n            var stackSave = () => (stackSave = wasmExports[\"fh\"])();\n            var stackRestore = a0 => (stackRestore = wasmExports[\"gh\"])(a0);\n            var stackAlloc = a0 => (stackAlloc = wasmExports[\"hh\"])(a0);\n\n            function invoke_ii(index, a1) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_v(index) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)()\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vii(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vi(index, a1) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iii(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_fiii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viid(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_i(index) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)()\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiid(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diiid(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_if(index, a1) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_id(index, a1) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_di(index, a1) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vid(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vif(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_fi(index, a1) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iidii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_idiii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iid(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diiii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiid(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_dii(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiid(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ifii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_idii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ifi(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_idi(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_idiiii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vifi(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vidi(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viidii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viddddi(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diiiiid(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiid(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iff(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_idd(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diiiid(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iif(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iidi(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iidiii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iidiiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iifii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiifi(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiidi(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    getWasmTableEntry(index)(a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_fiiii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return getWasmTableEntry(index)(a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiii(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijj(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijj(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viij(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    dynCall_viij(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijj(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijj(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiij(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiij(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijj(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijj(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iij(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iij(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiij(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiij(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiji(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiji(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiij(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiij(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ji(index, a1) {\n                var sp = stackSave();\n                try {\n                    return dynCall_ji(index, a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jii(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jii(index, a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiij(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiij(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viji(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    dynCall_viji(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vij(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    dynCall_vij(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jj(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jj(index, a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jd(index, a1) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jd(index, a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jf(index, a1) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jf(index, a1)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_j(index) {\n                var sp = stackSave();\n                try {\n                    return dynCall_j(index)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiij(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiij(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vjiii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    dynCall_vjiii(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijj(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijj(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiii(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiii(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijij(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijij(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiji(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiji(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ij(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    return dynCall_ij(index, a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijij(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijij(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiji(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiji(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiij(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiij(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiji(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiji(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiji(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiji(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijjj(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijjj(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijjj(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijjj(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiiji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiiji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijijj(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijijj(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iji(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iji(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijj(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijj(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijijiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijijiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijijiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijijiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiijiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiijiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijii(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiijii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiijii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiij(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiij(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijjii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijjii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiii(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jijjij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jijjij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vjjii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_vjjii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiij(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiij(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vjjijij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_vjjijij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiji(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiji(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijji(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijji(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijjj(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijjj(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijjji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijjji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiji(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiji(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiijjiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiijjiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiij(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiij(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jij(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jij(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jijij(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jijij(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijii(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijii(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijj(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijj(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijjiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijjiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijji(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijji(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijd(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijd(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiijjjjjjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiijjjjjjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ijjj(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_ijjj(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijjii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijjii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiiiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiijj(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiijj(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiij(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiij(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiijj(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiijj(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ijii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_ijii(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_dij(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return dynCall_dij(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiddji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiddji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jji(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jji(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ijjiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_ijjiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vjiiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_vjiiii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijjij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijjij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jjjd(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jjjd(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vjii(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    dynCall_vjii(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jjj(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jjj(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_ijji(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_ijji(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiidj(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiidj(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiijiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiiiijiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiidjj(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiidjj(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_fiiji(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_fiiji(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diiji(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_diiji(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijijiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijijiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiiii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiiii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiijiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiijjjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiijjjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jiiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jiiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijd(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijd(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijjjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijjjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijijij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijijij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijiijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiijjiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiijjiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vjiiij(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_vjiiij(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vj(index, a1, a2) {\n                var sp = stackSave();\n                try {\n                    dynCall_vj(index, a1, a2)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iidj(index, a1, a2, a3, a4) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iidj(index, a1, a2, a3, a4)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiiiij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jjjji(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jjjji(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jjjii(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jjjii(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_fijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_fijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_dijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_dijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_fijjjjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return dynCall_fijjjjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_dijjjjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return dynCall_dijjjjij(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiiji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiiji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiiiijjjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiiiijjjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vji(index, a1, a2, a3) {\n                var sp = stackSave();\n                try {\n                    dynCall_vji(index, a1, a2, a3)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jijj(index, a1, a2, a3, a4, a5) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jijj(index, a1, a2, a3, a4, a5)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiij(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiij(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiji(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiji(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_viijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijiiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijiiijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijijjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiijjjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiijjjii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiijjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijijii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijijii(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_jijiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    return dynCall_jijiiii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijiji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiiijjjj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiiiiiiidji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiiiiiiidji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_viiijdjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n                var sp = stackSave();\n                try {\n                    dynCall_viiijdjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_diijj(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    return dynCall_diijj(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iiiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_iijjij(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n                var sp = stackSave();\n                try {\n                    return dynCall_iijjij(index, a1, a2, a3, a4, a5, a6, a7, a8)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijjii(index, a1, a2, a3, a4, a5, a6, a7) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijjii(index, a1, a2, a3, a4, a5, a6, a7)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function invoke_vijij(index, a1, a2, a3, a4, a5, a6) {\n                var sp = stackSave();\n                try {\n                    dynCall_vijij(index, a1, a2, a3, a4, a5, a6)\n                } catch (e) {\n                    stackRestore(sp);\n                    if (e !== e + 0) throw e;\n                    _setThrew(1, 0)\n                }\n            }\n\n            function applySignatureConversions(wasmExports) {\n                wasmExports = Object.assign({}, wasmExports);\n                var makeWrapper_p = f => () => f() >>> 0;\n                var makeWrapper_pp = f => a0 => f(a0) >>> 0;\n                wasmExports[\"__errno_location\"] = makeWrapper_p(wasmExports[\"__errno_location\"]);\n                wasmExports[\"bh\"] = makeWrapper_pp(wasmExports[\"bh\"]);\n                wasmExports[\"fh\"] = makeWrapper_p(wasmExports[\"fh\"]);\n                wasmExports[\"hh\"] = makeWrapper_pp(wasmExports[\"hh\"]);\n                return wasmExports\n            }\n            Module[\"stackAlloc\"] = stackAlloc;\n            Module[\"stackSave\"] = stackSave;\n            Module[\"stackRestore\"] = stackRestore;\n            Module[\"ccall\"] = ccall;\n            var calledRun;\n            dependenciesFulfilled = function runCaller() {\n                if (!calledRun) run();\n                if (!calledRun) dependenciesFulfilled = runCaller\n            };\n\n            function callMain() {\n                var entryFunction = _main;\n                var argc = 0;\n                var argv = 0;\n                try {\n                    var ret = entryFunction(argc, argv);\n                    exitJS(ret, true);\n                    return ret\n                } catch (e) {\n                    return handleException(e)\n                }\n            }\n\n            function run() {\n                if (runDependencies > 0) {\n                    return\n                }\n                preRun();\n                if (runDependencies > 0) {\n                    return\n                }\n\n                function doRun() {\n                    if (calledRun) return;\n                    calledRun = true;\n                    Module[\"calledRun\"] = true;\n                    if (ABORT) return;\n                    initRuntime();\n                    preMain();\n                    readyPromiseResolve(Module);\n                    if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n                    if (shouldRunNow) callMain();\n                    postRun()\n                }\n                if (Module[\"setStatus\"]) {\n                    Module[\"setStatus\"](\"Running...\");\n                    setTimeout(function() {\n                        setTimeout(function() {\n                            Module[\"setStatus\"](\"\")\n                        }, 1);\n                        doRun()\n                    }, 1)\n                } else {\n                    doRun()\n                }\n            }\n            if (Module[\"preInit\"]) {\n                if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [Module[\"preInit\"]];\n                while (Module[\"preInit\"].length > 0) {\n                    Module[\"preInit\"].pop()()\n                }\n            }\n            var shouldRunNow = true;\n            if (Module[\"noInitialRun\"]) shouldRunNow = false;\n            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", "var DuckDB = (() => {\n    var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n    if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n    return (\n        function(moduleArg = {}) {\n\n            var Module = moduleArg;\n            var readyPromiseResolve, readyPromiseReject;\n            Module[\"ready\"] = new Promise((resolve, reject) => {\n                readyPromiseResolve = resolve;\n                readyPromiseReject = reject\n            });\n            var moduleOverrides = Object.assign({}, Module);\n            var arguments_ = [];\n            var thisProgram = \"./this.program\";\n            var quit_ = (status, toThrow) => {\n                throw toThrow\n            };\n            var ENVIRONMENT_IS_WEB = typeof window == \"object\";\n            var ENVIRONMENT_IS_WORKER = typeof importScripts == \"function\";\n            var ENVIRONMENT_IS_NODE = typeof process == \"object\" && typeof process.versions == \"object\" && typeof process.versions.node == \"string\";\n            var scriptDirectory = \"\";\n\n            function locateFile(path) {\n                if (Module[\"locateFile\"]) {\n                    return Module[\"locateFile\"](path, scriptDirectory)\n                }\n                return scriptDirectory + path\n            }\n            var read_, readAsync, readBinary, setWindowTitle;\n            if (ENVIRONMENT_IS_NODE) {\n                var fs = require(\"fs\");\n                var nodePath = require(\"path\");\n                if (ENVIRONMENT_IS_WORKER) {\n                    scriptDirectory = nodePath.dirname(scriptDirectory) + \"/\"\n                } else {\n                    scriptDirectory = __dirname + \"/\"\n                }\n                read_ = (filename, binary) => {\n                    filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);\n                    return fs.readFileSync(filename, binary ? undefined : \"utf8\")\n                };\n                readBinary = filename => {\n                    var ret = read_(filename, true);\n                    if (!ret.buffer) {\n                        ret = new Uint8Array(ret)\n                    }\n                    return ret\n                };\n                readAsync = (filename, onload, onerror, binary = true) => {\n                    filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);\n                    fs.readFile(filename, binary ? undefined : \"utf8\", (err, data) => {\n                        if (err) onerror(err);\n                        else onload(binary ? data.buffer : data)\n                    })\n                };\n                if (!Module[\"thisProgram\"] && process.argv.length > 1) {\n                    thisProgram = process.argv[1].replace(/\\\\/g, \"/\")\n                }\n                arguments_ = process.argv.slice(2);\n                quit_ = (status, toThrow) => {\n                    process.exitCode = status;\n                    throw toThrow\n                };\n                Module[\"inspect\"] = () => \"[Emscripten Module object]\"\n            } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n                if (ENVIRONMENT_IS_WORKER) {\n                    scriptDirectory = self.location.href\n                } else if (typeof document != \"undefined\" && document.currentScript) {\n                    scriptDirectory = document.currentScript.src\n                }\n                if (_scriptDir) {\n                    scriptDirectory = _scriptDir\n                }\n                if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n                    scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1)\n                } else {\n                    scriptDirectory = \"\"\n                } {\n                    read_ = url => {\n                        var xhr = new XMLHttpRequest;\n                        xhr.open(\"GET\", url, false);\n                        xhr.send(null);\n                        return xhr.responseText\n                    };\n                    if (ENVIRONMENT_IS_WORKER) {\n                        readBinary = url => {\n                            var xhr = new XMLHttpRequest;\n                            xhr.open(\"GET\", url, false);\n                            xhr.responseType = \"arraybuffer\";\n                            xhr.send(null);\n                            return new Uint8Array(xhr.response)\n                        }\n                    }\n                    readAsync = (url, onload, onerror) => {\n                        var xhr = new XMLHttpRequest;\n                        xhr.open(\"GET\", url, true);\n                        xhr.responseType = \"arraybuffer\";\n                        xhr.onload = () => {\n                            if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n                                onload(xhr.response);\n                                return\n                            }\n                            onerror()\n                        };\n                        xhr.onerror = onerror;\n                        xhr.send(null)\n                    }\n                }\n                setWindowTitle = title => document.title = title\n            } else {}\n            var out = Module[\"print\"] || console.log.bind(console);\n            var err = Module[\"printErr\"] || console.error.bind(console);\n            Object.assign(Module, moduleOverrides);\n            moduleOverrides = null;\n            if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n            if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n            if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n            var wasmBinary;\n            if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n            var noExitRuntime = Module[\"noExitRuntime\"] || true;\n            if (typeof WebAssembly != \"object\") {\n                abort(\"no native wasm support detected\")\n            }\n            var wasmMemory;\n            var ABORT = false;\n            var EXITSTATUS;\n\n            function assert(condition, text) {\n                if (!condition) {\n                    abort(text)\n                }\n            }\n            var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\n            function updateMemoryViews() {\n                var b = wasmMemory.buffer;\n                Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n                Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n                Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n                Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n                Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n                Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n                Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n                Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b)\n            }\n            var wasmTable;\n            var __ATPRERUN__ = [];\n            var __ATINIT__ = [];\n            var __ATMAIN__ = [];\n            var __ATPOSTRUN__ = [];\n            var runtimeInitialized = false;\n            var runtimeKeepaliveCounter = 0;\n\n            function keepRuntimeAlive() {\n                return noExitRuntime || runtimeKeepaliveCounter > 0\n            }\n\n            function preRun() {\n                if (Module[\"preRun\"]) {\n                    if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [Module[\"preRun\"]];\n                    while (Module[\"preRun\"].length) {\n                        addOnPreRun(Module[\"preRun\"].shift())\n                    }\n                }\n                callRuntimeCallbacks(__ATPRERUN__)\n            }\n\n            function initRuntime() {\n                runtimeInitialized = true;\n                callRuntimeCallbacks(__ATINIT__)\n            }\n\n            function preMain() {\n                callRuntimeCallbacks(__ATMAIN__)\n            }\n\n            function postRun() {\n                if (Module[\"postRun\"]) {\n                    if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [Module[\"postRun\"]];\n                    while (Module[\"postRun\"].length) {\n                        addOnPostRun(Module[\"postRun\"].shift())\n                    }\n                }\n                callRuntimeCallbacks(__ATPOSTRUN__)\n            }\n\n            function addOnPreRun(cb) {\n                __ATPRERUN__.unshift(cb)\n            }\n\n            function addOnInit(cb) {\n                __ATINIT__.unshift(cb)\n            }\n\n            function addOnPostRun(cb) {\n                __ATPOSTRUN__.unshift(cb)\n            }\n            var runDependencies = 0;\n            var runDependencyWatcher = null;\n            var dependenciesFulfilled = null;\n\n            function addRunDependency(id) {\n                runDependencies++;\n                if (Module[\"monitorRunDependencies\"]) {\n                    Module[\"monitorRunDependencies\"](runDependencies)\n                }\n            }\n\n            function removeRunDependency(id) {\n                runDependencies--;\n                if (Module[\"monitorRunDependencies\"]) {\n                    Module[\"monitorRunDependencies\"](runDependencies)\n                }\n                if (runDependencies == 0) {\n                    if (runDependencyWatcher !== null) {\n                        clearInterval(runDependencyWatcher);\n                        runDependencyWatcher = null\n                    }\n                    if (dependenciesFulfilled) {\n                        var callback = dependenciesFulfilled;\n                        dependenciesFulfilled = null;\n                        callback()\n                    }\n                }\n            }\n\n            function abort(what) {\n                if (Module[\"onAbort\"]) {\n                    Module[\"onAbort\"](what)\n                }\n                what = \"Aborted(\" + what + \")\";\n                err(what);\n                ABORT = true;\n                EXITSTATUS = 1;\n                what += \". Build with -sASSERTIONS for more info.\";\n                if (runtimeInitialized) {\n                    ___trap()\n                }\n                var e = new WebAssembly.RuntimeError(what);\n                readyPromiseReject(e);\n                throw e\n            }\n            var dataURIPrefix = \"data:application/octet-stream;base64,\";\n\n            function isDataURI(filename) {\n                return filename.startsWith(dataURIPrefix)\n            }\n\n            function isFileURI(filename) {\n                return filename.startsWith(\"file://\")\n            }\n            var wasmBinaryFile;\n            wasmBinaryFile = \"./duckdb-eh.wasm\";\n            if (!isDataURI(wasmBinaryFile)) {\n                wasmBinaryFile = locateFile(wasmBinaryFile)\n            }\n\n            function getBinarySync(file) {\n                if (file == wasmBinaryFile && wasmBinary) {\n                    return new Uint8Array(wasmBinary)\n                }\n                if (readBinary) {\n                    return readBinary(file)\n                }\n                throw \"both async and sync fetching of the wasm failed\"\n            }\n\n            function getBinaryPromise(binaryFile) {\n                if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n                    if (typeof fetch == \"function\") {\n                        return fetch(binaryFile, {\n                            credentials: \"same-origin\"\n                        }).then(response => {\n                            if (!response[\"ok\"]) {\n                                throw \"failed to load wasm binary file at '\" + binaryFile + \"'\"\n                            }\n                            return response[\"arrayBuffer\"]()\n                        }).catch(() => getBinarySync(binaryFile))\n                    }\n                }\n                return Promise.resolve().then(() => getBinarySync(binaryFile))\n            }\n\n            function instantiateArrayBuffer(binaryFile, imports, receiver) {\n                return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(instance => instance).then(receiver, reason => {\n                    err(`failed to asynchronously prepare wasm: ${reason}`);\n                    abort(reason)\n                })\n            }\n\n            function instantiateAsync(binary, binaryFile, imports, callback) {\n                if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == \"function\") {\n                    return fetch(binaryFile, {\n                        credentials: \"same-origin\"\n                    }).then(response => {\n                        var result = WebAssembly.instantiateStreaming(response, imports);\n                        return result.then(callback, function(reason) {\n                            err(`wasm streaming compile failed: ${reason}`);\n                            err(\"falling back to ArrayBuffer instantiation\");\n                            return instantiateArrayBuffer(binaryFile, imports, callback)\n                        })\n                    })\n                }\n                return instantiateArrayBuffer(binaryFile, imports, callback)\n            }\n\n            function createWasm() {\n                var info = {\n                    \"a\": wasmImports\n                };\n\n                function receiveInstance(instance, module) {\n                    var exports = instance.exports;\n                    exports = applySignatureConversions(exports);\n                    wasmExports = exports;\n                    wasmMemory = wasmExports[\"ja\"];\n                    updateMemoryViews();\n                    wasmTable = wasmExports[\"ma\"];\n                    addOnInit(wasmExports[\"ka\"]);\n                    removeRunDependency(\"wasm-instantiate\");\n                    return exports\n                }\n                addRunDependency(\"wasm-instantiate\");\n\n                function receiveInstantiationResult(result) {\n                    receiveInstance(result[\"instance\"])\n                }\n                if (Module[\"instantiateWasm\"]) {\n                    try {\n                        return Module[\"instantiateWasm\"](info, receiveInstance)\n                    } catch (e) {\n                        err(`Module.instantiateWasm callback failed with error: ${e}`);\n                        readyPromiseReject(e)\n                    }\n                }\n                instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n                return {}\n            }\n            var tempDouble;\n            var tempI64;\n\n            function ExitStatus(status) {\n                this.name = \"ExitStatus\";\n                this.message = `Program terminated with exit(${status})`;\n                this.status = status\n            }\n            var callRuntimeCallbacks = callbacks => {\n                while (callbacks.length > 0) {\n                    callbacks.shift()(Module)\n                }\n            };\n\n            function __ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm() {\n                abort(\"missing function: _ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm\")\n            }\n            __ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm.stub = true;\n\n            function SOCKFS() {\n                abort(\"missing function: $SOCKFS\")\n            }\n            SOCKFS.stub = true;\n\n            function FS() {\n                abort(\"missing function: $FS\")\n            }\n            FS.stub = true;\n            var getSocketFromFD = fd => {\n                var socket = SOCKFS.getSocket(fd);\n                if (!socket) throw new FS.ErrnoError(8);\n                return socket\n            };\n            var inetNtop4 = addr => (addr & 255) + \".\" + (addr >> 8 & 255) + \".\" + (addr >> 16 & 255) + \".\" + (addr >> 24 & 255);\n            var inetNtop6 = ints => {\n                var str = \"\";\n                var word = 0;\n                var longest = 0;\n                var lastzero = 0;\n                var zstart = 0;\n                var len = 0;\n                var i = 0;\n                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];\n                var hasipv4 = true;\n                var v4part = \"\";\n                for (i = 0; i < 5; i++) {\n                    if (parts[i] !== 0) {\n                        hasipv4 = false;\n                        break\n                    }\n                }\n                if (hasipv4) {\n                    v4part = inetNtop4(parts[6] | parts[7] << 16);\n                    if (parts[5] === -1) {\n                        str = \"::ffff:\";\n                        str += v4part;\n                        return str\n                    }\n                    if (parts[5] === 0) {\n                        str = \"::\";\n                        if (v4part === \"0.0.0.0\") v4part = \"\";\n                        if (v4part === \"0.0.0.1\") v4part = \"1\";\n                        str += v4part;\n                        return str\n                    }\n                }\n                for (word = 0; word < 8; word++) {\n                    if (parts[word] === 0) {\n                        if (word - lastzero > 1) {\n                            len = 0\n                        }\n                        lastzero = word;\n                        len++\n                    }\n                    if (len > longest) {\n                        longest = len;\n                        zstart = word - longest + 1\n                    }\n                }\n                for (word = 0; word < 8; word++) {\n                    if (longest > 1) {\n                        if (parts[word] === 0 && word >= zstart && word < zstart + longest) {\n                            if (word === zstart) {\n                                str += \":\";\n                                if (zstart === 0) str += \":\"\n                            }\n                            continue\n                        }\n                    }\n                    str += Number(_ntohs(parts[word] & 65535)).toString(16);\n                    str += word < 7 ? \":\" : \"\"\n                }\n                return str\n            };\n            var readSockaddr = (sa, salen) => {\n                var family = HEAP16[sa >>> 1 >>> 0];\n                var port = _ntohs(HEAPU16[sa + 2 >>> 1 >>> 0]);\n                var addr;\n                switch (family) {\n                    case 2:\n                        if (salen !== 16) {\n                            return {\n                                errno: 28\n                            }\n                        }\n                        addr = HEAP32[sa + 4 >>> 2 >>> 0];\n                        addr = inetNtop4(addr);\n                        break;\n                    case 10:\n                        if (salen !== 28) {\n                            return {\n                                errno: 28\n                            }\n                        }\n                        addr = [HEAP32[sa + 8 >>> 2 >>> 0], HEAP32[sa + 12 >>> 2 >>> 0], HEAP32[sa + 16 >>> 2 >>> 0], HEAP32[sa + 20 >>> 2 >>> 0]];\n                        addr = inetNtop6(addr);\n                        break;\n                    default:\n                        return {\n                            errno: 5\n                        }\n                }\n                return {\n                    family: family,\n                    addr: addr,\n                    port: port\n                }\n            };\n            var inetPton4 = str => {\n                var b = str.split(\".\");\n                for (var i = 0; i < 4; i++) {\n                    var tmp = Number(b[i]);\n                    if (isNaN(tmp)) return null;\n                    b[i] = tmp\n                }\n                return (b[0] | b[1] << 8 | b[2] << 16 | b[3] << 24) >>> 0\n            };\n            var jstoi_q = str => parseInt(str);\n            var inetPton6 = str => {\n                var words;\n                var w, offset, z;\n                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;\n                var parts = [];\n                if (!valid6regx.test(str)) {\n                    return null\n                }\n                if (str === \"::\") {\n                    return [0, 0, 0, 0, 0, 0, 0, 0]\n                }\n                if (str.startsWith(\"::\")) {\n                    str = str.replace(\"::\", \"Z:\")\n                } else {\n                    str = str.replace(\"::\", \":Z:\")\n                }\n                if (str.indexOf(\".\") > 0) {\n                    str = str.replace(new RegExp(\"[.]\", \"g\"), \":\");\n                    words = str.split(\":\");\n                    words[words.length - 4] = jstoi_q(words[words.length - 4]) + jstoi_q(words[words.length - 3]) * 256;\n                    words[words.length - 3] = jstoi_q(words[words.length - 2]) + jstoi_q(words[words.length - 1]) * 256;\n                    words = words.slice(0, words.length - 2)\n                } else {\n                    words = str.split(\":\")\n                }\n                offset = 0;\n                z = 0;\n                for (w = 0; w < words.length; w++) {\n                    if (typeof words[w] == \"string\") {\n                        if (words[w] === \"Z\") {\n                            for (z = 0; z < 8 - words.length + 1; z++) {\n                                parts[w + z] = 0\n                            }\n                            offset = z - 1\n                        } else {\n                            parts[w + offset] = _htons(parseInt(words[w], 16))\n                        }\n                    } else {\n                        parts[w + offset] = words[w]\n                    }\n                }\n                return [parts[1] << 16 | parts[0], parts[3] << 16 | parts[2], parts[5] << 16 | parts[4], parts[7] << 16 | parts[6]]\n            };\n            var DNS = {\n                address_map: {\n                    id: 1,\n                    addrs: {},\n                    names: {}\n                },\n                lookup_name(name) {\n                    var res = inetPton4(name);\n                    if (res !== null) {\n                        return name\n                    }\n                    res = inetPton6(name);\n                    if (res !== null) {\n                        return name\n                    }\n                    var addr;\n                    if (DNS.address_map.addrs[name]) {\n                        addr = DNS.address_map.addrs[name]\n                    } else {\n                        var id = DNS.address_map.id++;\n                        assert(id < 65535, \"exceeded max address mappings of 65535\");\n                        addr = \"172.29.\" + (id & 255) + \".\" + (id & 65280);\n                        DNS.address_map.names[addr] = name;\n                        DNS.address_map.addrs[name] = addr\n                    }\n                    return addr\n                },\n                lookup_addr(addr) {\n                    if (DNS.address_map.names[addr]) {\n                        return DNS.address_map.names[addr]\n                    }\n                    return null\n                }\n            };\n            var getSocketAddress = (addrp, addrlen, allowNull) => {\n                if (allowNull && addrp === 0) return null;\n                var info = readSockaddr(addrp, addrlen);\n                if (info.errno) throw new FS.ErrnoError(info.errno);\n                info.addr = DNS.lookup_addr(info.addr) || info.addr;\n                return info\n            };\n            var UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : undefined;\n            var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {\n                idx >>>= 0;\n                var endIdx = idx + maxBytesToRead;\n                var endPtr = idx;\n                while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n                if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n                    return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr))\n                }\n                var str = \"\";\n                while (idx < endPtr) {\n                    var u0 = heapOrArray[idx++];\n                    if (!(u0 & 128)) {\n                        str += String.fromCharCode(u0);\n                        continue\n                    }\n                    var u1 = heapOrArray[idx++] & 63;\n                    if ((u0 & 224) == 192) {\n                        str += String.fromCharCode((u0 & 31) << 6 | u1);\n                        continue\n                    }\n                    var u2 = heapOrArray[idx++] & 63;\n                    if ((u0 & 240) == 224) {\n                        u0 = (u0 & 15) << 12 | u1 << 6 | u2\n                    } else {\n                        u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63\n                    }\n                    if (u0 < 65536) {\n                        str += String.fromCharCode(u0)\n                    } else {\n                        var ch = u0 - 65536;\n                        str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)\n                    }\n                }\n                return str\n            };\n            var UTF8ToString = (ptr, maxBytesToRead) => {\n                ptr >>>= 0;\n                return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : \"\"\n            };\n            var SYSCALLS = {\n                varargs: undefined,\n                get() {\n                    var ret = HEAP32[SYSCALLS.varargs >>> 2 >>> 0];\n                    SYSCALLS.varargs += 4;\n                    return ret\n                },\n                getp() {\n                    return SYSCALLS.get()\n                },\n                getStr(ptr) {\n                    var ret = UTF8ToString(ptr);\n                    return ret\n                }\n            };\n            var convertI32PairToI53Checked = (lo, hi) => hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n\n            function ___syscall_bind(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var info = getSocketAddress(addr, addrlen);\n                sock.sock_ops.bind(sock, info.addr, info.port);\n                return 0\n            }\n\n            function ___syscall_connect(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var info = getSocketAddress(addr, addrlen);\n                sock.sock_ops.connect(sock, info.addr, info.port);\n                return 0\n            }\n\n            function ___syscall_faccessat(dirfd, path, amode, flags) {\n                path >>>= 0\n            }\n\n            function ___syscall_fcntl64(fd, cmd, varargs) {\n                varargs >>>= 0;\n                SYSCALLS.varargs = varargs;\n                return 0\n            }\n\n            function ___syscall_fstat64(fd, buf) {\n                buf >>>= 0\n            }\n\n            function ___syscall_ftruncate64(fd, length_low, length_high) {\n                var length = convertI32PairToI53Checked(length_low, length_high)\n            }\n            var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {\n                outIdx >>>= 0;\n                if (!(maxBytesToWrite > 0)) return 0;\n                var startIdx = outIdx;\n                var endIdx = outIdx + maxBytesToWrite - 1;\n                for (var i = 0; i < str.length; ++i) {\n                    var u = str.charCodeAt(i);\n                    if (u >= 55296 && u <= 57343) {\n                        var u1 = str.charCodeAt(++i);\n                        u = 65536 + ((u & 1023) << 10) | u1 & 1023\n                    }\n                    if (u <= 127) {\n                        if (outIdx >= endIdx) break;\n                        heap[outIdx++ >>> 0] = u\n                    } else if (u <= 2047) {\n                        if (outIdx + 1 >= endIdx) break;\n                        heap[outIdx++ >>> 0] = 192 | u >> 6;\n                        heap[outIdx++ >>> 0] = 128 | u & 63\n                    } else if (u <= 65535) {\n                        if (outIdx + 2 >= endIdx) break;\n                        heap[outIdx++ >>> 0] = 224 | u >> 12;\n                        heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n                        heap[outIdx++ >>> 0] = 128 | u & 63\n                    } else {\n                        if (outIdx + 3 >= endIdx) break;\n                        heap[outIdx++ >>> 0] = 240 | u >> 18;\n                        heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;\n                        heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n                        heap[outIdx++ >>> 0] = 128 | u & 63\n                    }\n                }\n                heap[outIdx >>> 0] = 0;\n                return outIdx - startIdx\n            };\n            var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n\n            function ___syscall_getdents64(fd, dirp, count) {\n                dirp >>>= 0;\n                count >>>= 0\n            }\n            var zeroMemory = (address, size) => {\n                HEAPU8.fill(0, address, address + size);\n                return address\n            };\n            var writeSockaddr = (sa, family, addr, port, addrlen) => {\n                switch (family) {\n                    case 2:\n                        addr = inetPton4(addr);\n                        zeroMemory(sa, 16);\n                        if (addrlen) {\n                            HEAP32[addrlen >>> 2 >>> 0] = 16\n                        }\n                        HEAP16[sa >>> 1 >>> 0] = family;\n                        HEAP32[sa + 4 >>> 2 >>> 0] = addr;\n                        HEAP16[sa + 2 >>> 1 >>> 0] = _htons(port);\n                        break;\n                    case 10:\n                        addr = inetPton6(addr);\n                        zeroMemory(sa, 28);\n                        if (addrlen) {\n                            HEAP32[addrlen >>> 2 >>> 0] = 28\n                        }\n                        HEAP32[sa >>> 2 >>> 0] = family;\n                        HEAP32[sa + 8 >>> 2 >>> 0] = addr[0];\n                        HEAP32[sa + 12 >>> 2 >>> 0] = addr[1];\n                        HEAP32[sa + 16 >>> 2 >>> 0] = addr[2];\n                        HEAP32[sa + 20 >>> 2 >>> 0] = addr[3];\n                        HEAP16[sa + 2 >>> 1 >>> 0] = _htons(port);\n                        break;\n                    default:\n                        return 5\n                }\n                return 0\n            };\n\n            function ___syscall_getpeername(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                if (!sock.daddr) {\n                    return -53\n                }\n                var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(sock.daddr), sock.dport, addrlen);\n                return 0\n            }\n\n            function ___syscall_getsockname(fd, addr, addrlen, d1, d2, d3) {\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(sock.saddr || \"0.0.0.0\"), sock.sport, addrlen);\n                return 0\n            }\n\n            function ___syscall_getsockopt(fd, level, optname, optval, optlen, d1) {\n                optval >>>= 0;\n                optlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                if (level === 1) {\n                    if (optname === 4) {\n                        HEAP32[optval >>> 2 >>> 0] = sock.error;\n                        HEAP32[optlen >>> 2 >>> 0] = 4;\n                        sock.error = null;\n                        return 0\n                    }\n                }\n                return -50\n            }\n\n            function ___syscall_ioctl(fd, op, varargs) {\n                varargs >>>= 0;\n                SYSCALLS.varargs = varargs;\n                return 0\n            }\n\n            function ___syscall_lstat64(path, buf) {\n                path >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_mkdirat(dirfd, path, mode) {\n                path >>>= 0\n            }\n\n            function ___syscall_newfstatat(dirfd, path, buf, flags) {\n                path >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_openat(dirfd, path, flags, varargs) {\n                path >>>= 0;\n                varargs >>>= 0;\n                SYSCALLS.varargs = varargs\n            }\n\n            function ___syscall_poll(fds, nfds, timeout) {\n                fds >>>= 0\n            }\n\n            function ___syscall_recvfrom(fd, buf, len, flags, addr, addrlen) {\n                buf >>>= 0;\n                len >>>= 0;\n                addr >>>= 0;\n                addrlen >>>= 0;\n                var sock = getSocketFromFD(fd);\n                var msg = sock.sock_ops.recvmsg(sock, len);\n                if (!msg) return 0;\n                if (addr) {\n                    var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(msg.addr), msg.port, addrlen)\n                }\n                HEAPU8.set(msg.buffer, buf >>> 0);\n                return msg.buffer.byteLength\n            }\n\n            function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) {\n                oldpath >>>= 0;\n                newpath >>>= 0\n            }\n\n            function ___syscall_rmdir(path) {\n                path >>>= 0\n            }\n\n            function ___syscall_sendto(fd, message, length, flags, addr, addr_len) {\n                message >>>= 0;\n                length >>>= 0;\n                addr >>>= 0;\n                addr_len >>>= 0\n            }\n            var ___syscall_socket = (domain, type, protocol) => {};\n\n            function ___syscall_stat64(path, buf) {\n                path >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_statfs64(path, size, buf) {\n                path >>>= 0;\n                size >>>= 0;\n                buf >>>= 0\n            }\n\n            function ___syscall_unlinkat(dirfd, path, flags) {\n                path >>>= 0\n            }\n            var nowIsMonotonic = true;\n            var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;\n            var _abort = () => {\n                abort(\"\")\n            };\n\n            function _duckdb_web_fs_directory_create(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.createDirectory(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_directory_exists(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.checkDirectory(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_directory_list_files(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_directory_remove(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.removeDirectory(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_file_close(fileId) {\n                return globalThis.DUCKDB_RUNTIME.closeFile(Module, fileId)\n            }\n\n            function _duckdb_web_fs_file_exists(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.checkFile(Module, path, pathLen)\n            }\n\n            function _duckdb_web_fs_file_get_last_modified_time(fileId) {\n                return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module, fileId)\n            }\n\n            function _duckdb_web_fs_file_move(from, fromLen, to, toLen) {\n                from >>>= 0;\n                to >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.moveFile(Module, from, fromLen, to, toLen)\n            }\n\n            function _duckdb_web_fs_file_open(fileId, flags) {\n                return globalThis.DUCKDB_RUNTIME.openFile(Module, fileId, flags)\n            }\n\n            function _duckdb_web_fs_file_read(fileId, buf, size, location) {\n                buf >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.readFile(Module, fileId, buf, size, location)\n            }\n\n            function _duckdb_web_fs_file_truncate(fileId, newSize) {\n                return globalThis.DUCKDB_RUNTIME.truncateFile(Module, fileId, newSize)\n            }\n\n            function _duckdb_web_fs_file_write(fileId, buf, size, location) {\n                buf >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.writeFile(Module, fileId, buf, size, location)\n            }\n\n            function _duckdb_web_fs_get_default_data_protocol(Module) {\n                return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)\n            }\n\n            function _duckdb_web_fs_glob(path, pathLen) {\n                path >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.glob(Module, path, pathLen)\n            }\n\n            function _duckdb_web_test_platform_feature(feature) {\n                return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module, feature)\n            }\n\n            function _duckdb_web_udf_scalar_call(funcId, descPtr, descSize, ptrsPtr, ptrsSize, response) {\n                funcId >>>= 0;\n                descSize >>>= 0;\n                ptrsSize >>>= 0;\n                return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module, funcId, descPtr, descSize, ptrsPtr, ptrsSize, response)\n            }\n            var _emscripten_date_now = () => Date.now();\n            var getHeapMax = () => 4294901760;\n\n            function _emscripten_get_heap_max() {\n                return getHeapMax()\n            }\n            var _emscripten_get_now;\n            _emscripten_get_now = () => performance.now();\n\n            function _emscripten_memcpy_big(dest, src, num) {\n                dest >>>= 0;\n                src >>>= 0;\n                num >>>= 0;\n                return HEAPU8.copyWithin(dest >>> 0, src >>> 0, src + num >>> 0)\n            }\n            var growMemory = size => {\n                var b = wasmMemory.buffer;\n                var pages = (size - b.byteLength + 65535) / 65536;\n                try {\n                    wasmMemory.grow(pages);\n                    updateMemoryViews();\n                    return 1\n                } catch (e) {}\n            };\n\n            function _emscripten_resize_heap(requestedSize) {\n                requestedSize >>>= 0;\n                var oldSize = HEAPU8.length;\n                var maxHeapSize = getHeapMax();\n                if (requestedSize > maxHeapSize) {\n                    return false\n                }\n                var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n                for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n                    var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n                    overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n                    var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n                    var replacement = growMemory(newSize);\n                    if (replacement) {\n                        return true\n                    }\n                }\n                return false\n            }\n            var ENV = {};\n            var getExecutableName = () => thisProgram || \"./this.program\";\n            var getEnvStrings = () => {\n                if (!getEnvStrings.strings) {\n                    var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n                    var env = {\n                        \"USER\": \"web_user\",\n                        \"LOGNAME\": \"web_user\",\n                        \"PATH\": \"/\",\n                        \"PWD\": \"/\",\n                        \"HOME\": \"/home/web_user\",\n                        \"LANG\": lang,\n                        \"_\": getExecutableName()\n                    };\n                    for (var x in ENV) {\n                        if (ENV[x] === undefined) delete env[x];\n                        else env[x] = ENV[x]\n                    }\n                    var strings = [];\n                    for (var x in env) {\n                        strings.push(`${x}=${env[x]}`)\n                    }\n                    getEnvStrings.strings = strings\n                }\n                return getEnvStrings.strings\n            };\n            var stringToAscii = (str, buffer) => {\n                for (var i = 0; i < str.length; ++i) {\n                    HEAP8[buffer++ >>> 0 >>> 0] = str.charCodeAt(i)\n                }\n                HEAP8[buffer >>> 0 >>> 0] = 0\n            };\n            var _environ_get = function(__environ, environ_buf) {\n                __environ >>>= 0;\n                environ_buf >>>= 0;\n                var bufSize = 0;\n                getEnvStrings().forEach((string, i) => {\n                    var ptr = environ_buf + bufSize;\n                    HEAPU32[__environ + i * 4 >>> 2 >>> 0] = ptr;\n                    stringToAscii(string, ptr);\n                    bufSize += string.length + 1\n                });\n                return 0\n            };\n            var _environ_sizes_get = function(penviron_count, penviron_buf_size) {\n                penviron_count >>>= 0;\n                penviron_buf_size >>>= 0;\n                var strings = getEnvStrings();\n                HEAPU32[penviron_count >>> 2 >>> 0] = strings.length;\n                var bufSize = 0;\n                strings.forEach(string => bufSize += string.length + 1);\n                HEAPU32[penviron_buf_size >>> 2 >>> 0] = bufSize;\n                return 0\n            };\n            var _proc_exit = code => {\n                EXITSTATUS = code;\n                if (!keepRuntimeAlive()) {\n                    if (Module[\"onExit\"]) Module[\"onExit\"](code);\n                    ABORT = true\n                }\n                quit_(code, new ExitStatus(code))\n            };\n            var exitJS = (status, implicit) => {\n                EXITSTATUS = status;\n                _proc_exit(status)\n            };\n            var _exit = exitJS;\n            var _fd_close = fd => 52;\n\n            function _fd_fdstat_get(fd, pbuf) {\n                pbuf >>>= 0;\n                var rightsBase = 0;\n                var rightsInheriting = 0;\n                var flags = 0;\n                {\n                    var type = 2;\n                    if (fd == 0) {\n                        rightsBase = 2\n                    } else if (fd == 1 || fd == 2) {\n                        rightsBase = 64\n                    }\n                    flags = 1\n                }\n                HEAP8[pbuf >>> 0 >>> 0] = type;\n                HEAP16[pbuf + 2 >>> 1 >>> 0] = flags;\n                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];\n                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];\n                return 0\n            }\n\n            function _fd_pread(fd, iov, iovcnt, offset_low, offset_high, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                var offset = convertI32PairToI53Checked(offset_low, offset_high);\n                pnum >>>= 0;\n                return 52\n            }\n\n            function _fd_pwrite(fd, iov, iovcnt, offset_low, offset_high, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                var offset = convertI32PairToI53Checked(offset_low, offset_high);\n                pnum >>>= 0;\n                return 52\n            }\n\n            function _fd_read(fd, iov, iovcnt, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                pnum >>>= 0;\n                return 52\n            }\n\n            function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n                var offset = convertI32PairToI53Checked(offset_low, offset_high);\n                newOffset >>>= 0;\n                return 70\n            }\n            var _fd_sync = fd => 52;\n            var printCharBuffers = [null, [],\n                []\n            ];\n            var printChar = (stream, curr) => {\n                var buffer = printCharBuffers[stream];\n                if (curr === 0 || curr === 10) {\n                    (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));\n                    buffer.length = 0\n                } else {\n                    buffer.push(curr)\n                }\n            };\n\n            function _fd_write(fd, iov, iovcnt, pnum) {\n                iov >>>= 0;\n                iovcnt >>>= 0;\n                pnum >>>= 0;\n                var num = 0;\n                for (var i = 0; i < iovcnt; i++) {\n                    var ptr = HEAPU32[iov >>> 2 >>> 0];\n                    var len = HEAPU32[iov + 4 >>> 2 >>> 0];\n                    iov += 8;\n                    for (var j = 0; j < len; j++) {\n                        printChar(fd, HEAPU8[ptr + j >>> 0])\n                    }\n                    num += len\n                }\n                HEAPU32[pnum >>> 2 >>> 0] = num;\n                return 0\n            }\n\n            function _getaddrinfo(node, service, hint, out) {\n                node >>>= 0;\n                service >>>= 0;\n                hint >>>= 0;\n                out >>>= 0;\n                var addr = 0;\n                var port = 0;\n                var flags = 0;\n                var family = 0;\n                var type = 0;\n                var proto = 0;\n                var ai;\n\n                function allocaddrinfo(family, type, proto, canon, addr, port) {\n                    var sa, salen, ai;\n                    var errno;\n                    salen = family === 10 ? 28 : 16;\n                    addr = family === 10 ? inetNtop6(addr) : inetNtop4(addr);\n                    sa = _malloc(salen);\n                    errno = writeSockaddr(sa, family, addr, port);\n                    assert(!errno);\n                    ai = _malloc(32);\n                    HEAP32[ai + 4 >>> 2 >>> 0] = family;\n                    HEAP32[ai + 8 >>> 2 >>> 0] = type;\n                    HEAP32[ai + 12 >>> 2 >>> 0] = proto;\n                    HEAPU32[ai + 24 >>> 2 >>> 0] = canon;\n                    HEAPU32[ai + 20 >>> 2 >>> 0] = sa;\n                    if (family === 10) {\n                        HEAP32[ai + 16 >>> 2 >>> 0] = 28\n                    } else {\n                        HEAP32[ai + 16 >>> 2 >>> 0] = 16\n                    }\n                    HEAP32[ai + 28 >>> 2 >>> 0] = 0;\n                    return ai\n                }\n                if (hint) {\n                    flags = HEAP32[hint >>> 2 >>> 0];\n                    family = HEAP32[hint + 4 >>> 2 >>> 0];\n                    type = HEAP32[hint + 8 >>> 2 >>> 0];\n                    proto = HEAP32[hint + 12 >>> 2 >>> 0]\n                }\n                if (type && !proto) {\n                    proto = type === 2 ? 17 : 6\n                }\n                if (!type && proto) {\n                    type = proto === 17 ? 2 : 1\n                }\n                if (proto === 0) {\n                    proto = 6\n                }\n                if (type === 0) {\n                    type = 1\n                }\n                if (!node && !service) {\n                    return -2\n                }\n                if (flags & ~(1 | 2 | 4 | 1024 | 8 | 16 | 32)) {\n                    return -1\n                }\n                if (hint !== 0 && HEAP32[hint >>> 2 >>> 0] & 2 && !node) {\n                    return -1\n                }\n                if (flags & 32) {\n                    return -2\n                }\n                if (type !== 0 && type !== 1 && type !== 2) {\n                    return -7\n                }\n                if (family !== 0 && family !== 2 && family !== 10) {\n                    return -6\n                }\n                if (service) {\n                    service = UTF8ToString(service);\n                    port = parseInt(service, 10);\n                    if (isNaN(port)) {\n                        if (flags & 1024) {\n                            return -2\n                        }\n                        return -8\n                    }\n                }\n                if (!node) {\n                    if (family === 0) {\n                        family = 2\n                    }\n                    if ((flags & 1) === 0) {\n                        if (family === 2) {\n                            addr = _htonl(2130706433)\n                        } else {\n                            addr = [0, 0, 0, 1]\n                        }\n                    }\n                    ai = allocaddrinfo(family, type, proto, null, addr, port);\n                    HEAPU32[out >>> 2 >>> 0] = ai;\n                    return 0\n                }\n                node = UTF8ToString(node);\n                addr = inetPton4(node);\n                if (addr !== null) {\n                    if (family === 0 || family === 2) {\n                        family = 2\n                    } else if (family === 10 && flags & 8) {\n                        addr = [0, 0, _htonl(65535), addr];\n                        family = 10\n                    } else {\n                        return -2\n                    }\n                } else {\n                    addr = inetPton6(node);\n                    if (addr !== null) {\n                        if (family === 0 || family === 10) {\n                            family = 10\n                        } else {\n                            return -2\n                        }\n                    }\n                }\n                if (addr != null) {\n                    ai = allocaddrinfo(family, type, proto, node, addr, port);\n                    HEAPU32[out >>> 2 >>> 0] = ai;\n                    return 0\n                }\n                if (flags & 4) {\n                    return -2\n                }\n                node = DNS.lookup_name(node);\n                addr = inetPton4(node);\n                if (family === 0) {\n                    family = 2\n                } else if (family === 10) {\n                    addr = [0, 0, _htonl(65535), addr]\n                }\n                ai = allocaddrinfo(family, type, proto, null, addr, port);\n                HEAPU32[out >>> 2 >>> 0] = ai;\n                return 0\n            }\n            var initRandomFill = () => {\n                if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n                    return view => crypto.getRandomValues(view)\n                } else if (ENVIRONMENT_IS_NODE) {\n                    try {\n                        var crypto_module = require(\"crypto\");\n                        var randomFillSync = crypto_module[\"randomFillSync\"];\n                        if (randomFillSync) {\n                            return view => crypto_module[\"randomFillSync\"](view)\n                        }\n                        var randomBytes = crypto_module[\"randomBytes\"];\n                        return view => (view.set(randomBytes(view.byteLength)), view)\n                    } catch (e) {}\n                }\n                abort(\"initRandomDevice\")\n            };\n            var randomFill = view => (randomFill = initRandomFill())(view);\n\n            function _getentropy(buffer, size) {\n                buffer >>>= 0;\n                size >>>= 0;\n                randomFill(HEAPU8.subarray(buffer >>> 0, buffer + size >>> 0));\n                return 0\n            }\n\n            function _getnameinfo(sa, salen, node, nodelen, serv, servlen, flags) {\n                sa >>>= 0;\n                node >>>= 0;\n                serv >>>= 0;\n                var info = readSockaddr(sa, salen);\n                if (info.errno) {\n                    return -6\n                }\n                var port = info.port;\n                var addr = info.addr;\n                var overflowed = false;\n                if (node && nodelen) {\n                    var lookup;\n                    if (flags & 1 || !(lookup = DNS.lookup_addr(addr))) {\n                        if (flags & 8) {\n                            return -2\n                        }\n                    } else {\n                        addr = lookup\n                    }\n                    var numBytesWrittenExclNull = stringToUTF8(addr, node, nodelen);\n                    if (numBytesWrittenExclNull + 1 >= nodelen) {\n                        overflowed = true\n                    }\n                }\n                if (serv && servlen) {\n                    port = \"\" + port;\n                    var numBytesWrittenExclNull = stringToUTF8(port, serv, servlen);\n                    if (numBytesWrittenExclNull + 1 >= servlen) {\n                        overflowed = true\n                    }\n                }\n                if (overflowed) {\n                    return -12\n                }\n                return 0\n            }\n            var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n            var arraySum = (array, index) => {\n                var sum = 0;\n                for (var i = 0; i <= index; sum += array[i++]) {}\n                return sum\n            };\n            var MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n            var MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n            var addDays = (date, days) => {\n                var newDate = new Date(date.getTime());\n                while (days > 0) {\n                    var leap = isLeapYear(newDate.getFullYear());\n                    var currentMonth = newDate.getMonth();\n                    var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];\n                    if (days > daysInCurrentMonth - newDate.getDate()) {\n                        days -= daysInCurrentMonth - newDate.getDate() + 1;\n                        newDate.setDate(1);\n                        if (currentMonth < 11) {\n                            newDate.setMonth(currentMonth + 1)\n                        } else {\n                            newDate.setMonth(0);\n                            newDate.setFullYear(newDate.getFullYear() + 1)\n                        }\n                    } else {\n                        newDate.setDate(newDate.getDate() + days);\n                        return newDate\n                    }\n                }\n                return newDate\n            };\n            var lengthBytesUTF8 = str => {\n                var len = 0;\n                for (var i = 0; i < str.length; ++i) {\n                    var c = str.charCodeAt(i);\n                    if (c <= 127) {\n                        len++\n                    } else if (c <= 2047) {\n                        len += 2\n                    } else if (c >= 55296 && c <= 57343) {\n                        len += 4;\n                        ++i\n                    } else {\n                        len += 3\n                    }\n                }\n                return len\n            };\n\n            function intArrayFromString(stringy, dontAddNull, length) {\n                var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n                var u8array = new Array(len);\n                var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n                if (dontAddNull) u8array.length = numBytesWritten;\n                return u8array\n            }\n            var writeArrayToMemory = (array, buffer) => {\n                HEAP8.set(array, buffer >>> 0)\n            };\n\n            function _strftime(s, maxsize, format, tm) {\n                s >>>= 0;\n                maxsize >>>= 0;\n                format >>>= 0;\n                tm >>>= 0;\n                var tm_zone = HEAPU32[tm + 40 >>> 2 >>> 0];\n                var date = {\n                    tm_sec: HEAP32[tm >>> 2 >>> 0],\n                    tm_min: HEAP32[tm + 4 >>> 2 >>> 0],\n                    tm_hour: HEAP32[tm + 8 >>> 2 >>> 0],\n                    tm_mday: HEAP32[tm + 12 >>> 2 >>> 0],\n                    tm_mon: HEAP32[tm + 16 >>> 2 >>> 0],\n                    tm_year: HEAP32[tm + 20 >>> 2 >>> 0],\n                    tm_wday: HEAP32[tm + 24 >>> 2 >>> 0],\n                    tm_yday: HEAP32[tm + 28 >>> 2 >>> 0],\n                    tm_isdst: HEAP32[tm + 32 >>> 2 >>> 0],\n                    tm_gmtoff: HEAP32[tm + 36 >>> 2 >>> 0],\n                    tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n                };\n                var pattern = UTF8ToString(format);\n                var EXPANSION_RULES_1 = {\n                    \"%c\": \"%a %b %d %H:%M:%S %Y\",\n                    \"%D\": \"%m/%d/%y\",\n                    \"%F\": \"%Y-%m-%d\",\n                    \"%h\": \"%b\",\n                    \"%r\": \"%I:%M:%S %p\",\n                    \"%R\": \"%H:%M\",\n                    \"%T\": \"%H:%M:%S\",\n                    \"%x\": \"%m/%d/%y\",\n                    \"%X\": \"%H:%M:%S\",\n                    \"%Ec\": \"%c\",\n                    \"%EC\": \"%C\",\n                    \"%Ex\": \"%m/%d/%y\",\n                    \"%EX\": \"%H:%M:%S\",\n                    \"%Ey\": \"%y\",\n                    \"%EY\": \"%Y\",\n                    \"%Od\": \"%d\",\n                    \"%Oe\": \"%e\",\n                    \"%OH\": \"%H\",\n                    \"%OI\": \"%I\",\n                    \"%Om\": \"%m\",\n                    \"%OM\": \"%M\",\n                    \"%OS\": \"%S\",\n                    \"%Ou\": \"%u\",\n                    \"%OU\": \"%U\",\n                    \"%OV\": \"%V\",\n                    \"%Ow\": \"%w\",\n                    \"%OW\": \"%W\",\n                    \"%Oy\": \"%y\"\n                };\n                for (var rule in EXPANSION_RULES_1) {\n                    pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule])\n                }\n                var WEEKDAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n                var MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\n                function leadingSomething(value, digits, character) {\n                    var str = typeof value == \"number\" ? value.toString() : value || \"\";\n                    while (str.length < digits) {\n                        str = character[0] + str\n                    }\n                    return str\n                }\n\n                function leadingNulls(value, digits) {\n                    return leadingSomething(value, digits, \"0\")\n                }\n\n                function compareByDay(date1, date2) {\n                    function sgn(value) {\n                        return value < 0 ? -1 : value > 0 ? 1 : 0\n                    }\n                    var compare;\n                    if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n                        if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n                            compare = sgn(date1.getDate() - date2.getDate())\n                        }\n                    }\n                    return compare\n                }\n\n                function getFirstWeekStartDate(janFourth) {\n                    switch (janFourth.getDay()) {\n                        case 0:\n                            return new Date(janFourth.getFullYear() - 1, 11, 29);\n                        case 1:\n                            return janFourth;\n                        case 2:\n                            return new Date(janFourth.getFullYear(), 0, 3);\n                        case 3:\n                            return new Date(janFourth.getFullYear(), 0, 2);\n                        case 4:\n                            return new Date(janFourth.getFullYear(), 0, 1);\n                        case 5:\n                            return new Date(janFourth.getFullYear() - 1, 11, 31);\n                        case 6:\n                            return new Date(janFourth.getFullYear() - 1, 11, 30)\n                    }\n                }\n\n                function getWeekBasedYear(date) {\n                    var thisDate = addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n                    var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n                    var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n                    var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n                    var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n                    if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n                        if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n                            return thisDate.getFullYear() + 1\n                        }\n                        return thisDate.getFullYear()\n                    }\n                    return thisDate.getFullYear() - 1\n                }\n                var EXPANSION_RULES_2 = {\n                    \"%a\": date => WEEKDAYS[date.tm_wday].substring(0, 3),\n                    \"%A\": date => WEEKDAYS[date.tm_wday],\n                    \"%b\": date => MONTHS[date.tm_mon].substring(0, 3),\n                    \"%B\": date => MONTHS[date.tm_mon],\n                    \"%C\": date => {\n                        var year = date.tm_year + 1900;\n                        return leadingNulls(year / 100 | 0, 2)\n                    },\n                    \"%d\": date => leadingNulls(date.tm_mday, 2),\n                    \"%e\": date => leadingSomething(date.tm_mday, 2, \" \"),\n                    \"%g\": date => getWeekBasedYear(date).toString().substring(2),\n                    \"%G\": date => getWeekBasedYear(date),\n                    \"%H\": date => leadingNulls(date.tm_hour, 2),\n                    \"%I\": date => {\n                        var twelveHour = date.tm_hour;\n                        if (twelveHour == 0) twelveHour = 12;\n                        else if (twelveHour > 12) twelveHour -= 12;\n                        return leadingNulls(twelveHour, 2)\n                    },\n                    \"%j\": date => leadingNulls(date.tm_mday + arraySum(isLeapYear(date.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date.tm_mon - 1), 3),\n                    \"%m\": date => leadingNulls(date.tm_mon + 1, 2),\n                    \"%M\": date => leadingNulls(date.tm_min, 2),\n                    \"%n\": () => \"\\n\",\n                    \"%p\": date => {\n                        if (date.tm_hour >= 0 && date.tm_hour < 12) {\n                            return \"AM\"\n                        }\n                        return \"PM\"\n                    },\n                    \"%S\": date => leadingNulls(date.tm_sec, 2),\n                    \"%t\": () => \"\\t\",\n                    \"%u\": date => date.tm_wday || 7,\n                    \"%U\": date => {\n                        var days = date.tm_yday + 7 - date.tm_wday;\n                        return leadingNulls(Math.floor(days / 7), 2)\n                    },\n                    \"%V\": date => {\n                        var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n                        if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n                            val++\n                        }\n                        if (!val) {\n                            val = 52;\n                            var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n                            if (dec31 == 4 || dec31 == 5 && isLeapYear(date.tm_year % 400 - 1)) {\n                                val++\n                            }\n                        } else if (val == 53) {\n                            var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n                            if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date.tm_year))) val = 1\n                        }\n                        return leadingNulls(val, 2)\n                    },\n                    \"%w\": date => date.tm_wday,\n                    \"%W\": date => {\n                        var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n                        return leadingNulls(Math.floor(days / 7), 2)\n                    },\n                    \"%y\": date => (date.tm_year + 1900).toString().substring(2),\n                    \"%Y\": date => date.tm_year + 1900,\n                    \"%z\": date => {\n                        var off = date.tm_gmtoff;\n                        var ahead = off >= 0;\n                        off = Math.abs(off) / 60;\n                        off = off / 60 * 100 + off % 60;\n                        return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4)\n                    },\n                    \"%Z\": date => date.tm_zone,\n                    \"%%\": () => \"%\"\n                };\n                pattern = pattern.replace(/%%/g, \"\\0\\0\");\n                for (var rule in EXPANSION_RULES_2) {\n                    if (pattern.includes(rule)) {\n                        pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date))\n                    }\n                }\n                pattern = pattern.replace(/\\0\\0/g, \"%\");\n                var bytes = intArrayFromString(pattern, false);\n                if (bytes.length > maxsize) {\n                    return 0\n                }\n                writeArrayToMemory(bytes, s);\n                return bytes.length - 1\n            }\n\n            function _strftime_l(s, maxsize, format, tm, loc) {\n                s >>>= 0;\n                maxsize >>>= 0;\n                format >>>= 0;\n                tm >>>= 0;\n                loc >>>= 0;\n                return _strftime(s, maxsize, format, tm)\n            }\n            var handleException = e => {\n                if (e instanceof ExitStatus || e == \"unwind\") {\n                    return EXITSTATUS\n                }\n                quit_(1, e)\n            };\n            var getCFunc = ident => {\n                var func = Module[\"_\" + ident];\n                return func\n            };\n            var stringToUTF8OnStack = str => {\n                var size = lengthBytesUTF8(str) + 1;\n                var ret = stackAlloc(size);\n                stringToUTF8(str, ret, size);\n                return ret\n            };\n            var ccall = (ident, returnType, argTypes, args, opts) => {\n                var toC = {\n                    \"string\": str => {\n                        var ret = 0;\n                        if (str !== null && str !== undefined && str !== 0) {\n                            ret = stringToUTF8OnStack(str)\n                        }\n                        return ret\n                    },\n                    \"array\": arr => {\n                        var ret = stackAlloc(arr.length);\n                        writeArrayToMemory(arr, ret);\n                        return ret\n                    }\n                };\n\n                function convertReturnValue(ret) {\n                    if (returnType === \"string\") {\n                        return UTF8ToString(ret)\n                    }\n                    if (returnType === \"boolean\") return Boolean(ret);\n                    return ret\n                }\n                var func = getCFunc(ident);\n                var cArgs = [];\n                var stack = 0;\n                if (args) {\n                    for (var i = 0; i < args.length; i++) {\n                        var converter = toC[argTypes[i]];\n                        if (converter) {\n                            if (stack === 0) stack = stackSave();\n                            cArgs[i] = converter(args[i])\n                        } else {\n                            cArgs[i] = args[i]\n                        }\n                    }\n                }\n                var ret = func.apply(null, cArgs);\n\n                function onDone(ret) {\n                    if (stack !== 0) stackRestore(stack);\n                    return convertReturnValue(ret)\n                }\n                ret = onDone(ret);\n                return ret\n            };\n            var wasmImports = {\n                m: __ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm,\n                fa: ___syscall_bind,\n                ea: ___syscall_connect,\n                X: ___syscall_faccessat,\n                c: ___syscall_fcntl64,\n                W: ___syscall_fstat64,\n                x: ___syscall_ftruncate64,\n                R: ___syscall_getdents64,\n                $: ___syscall_getpeername,\n                _: ___syscall_getsockname,\n                ca: ___syscall_getsockopt,\n                r: ___syscall_ioctl,\n                T: ___syscall_lstat64,\n                S: ___syscall_mkdirat,\n                U: ___syscall_newfstatat,\n                s: ___syscall_openat,\n                da: ___syscall_poll,\n                aa: ___syscall_recvfrom,\n                P: ___syscall_renameat,\n                k: ___syscall_rmdir,\n                ba: ___syscall_sendto,\n                p: ___syscall_socket,\n                V: ___syscall_stat64,\n                Y: ___syscall_statfs64,\n                l: ___syscall_unlinkat,\n                z: __emscripten_get_now_is_monotonic,\n                a: _abort,\n                H: _duckdb_web_fs_directory_create,\n                I: _duckdb_web_fs_directory_exists,\n                F: _duckdb_web_fs_directory_list_files,\n                G: _duckdb_web_fs_directory_remove,\n                i: _duckdb_web_fs_file_close,\n                D: _duckdb_web_fs_file_exists,\n                w: _duckdb_web_fs_file_get_last_modified_time,\n                E: _duckdb_web_fs_file_move,\n                L: _duckdb_web_fs_file_open,\n                f: _duckdb_web_fs_file_read,\n                K: _duckdb_web_fs_file_truncate,\n                j: _duckdb_web_fs_file_write,\n                M: _duckdb_web_fs_get_default_data_protocol,\n                C: _duckdb_web_fs_glob,\n                h: _duckdb_web_test_platform_feature,\n                N: _duckdb_web_udf_scalar_call,\n                J: _emscripten_date_now,\n                v: _emscripten_get_heap_max,\n                d: _emscripten_get_now,\n                ha: _emscripten_memcpy_big,\n                ia: _emscripten_resize_heap,\n                t: _environ_get,\n                u: _environ_sizes_get,\n                Z: _exit,\n                e: _fd_close,\n                ga: _fd_fdstat_get,\n                A: _fd_pread,\n                y: _fd_pwrite,\n                q: _fd_read,\n                B: _fd_seek,\n                Q: _fd_sync,\n                g: _fd_write,\n                o: _getaddrinfo,\n                O: _getentropy,\n                n: _getnameinfo,\n                b: _strftime_l\n            };\n            var wasmExports = createWasm();\n            var _main = Module[\"_main\"] = (a0, a1) => (_main = Module[\"_main\"] = wasmExports[\"la\"])(a0, a1);\n            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[\"na\"])(a0);\n            var _duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = () => (_duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = wasmExports[\"oa\"])();\n            var _duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = a0 => (_duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = wasmExports[\"pa\"])(a0);\n            var _duckdb_web_reset = Module[\"_duckdb_web_reset\"] = a0 => (_duckdb_web_reset = Module[\"_duckdb_web_reset\"] = wasmExports[\"qa\"])(a0);\n            var _duckdb_web_connect = Module[\"_duckdb_web_connect\"] = () => (_duckdb_web_connect = Module[\"_duckdb_web_connect\"] = wasmExports[\"ra\"])();\n            var _duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = a0 => (_duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = wasmExports[\"sa\"])(a0);\n            var _duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = () => (_duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = wasmExports[\"ta\"])();\n            var _duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = a0 => (_duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = wasmExports[\"ua\"])(a0);\n            var _duckdb_web_open = Module[\"_duckdb_web_open\"] = (a0, a1) => (_duckdb_web_open = Module[\"_duckdb_web_open\"] = wasmExports[\"va\"])(a0, a1);\n            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[\"wa\"])(a0, a1);\n            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[\"xa\"])(a0, a1, a2);\n            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[\"ya\"])(a0, a1);\n            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[\"za\"])(a0, a1);\n            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[\"Aa\"])(a0);\n            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[\"Ba\"])(a0, a1);\n            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[\"Ca\"])(a0, a1, a2);\n            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[\"Da\"])(a0, a1, a2);\n            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[\"Ea\"])(a0, a1, a2, a3, a4);\n            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[\"Fa\"])(a0, a1, a2, a3);\n            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[\"Ga\"])(a0, a1);\n            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[\"Ha\"])(a0, a1, a2);\n            var _duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = a0 => (_duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = wasmExports[\"Ia\"])(a0);\n            var _duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = () => (_duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = wasmExports[\"Ja\"])();\n            var _duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = (a0, a1) => (_duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = wasmExports[\"Ka\"])(a0, a1);\n            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[\"La\"])(a0, a1, a2);\n            var _duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = (a0, a1, a2) => (_duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = wasmExports[\"Ma\"])(a0, a1, a2);\n            var _duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = (a0, a1, a2) => (_duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = wasmExports[\"Na\"])(a0, a1, a2);\n            var _duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = wasmExports[\"Oa\"])(a0, a1, a2, a3);\n            var _duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = wasmExports[\"Pa\"])(a0, a1, a2, a3);\n            var _duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = (a0, a1, a2) => (_duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = wasmExports[\"Qa\"])(a0, a1, a2);\n            var _duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = wasmExports[\"Ra\"])(a0, a1, a2, a3);\n            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[\"Sa\"])(a0, a1, a2);\n            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[\"Ta\"])(a0, a1, a2);\n            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[\"Ua\"])(a0, a1);\n            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[\"Va\"])(a0, a1);\n            var _duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = (a0, a1, a2) => (_duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = wasmExports[\"Wa\"])(a0, a1, a2);\n            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[\"Xa\"])(a0, a1, a2, a3, a4);\n            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[\"Ya\"])(a0, a1, a2, a3);\n            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[\"Za\"])(a0, a1, a2, a3);\n            var _malloc = Module[\"_malloc\"] = a0 => (_malloc = Module[\"_malloc\"] = wasmExports[\"bb\"])(a0);\n            var _free = Module[\"_free\"] = a0 => (_free = Module[\"_free\"] = wasmExports[\"cb\"])(a0);\n            var stackSave = () => (stackSave = wasmExports[\"eb\"])();\n            var stackRestore = a0 => (stackRestore = wasmExports[\"fb\"])(a0);\n            var stackAlloc = a0 => (stackAlloc = wasmExports[\"gb\"])(a0);\n\n            function applySignatureConversions(wasmExports) {\n                wasmExports = Object.assign({}, wasmExports);\n                var makeWrapper_p = f => () => f() >>> 0;\n                var makeWrapper_pp = f => a0 => f(a0) >>> 0;\n                wasmExports[\"__errno_location\"] = makeWrapper_p(wasmExports[\"__errno_location\"]);\n                wasmExports[\"bb\"] = makeWrapper_pp(wasmExports[\"bb\"]);\n                wasmExports[\"eb\"] = makeWrapper_p(wasmExports[\"eb\"]);\n                wasmExports[\"gb\"] = makeWrapper_pp(wasmExports[\"gb\"]);\n                return wasmExports\n            }\n            Module[\"stackAlloc\"] = stackAlloc;\n            Module[\"stackSave\"] = stackSave;\n            Module[\"stackRestore\"] = stackRestore;\n            Module[\"ccall\"] = ccall;\n            var calledRun;\n            dependenciesFulfilled = function runCaller() {\n                if (!calledRun) run();\n                if (!calledRun) dependenciesFulfilled = runCaller\n            };\n\n            function callMain() {\n                var entryFunction = _main;\n                var argc = 0;\n                var argv = 0;\n                try {\n                    var ret = entryFunction(argc, argv);\n                    exitJS(ret, true);\n                    return ret\n                } catch (e) {\n                    return handleException(e)\n                }\n            }\n\n            function run() {\n                if (runDependencies > 0) {\n                    return\n                }\n                preRun();\n                if (runDependencies > 0) {\n                    return\n                }\n\n                function doRun() {\n                    if (calledRun) return;\n                    calledRun = true;\n                    Module[\"calledRun\"] = true;\n                    if (ABORT) return;\n                    initRuntime();\n                    preMain();\n                    readyPromiseResolve(Module);\n                    if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n                    if (shouldRunNow) callMain();\n                    postRun()\n                }\n                if (Module[\"setStatus\"]) {\n                    Module[\"setStatus\"](\"Running...\");\n                    setTimeout(function() {\n                        setTimeout(function() {\n                            Module[\"setStatus\"](\"\")\n                        }, 1);\n                        doRun()\n                    }, 1)\n                } else {\n                    doRun()\n                }\n            }\n            if (Module[\"preInit\"]) {\n                if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [Module[\"preInit\"]];\n                while (Module[\"preInit\"].length > 0) {\n                    Module[\"preInit\"].pop()()\n                }\n            }\n            var shouldRunNow = true;\n            if (Module[\"noInitialRun\"]) shouldRunNow = false;\n            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", "export * from '../bindings';\nexport * from '../log';\nexport * from '../platform';\nexport * from '../status';\nexport * from '../version';\nexport { DuckDBDataProtocol } from '../bindings/runtime';\nexport { DEFAULT_RUNTIME } from '../bindings/runtime';\nexport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\n\nimport { Logger } from '../log';\nimport { DuckDBRuntime, DuckDBBindings } from '../bindings';\nimport { DuckDBBundles, getPlatformFeatures } from '../platform';\nimport { DuckDB as DuckDBMVP } from '../bindings/bindings_browser_mvp';\nimport { DuckDB as DuckDBNext } from '../bindings/bindings_browser_eh';\n\nexport async function createDuckDB(\n    bundles: DuckDBBundles,\n    logger: Logger,\n    runtime: DuckDBRuntime,\n): Promise<DuckDBBindings> {\n    const platform = await getPlatformFeatures();\n    if (platform.wasmExceptions) {\n        if (bundles.eh) {\n            return new DuckDBNext(logger, runtime, bundles.eh!.mainModule);\n        }\n    }\n    return new DuckDBMVP(logger, runtime, bundles.mvp.mainModule);\n}\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", "export enum StatusCode {\n    SUCCESS = 0,\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    reliableHeadRequests?: boolean;\n    allowFullHttpReads?: boolean;\n    s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n    cacheEpoch: number;\n    reliableHeadRequests?: boolean;\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 * 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 { 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        (globalThis as any).DUCKDB_BINDINGS = this;\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 BUF = TEXT_ENCODER.encode(text);\n        const bufferPtr = this.mod._malloc(BUF.length );\n        const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, bufferPtr + BUF.length );\n        bufferOfs.set(BUF);\n        const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run_buffer', ['number', 'number', 'number'], [conn, bufferPtr, BUF.length]);\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        this.mod._free(bufferPtr);\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", "export interface DuckDBQueryConfig {\n    /**\n     * The polling interval for queries\n     */\n    queryPollingInterval?: number;\n    /**\n     * Cast BigInt to Double?\n     */\n    castBigIntToDouble?: boolean;\n    /**\n     * Cast Timestamp to Date64?\n     */\n    castTimestampToDate?: boolean;\n    /**\n     * Cast Timestamp to Date64?\n     */\n    castDurationToTime64?: boolean;\n    /**\n     * Cast Decimal to Double?\n     */\n    castDecimalToDouble?: boolean;\n}\n\nexport interface DuckDBFilesystemConfig {\n    /**\n     * Allow falling back to full HTTP reads if the server does not support range requests.\n     */\n    reliableHeadRequests?: boolean;\n    allowFullHTTPReads?: boolean;\n}\n\nexport enum DuckDBAccessMode {\n    UNDEFINED = 0,\n    AUTOMATIC = 1,\n    READ_ONLY = 2,\n    READ_WRITE = 3,\n}\n\nexport interface DuckDBConfig {\n    /**\n     * The database path\n     */\n    path?: string;\n    /**\n     * The access mode\n     */\n    accessMode?: DuckDBAccessMode;\n    /**\n     * The maximum number of threads.\n     * Note that this will only work with cross-origin isolated sites since it requires SharedArrayBuffers.\n     */\n    maximumThreads?: number;\n    /**\n     * The query config\n     */\n    query?: DuckDBQueryConfig;\n    /**\n     * The filesystem config\n     */\n    filesystem?: DuckDBFilesystemConfig;\n    /**\n     * Whether to allow unsigned extensions\n     */\n    allowUnsignedExtensions?: boolean;\n    /**\n     * Custom user agent string\n     */\n    customUserAgent?: string;\n}\n", "import * as arrow from 'apache-arrow';\nimport { SQLField } from '../json_typedef';\n\nexport enum JSONTableShape {\n    ROW_ARRAY = 'row-array',\n    COLUMN_OBJECT = 'column-object',\n}\n\nexport interface JSONInsertOptions {\n    name: string;\n    schema?: string;\n    create?: boolean;\n    shape?: JSONTableShape;\n    columns?: {\n        [key: string]: arrow.DataType;\n    };\n    columnsFlat?: SQLField[];\n}\n\nexport interface CSVInsertOptions {\n    name: string;\n    schema?: string;\n    create?: boolean;\n    header?: boolean;\n    delimiter?: string;\n    quote?: string;\n    escape?: string;\n    skip?: number;\n    detect?: boolean;\n    dateFormat?: string;\n    timestampFormat?: string;\n    columns?: {\n        [key: string]: arrow.DataType;\n    };\n    columnsFlat?: SQLField[];\n}\n\nexport interface ArrowInsertOptions {\n    name: string;\n    schema?: string;\n    create?: boolean;\n}\n", "export enum TokenType {\n    IDENTIFIER = 0,\n    NUMERIC_CONSTANT = 1,\n    STRING_CONSTANT = 2,\n    OPERATOR = 3,\n    KEYWORD = 4,\n    COMMENT = 5,\n}\n\nexport interface ScriptTokens {\n    offsets: number[];\n    types: TokenType[];\n}\n", "export enum LogLevel {\n    NONE = 0,\n    DEBUG = 1,\n    INFO = 2,\n    WARNING = 3,\n    ERROR = 4,\n}\n\nexport enum LogTopic {\n    NONE = 0,\n    CONNECT = 1,\n    DISCONNECT = 2,\n    OPEN = 3,\n    QUERY = 4,\n    INSTANTIATE = 5,\n}\n\nexport enum LogEvent {\n    NONE = 0,\n    OK = 1,\n    ERROR = 2,\n    START = 3,\n    RUN = 4,\n    CAPTURE = 5,\n}\n\nexport enum LogOrigin {\n    NONE = 0,\n    WEB_WORKER = 1,\n    NODE_WORKER = 2,\n    BINDINGS = 3,\n    ASYNC_DUCKDB = 4,\n}\n\nexport type LogEntry<O, T, E, V> = {\n    readonly timestamp: Date;\n    readonly level: LogLevel;\n    readonly origin: O;\n    readonly topic: T;\n    readonly event: E;\n    readonly value: V;\n};\n\nexport type LogEntryVariant =\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.INSTANTIATE, LogEvent.ERROR, string>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.START, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.OK, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.ERROR, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.OK, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.ERROR, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.OK, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.ERROR, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.START, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.OK, void>\n    | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.ERROR, void>\n    | LogEntry<LogOrigin.ASYNC_DUCKDB, LogTopic.QUERY, LogEvent.RUN, string>;\n\nexport interface Logger {\n    log(entry: LogEntryVariant): void;\n}\n\nexport class VoidLogger implements Logger {\n    public log(_entry: LogEntryVariant): void {}\n}\n\nexport class ConsoleLogger implements Logger {\n    constructor(protected level: LogLevel = LogLevel.INFO) {}\n    public log(entry: LogEntryVariant): void {\n        if (entry.level >= this.level) {\n            console.log(entry);\n        }\n    }\n}\n\nexport function getLogLevelLabel(level: LogLevel): string {\n    switch (level) {\n        case LogLevel.NONE:\n            return 'NONE';\n        case LogLevel.DEBUG:\n            return 'DEBUG';\n        case LogLevel.INFO:\n            return 'INFO';\n        case LogLevel.WARNING:\n            return 'WARNING';\n        case LogLevel.ERROR:\n            return 'ERROR';\n        default:\n            return '?';\n    }\n}\n\nexport function getLogEventLabel(event: LogEvent): string {\n    switch (event) {\n        case LogEvent.NONE:\n            return 'NONE';\n        case LogEvent.OK:\n            return 'OK';\n        case LogEvent.ERROR:\n            return 'ERROR';\n        case LogEvent.START:\n            return 'START';\n        case LogEvent.RUN:\n            return 'RUN';\n        case LogEvent.CAPTURE:\n            return 'CAPTURE';\n        default:\n            return '?';\n    }\n}\n\nexport function getLogTopicLabel(topic: LogTopic): string {\n    switch (topic) {\n        case LogTopic.CONNECT:\n            return 'CONNECT';\n        case LogTopic.DISCONNECT:\n            return 'DISCONNECT';\n        case LogTopic.INSTANTIATE:\n            return 'INSTANTIATE';\n        case LogTopic.OPEN:\n            return 'OPEN';\n        case LogTopic.QUERY:\n            return 'QUERY';\n        default:\n            return '?';\n    }\n}\n\nexport function getLogOriginLabel(origin: LogOrigin): string {\n    switch (origin) {\n        case LogOrigin.NONE:\n            return 'NONE';\n        case LogOrigin.WEB_WORKER:\n            return 'WEB WORKER';\n        case LogOrigin.NODE_WORKER:\n            return 'NODE WORKER';\n        case LogOrigin.BINDINGS:\n            return 'DUCKDB BINDINGS';\n        case LogOrigin.ASYNC_DUCKDB:\n            return 'DUCKDB';\n        default:\n            return '?';\n    }\n}\n", "export const bigInt=()=>(async e=>{try{return(await WebAssembly.instantiate(e)).instance.exports.b(BigInt(0))===BigInt(0)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),extendedConst=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,0,1,11,9,1,0,65,1,65,2,106,11,0])),gc=()=>(async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,95,1,120,0])))(),jspi=()=>(async()=>\"Suspender\"in WebAssembly)(),memory64=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1])),multiMemory=()=>(async()=>{try{return new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,5,5,2,0,0,0,0])),!0}catch(e){return!1}})(),multiValue=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),relaxedSimd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,15,1,13,0,65,1,253,15,65,2,253,15,253,128,2,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),streamingCompilation=()=>(async()=>\"compileStreaming\"in WebAssembly)(),tailCall=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads=()=>(async e=>{try{return\"undefined\"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),typeReflection=()=>(async()=>\"Function\"in WebAssembly)();\n", "{\n    \"name\": \"@vpbs32/duckdb-wasm\",\n    \"version\": \"1.18.8\",\n    \"description\": \"DevRev fork of DuckDB powered by WebAssembly\",\n    \"license\": \"MIT\",\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"git+https://github.com/devrev/duckdb-wasm.git\"\n    },\n    \"publishConfig\": {\n        \"registry\": \"https://npm.pkg.github.com\"\n    },\n    \"author\": \"devrev\",\n    \"keywords\": [\n        \"sql\",\n        \"duckdb\",\n        \"relational\",\n        \"database\",\n        \"data\",\n        \"query\",\n        \"wasm\",\n        \"analytics\",\n        \"olap\",\n        \"arrow\",\n        \"parquet\",\n        \"json\",\n        \"csv\"\n    ],\n    \"dependencies\": {\n        \"apache-arrow\": \"^17.0.0\"\n    },\n    \"devDependencies\": {\n        \"@types/emscripten\": \"^1.39.10\",\n        \"@types/jasmine\": \"^5.1.4\",\n        \"@typescript-eslint/eslint-plugin\": \"^6.21.0\",\n        \"@typescript-eslint/parser\": \"^6.21.0\",\n        \"esbuild\": \"^0.20.2\",\n        \"eslint\": \"^8.57.0\",\n        \"eslint-plugin-jasmine\": \"^4.1.3\",\n        \"eslint-plugin-react\": \"^7.34.0\",\n        \"fast-glob\": \"^3.3.2\",\n        \"jasmine\": \"^5.1.0\",\n        \"jasmine-core\": \"^5.1.2\",\n        \"jasmine-spec-reporter\": \"^7.0.0\",\n        \"js-sha256\": \"^0.11.0\",\n        \"karma\": \"^6.4.2\",\n        \"karma-chrome-launcher\": \"^3.2.0\",\n        \"karma-coverage\": \"^2.2.1\",\n        \"karma-firefox-launcher\": \"^2.1.3\",\n        \"karma-jasmine\": \"^5.1.0\",\n        \"karma-jasmine-html-reporter\": \"^2.1.0\",\n        \"karma-sourcemap-loader\": \"^0.4.0\",\n        \"karma-spec-reporter\": \"^0.0.36\",\n        \"make-dir\": \"^4.0.0\",\n        \"nyc\": \"^15.1.0\",\n        \"prettier\": \"^3.2.5\",\n        \"puppeteer\": \"^22.8.0\",\n        \"rimraf\": \"^5.0.5\",\n        \"s3rver\": \"^3.7.1\",\n        \"typedoc\": \"^0.25.13\",\n        \"typescript\": \"^5.3.3\",\n        \"wasm-feature-detect\": \"^1.6.1\",\n        \"web-worker\": \"^1.2.0\"\n    },\n    \"scripts\": {\n        \"build:debug\": \"node bundle.mjs debug && tsc --emitDeclarationOnly\",\n        \"build:release\": \"node bundle.mjs release && tsc --emitDeclarationOnly\",\n        \"docs\": \"typedoc\",\n        \"report\": \"node ./coverage.mjs\",\n        \"test:node\": \"node --enable-source-maps ../jasmine/bin/jasmine ./dist/tests-node.cjs\",\n        \"test:node:debug\": \"node --inspect-brk --enable-source-maps ../jasmine/bin/jasmine ./dist/tests-node.cjs\",\n        \"test:node:coverage\": \"nyc -r json --report-dir ./coverage/node node ../jasmine/bin/jasmine ./dist/tests-node.cjs\",\n        \"test:firefox\": \"karma start ./karma/tests-firefox.cjs\",\n        \"test:chrome\": \"karma start ./karma/tests-chrome.cjs\",\n        \"test:chrome:eh\": \"karma start ./karma/tests-chrome-eh.cjs\",\n        \"test:chrome:coverage\": \"karma start ./karma/tests-chrome-coverage.cjs\",\n        \"test:browser\": \"karma start ./karma/tests-all.cjs\",\n        \"test:browser:debug\": \"karma start ./karma/tests-debug.cjs\",\n        \"test\": \"npm run test:chrome && npm run test:node\",\n        \"test:coverage\": \"npm run test:chrome:coverage && npm run test:node:coverage && npm run report\",\n        \"lint\": \"eslint src test\"\n    },\n    \"files\": [\n        \"dist\",\n        \"!dist/tests-*\",\n        \"!dist/duckdb-browser-mvp.worker.js.map\",\n        \"!dist/types/test\"\n    ],\n    \"main\": \"dist/duckdb-browser.cjs\",\n    \"module\": \"dist/duckdb-browser.mjs\",\n    \"types\": \"dist/duckdb-browser.d.ts\",\n    \"jsdelivr\": \"dist/duckdb-browser.cjs\",\n    \"unpkg\": \"dist/duckdb-browser.mjs\",\n    \"sideEffects\": false,\n    \"browser\": {\n        \"fs\": false,\n        \"path\": false,\n        \"perf_hooks\": false,\n        \"os\": false,\n        \"worker_threads\": false\n    },\n    \"exports\": {\n        \"./dist/duckdb-mvp.wasm\": \"./dist/duckdb-mvp.wasm\",\n        \"./dist/duckdb-eh.wasm\": \"./dist/duckdb-eh.wasm\",\n        \"./dist/duckdb-coi.wasm\": \"./dist/duckdb-coi.wasm\",\n        \"./dist/duckdb-browser\": \"./dist/duckdb-browser.mjs\",\n        \"./dist/duckdb-browser.cjs\": \"./dist/duckdb-browser.cjs\",\n        \"./dist/duckdb-browser.mjs\": \"./dist/duckdb-browser.mjs\",\n        \"./dist/duckdb-browser-coi.pthread.worker.js\": \"./dist/duckdb-browser-coi.pthread.worker.js\",\n        \"./dist/duckdb-browser-coi.worker.js\": \"./dist/duckdb-browser-coi.worker.js\",\n        \"./dist/duckdb-browser-eh.worker.js\": \"./dist/duckdb-browser-eh.worker.js\",\n        \"./dist/duckdb-browser-mvp.worker.js\": \"./dist/duckdb-browser-mvp.worker.js\",\n        \"./dist/duckdb-node\": \"./dist/duckdb-node.cjs\",\n        \"./dist/duckdb-node.cjs\": \"./dist/duckdb-node.cjs\",\n        \"./dist/duckdb-node-blocking\": \"./dist/duckdb-node-blocking.cjs\",\n        \"./dist/duckdb-node-blocking.cjs\": \"./dist/duckdb-node-blocking.cjs\",\n        \"./dist/duckdb-node-eh.worker.cjs\": \"./dist/duckdb-node-eh.worker.cjs\",\n        \"./dist/duckdb-node-mvp.worker.cjs\": \"./dist/duckdb-node-mvp.worker.cjs\",\n        \"./blocking\": {\n            \"node\": {\n                \"types\": \"./dist/duckdb-node-blocking.d.ts\",\n                \"require\": \"./dist/duckdb-node-blocking.cjs\",\n                \"import\": \"./dist/duckdb-node-blocking.cjs\"\n            },\n            \"types\": \"./dist/duckdb-node-blocking.d.ts\",\n            \"import\": \"./dist/duckdb-node-blocking.mjs\",\n            \"require\": \"./dist/duckdb-node-blocking.cjs\"\n        },\n        \".\": {\n            \"browser\": {\n                \"types\": \"./dist/duckdb-browser.d.ts\",\n                \"import\": \"./dist/duckdb-browser.mjs\",\n                \"require\": \"./dist/duckdb-browser.cjs\"\n            },\n            \"node\": {\n                \"types\": \"./dist/duckdb-node.d.ts\",\n                \"import\": \"./dist/duckdb-node.cjs\",\n                \"require\": \"./dist/duckdb-node.cjs\"\n            },\n            \"types\": \"./dist/duckdb-browser.d.ts\",\n            \"import\": \"./dist/duckdb-browser.mjs\",\n            \"require\": \"./dist/duckdb-browser.cjs\"\n        }\n    }\n}\n", "import config from '../package.json';\n\nexport const PACKAGE_NAME = config.name;\nexport const PACKAGE_VERSION = config.version;\n\nconst VERSION_PARTS = config.version.split('.');\nexport const PACKAGE_VERSION_MAJOR = VERSION_PARTS[0];\nexport const PACKAGE_VERSION_MINOR = VERSION_PARTS[1];\nexport const PACKAGE_VERSION_PATCH = VERSION_PARTS[2];\n", "import * as check from 'wasm-feature-detect';\nimport { PACKAGE_NAME, PACKAGE_VERSION } from './version';\n\n// Platform check taken from here:\n// https://github.com/xtermjs/xterm.js/blob/master/src/common/Platform.ts#L21\n\ninterface INavigator {\n    userAgent: string;\n    language: string;\n    platform: string;\n}\n\n// We're declaring a navigator global here as we expect it in all runtimes (node and browser), but\n// we want this module to live in common.\ndeclare const navigator: INavigator;\n\nexport const isNode = () => (typeof navigator === 'undefined' ? true : false);\nconst userAgent = () => (isNode() ? 'node' : navigator.userAgent);\nexport const isFirefox = () => userAgent().includes('Firefox');\nexport const isSafari = () => /^((?!chrome|android).)*safari/i.test(userAgent());\n\n/** Bundles have different characteristics:\n  * - MVP: minimum viable product (uses features from first stable version of WebAssembly standard)\n  * - EH: exception handling\n  * - COI: cross origin isolation\n  */\nexport interface DuckDBBundles {\n    mvp: {\n        mainModule: string;\n        mainWorker: string;\n    };\n    eh?: {\n        mainModule: string;\n        mainWorker: string;\n    };\n    coi?: {\n        mainModule: string;\n        mainWorker: string;\n        pthreadWorker: string;\n    };\n}\n\nexport function getJsDelivrBundles(): DuckDBBundles {\n    const jsdelivr_dist_url = `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/`;\n    return {\n        mvp: {\n            mainModule: `${jsdelivr_dist_url}duckdb-mvp.wasm`,\n            mainWorker: `${jsdelivr_dist_url}duckdb-browser-mvp.worker.js`,\n        },\n        eh: {\n            mainModule: `${jsdelivr_dist_url}duckdb-eh.wasm`,\n            mainWorker: `${jsdelivr_dist_url}duckdb-browser-eh.worker.js`,\n        },\n        // COI is still experimental, let the user opt in explicitly\n    };\n}\n\nexport interface DuckDBBundle {\n    mainModule: string;\n    mainWorker: string | null;\n    pthreadWorker: string | null;\n}\n\nexport interface PlatformFeatures {\n    bigInt64Array: boolean;\n    crossOriginIsolated: boolean;\n    wasmExceptions: boolean;\n    wasmSIMD: boolean;\n    wasmBulkMemory: boolean;\n    wasmThreads: boolean;\n}\n\nlet bigInt64Array: boolean | null = null;\nlet wasmExceptions: boolean | null = null;\nlet wasmThreads: boolean | null = null;\nlet wasmSIMD: boolean | null = null;\nlet wasmBulkMemory: boolean | null = null;\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\ndeclare namespace globalThis {\n    let crossOriginIsolated: boolean;\n}\n\nexport async function getPlatformFeatures(): Promise<PlatformFeatures> {\n    if (bigInt64Array == null) {\n        bigInt64Array = typeof BigInt64Array != 'undefined';\n    }\n    if (wasmExceptions == null) {\n        wasmExceptions = await check.exceptions();\n    }\n    if (wasmThreads == null) {\n        wasmThreads = await check.threads();\n    }\n    if (wasmSIMD == null) {\n        wasmSIMD = await check.simd();\n    }\n    if (wasmBulkMemory == null) {\n        wasmBulkMemory = await check.bulkMemory();\n    }\n    return {\n        bigInt64Array: bigInt64Array!,\n        crossOriginIsolated: isNode() || globalThis.crossOriginIsolated || false,\n        wasmExceptions: wasmExceptions!,\n        wasmSIMD: wasmSIMD!,\n        wasmThreads: wasmThreads!,\n        wasmBulkMemory: wasmBulkMemory!,\n    };\n}\n\nexport async function selectBundle(bundles: DuckDBBundles): Promise<DuckDBBundle> {\n    const platform = await getPlatformFeatures();\n    if (platform.wasmExceptions) {\n        if (platform.wasmSIMD && platform.wasmThreads && platform.crossOriginIsolated && bundles.coi) {\n            return {\n                mainModule: bundles.coi.mainModule,\n                mainWorker: bundles.coi.mainWorker,\n                pthreadWorker: bundles.coi.pthreadWorker,\n            };\n        }\n        if (bundles.eh) {\n            return {\n                mainModule: bundles.eh.mainModule,\n                mainWorker: bundles.eh.mainWorker,\n                pthreadWorker: null,\n            };\n        }\n    }\n    return {\n        mainModule: bundles.mvp.mainModule,\n        mainWorker: bundles.mvp.mainWorker,\n        pthreadWorker: null,\n    };\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            try {\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 (error) {\n\t\tconsole.warn(error);\n                return null;\n            }\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) == 0) {\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                    if (file.reliableHeadRequests || !file.allowFullHttpReads) {\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\n                    } catch (e: any) {\n                        error = e;\n                        console.warn(`HEAD request with range header failed: ${e}`);\n                    }\n                    }\n\n                    // Try to fallback to full read?\n                    if (file.allowFullHttpReads) {\n                        {\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 contentRange = xhr.getResponseHeader('Content-Range')?.split('/')[1];\n                            const contentLength2 = xhr.getResponseHeader('Content-Length');\n\n                            let presumedLength = null;\n                            if (contentRange !== undefined) {\n                                presumedLength = contentRange;\n                            } else if (!file.reliableHeadRequests) {\n                                // Send a dummy HEAD request with range protocol\n                                //          -> good IFF status is 206 and contentLenght is present\n                                const head = new XMLHttpRequest();\n                                if (file.dataProtocol == DuckDBDataProtocol.S3) {\n                                    head.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n                                    addS3Headers(head, file.s3Config, file.dataUrl!, 'HEAD');\n                                } else {\n                                    head.open('HEAD', file.dataUrl!, false);\n                                }\n                                head.setRequestHeader('Range', `bytes=0-`);\n                                head.send(null);\n   \n                                // Supports range requests\n                                contentLength = head.getResponseHeader('Content-Length');\n                                if (contentLength !== null && +contentLength > 1) {\n                                    presumedLength = contentLength;\n                                }\n                            }\n\n                            if (xhr.status == 206 && contentLength2 !== null && +contentLength2 == 1 && presumedLength !== null) {\n                                const result = mod._malloc(2 * 8);\n                                mod.HEAPF64[(result >> 3) + 0] = +presumedLength;\n                                mod.HEAPF64[(result >> 3) + 1] = 0;\n                                return result;\n                            }\n                            if (xhr.status == 200 && contentLength2 !== null && contentLength !== 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 0;\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 0;\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", "import DuckDBWasm from './duckdb-mvp.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", "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 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"],
  "mappings": "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AIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,GAAIC,GACJ,GAAIC,GACJ,EAAGC,GACH,GAAIC,GACJ,EAAGC,GACH,EAAGC,GACH,GAAIC,GACJ,EAAGC,GACH,EAAGC,GACH,GAAIC,GACJ,GAAIC,GACJ,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,EAAGC,GACH,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAIC,GACJ,GAAI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",
  "names": ["require_sha256", "__commonJSMin", "exports", "module", "ERROR", "WINDOW", "root", "WEB_WORKER", "NODE_JS", "COMMON_JS", "AMD", "ARRAY_BUFFER", "HEX_CHARS", "EXTRA", "SHIFT", "K", "OUTPUT_TYPES", "blocks", "obj", "createOutputMethod", "outputType", "is224", "message", "Sha256", "createMethod", "method", "nodeWrap", "i", "type", "crypto", "Buffer", "algorithm", "bufferFrom", "nodeMethod", "createHmacOutputMethod", "key", "HmacSha256", "createHmacMethod", "sharedMemory", "notString", "code", "index", "length", "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", "require_duckdb_mvp", "__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", "setWindowTitle", "fs", "nodePath", "filename", "binary", "isFileURI", "ret", "onload", "onerror", "err", "data", "url", "xhr", "title", "out", "wasmBinary", "noExitRuntime", "abort", "wasmMemory", "ABORT", "EXITSTATUS", "assert", "condition", "text", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "wasmTable", "__ATPRERUN__", "__ATINIT__", "__ATMAIN__", "__ATPOSTRUN__", "runtimeInitialized", "runtimeKeepaliveCounter", "keepRuntimeAlive", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "preMain", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "instance", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "applySignatureConversions", "wasmExports", "receiveInstantiationResult", "tempDouble", "tempI64", "ExitStatus", "callbacks", "__ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm", "exceptionCaught", "uncaughtExceptionCount", "convertI32PairToI53Checked", "lo", "hi", "___cxa_begin_catch", "ptr", "ExceptionInfo", "exceptionLast", "___cxa_end_catch", "excPtr", "type", "destructor", "caught", "rethrown", "adjustedPtr", "isPointer", "adjusted", "___resumeException", "findMatchingCatch", "args", "thrown", "thrownType", "arg", "caughtType", "adjusted_ptr_addr", "___cxa_find_matching_catch_2", "___cxa_find_matching_catch_3", "arg0", "___cxa_find_matching_catch_4", "arg1", "___cxa_rethrow", "___cxa_throw", "___cxa_uncaught_exceptions", "SOCKFS", "FS", "getSocketFromFD", "fd", "socket", "inetNtop4", "addr", "inetNtop6", "ints", "str", "word", "longest", "lastzero", "zstart", "len", "i", "parts", "hasipv4", "v4part", "readSockaddr", "sa", "salen", "family", "port", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "z", "valid6regx", "DNS", "name", "res", "getSocketAddress", "addrp", "addrlen", "allowNull", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "u0", "u1", "u2", "ch", "UTF8ToString", "SYSCALLS", "___syscall_bind", "d1", "d2", "d3", "sock", "___syscall_connect", "___syscall_faccessat", "dirfd", "amode", "flags", "___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_getsockname", "___syscall_getsockopt", "level", "optname", "optval", "optlen", "___syscall_ioctl", "op", "___syscall_lstat64", "___syscall_mkdirat", "mode", "___syscall_newfstatat", "___syscall_openat", "___syscall_poll", "fds", "nfds", "timeout", "___syscall_recvfrom", "msg", "___syscall_renameat", "olddirfd", "oldpath", "newdirfd", "newpath", "___syscall_rmdir", "___syscall_sendto", "message", "addr_len", "___syscall_socket", "domain", "protocol", "___syscall_stat64", "___syscall_statfs64", "___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_big", "dest", "src", "num", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "x", "multiple", "cutDown", "overGrownHeapSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "_proc_exit", "code", "exitJS", "implicit", "_exit", "_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", "stream", "curr", "_fd_write", "j", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "_malloc", "initRandomFill", "view", "crypto_module", "randomFillSync", "randomBytes", "randomFill", "_getentropy", "_getnameinfo", "nodelen", "serv", "servlen", "overflowed", "lookup", "numBytesWrittenExclNull", "_llvm_eh_typeid_for", "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", "val", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "handleException", "wasmTableMirror", "getWasmTableEntry", "funcPtr", "func", "getCFunc", "ident", "stringToUTF8OnStack", "stackAlloc", "ccall", "returnType", "argTypes", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "stackSave", "onDone", "stackRestore", "invoke_di", "invoke_dii", "invoke_diii", "invoke_diiid", "invoke_diiii", "invoke_diiiid", "invoke_diiiiid", "invoke_diiji", "invoke_diijj", "invoke_dij", "invoke_dijjjj", "invoke_dijjjjij", "invoke_fi", "invoke_fiii", "invoke_fiiii", "invoke_fiiji", "invoke_fijjjj", "invoke_fijjjjij", "invoke_i", "invoke_id", "invoke_idd", "invoke_idi", "invoke_idii", "invoke_idiii", "invoke_idiiii", "invoke_if", "invoke_iff", "invoke_ifi", "invoke_ifii", "invoke_ii", "invoke_iid", "invoke_iidi", "invoke_iidii", "invoke_iidiii", "invoke_iidiiii", "invoke_iidj", "invoke_iif", "invoke_iifii", "invoke_iii", "invoke_iiid", "invoke_iiidj", "invoke_iiii", "invoke_iiiid", "invoke_iiiidjj", "invoke_iiiii", "invoke_iiiiid", "invoke_iiiiii", "invoke_iiiiiid", "invoke_iiiiiii", "invoke_iiiiiiii", "invoke_iiiiiiiii", "invoke_iiiiiiiiii", "invoke_iiiiiiiiiii", "invoke_iiiiiiiiiiidji", "invoke_iiiiiiiiiiii", "invoke_iiiiiiiiiiiii", "invoke_iiiiiiiiiiiiii", "invoke_iiiiiiiiiiiiiiiii", "invoke_iiiiiiiiiiiiiiiiii", "invoke_iiiiiiiiiijii", "invoke_iiiiiiiiiijiiiiiii", "invoke_iiiiiiiiiji", "invoke_iiiiiiiij", "invoke_iiiiiiiijji", "invoke_iiiiiiij", "invoke_iiiiiiiji", "invoke_iiiiiiijii", "invoke_iiiiiiijj", "invoke_iiiiiiijjjjjjii", "invoke_iiiiiij", "invoke_iiiiiiji", "invoke_iiiiiijii", "invoke_iiiiiijji", "invoke_iiiiiijjiiiiiii", "invoke_iiiiiijjiijjji", "invoke_iiiiij", "invoke_iiiiiji", "invoke_iiiiijii", "invoke_iiiiijiii", "invoke_iiiiijiiii", "invoke_iiiiijij", "invoke_iiiiijj", "invoke_iiiiijjj", "invoke_iiiiijjji", "invoke_iiiij", "invoke_iiiiji", "invoke_iiiijii", "invoke_iiiijiii", "invoke_iiiijiijjiii", "invoke_iiiijijj", "invoke_iiiijijjii", "invoke_iiiijj", "invoke_iiiijji", "invoke_iiiijjii", "invoke_iiiijjiii", "invoke_iiiijjj", "invoke_iiiijjjj", "invoke_iiij", "invoke_iiiji", "invoke_iiijii", "invoke_iiijiii", "invoke_iiijiiiij", "invoke_iiijiiiijj", "invoke_iiijiiij", "invoke_iiijiiiji", "invoke_iiijiiijj", "invoke_iiijiij", "invoke_iiijiijj", "invoke_iiijij", "invoke_iiijijj", "invoke_iiijj", "invoke_iiijji", "invoke_iiijjii", "invoke_iiijjiii", "invoke_iiijjijj", "invoke_iiijjijjiii", "invoke_iiijjj", "invoke_iiijjji", "invoke_iiijjjii", "invoke_iiijjjj", "invoke_iij", "invoke_iiji", "invoke_iijii", "invoke_iijiii", "invoke_iijiiii", "invoke_iijiiiiiij", "invoke_iijiiijj", "invoke_iijiiji", "invoke_iijiijj", "invoke_iijiji", "invoke_iijijii", "invoke_iijj", "invoke_iijji", "invoke_iijjii", "invoke_iijjiiiii", "invoke_iijjij", "invoke_iijjj", "invoke_iijjjj", "invoke_ij", "invoke_iji", "invoke_ijii", "invoke_ijji", "invoke_ijjiii", "invoke_ijjj", "invoke_j", "invoke_jd", "invoke_jf", "invoke_ji", "invoke_jii", "invoke_jiii", "invoke_jiiii", "invoke_jiiiii", "invoke_jiiiiii", "invoke_jiiiiiii", "invoke_jiiiiijiiii", "invoke_jiiiij", "invoke_jiiiiji", "invoke_jiiiijii", "invoke_jiiiijiiii", "invoke_jiiiijiiiii", "invoke_jiiij", "invoke_jiiiji", "invoke_jiiijii", "invoke_jiiijiii", "invoke_jiiijiijiii", "invoke_jiiijj", "invoke_jiiijjj", "invoke_jiij", "invoke_jiiji", "invoke_jiijiiii", "invoke_jiijj", "invoke_jiijjjii", "invoke_jij", "invoke_jijiiii", "invoke_jijij", "invoke_jijj", "invoke_jijjij", "invoke_jijjjj", "invoke_jj", "invoke_jji", "invoke_jjj", "invoke_jjjd", "invoke_jjjii", "invoke_jjjji", "invoke_v", "invoke_vi", "invoke_vid", "invoke_viddddi", "invoke_vidi", "invoke_vif", "invoke_vifi", "invoke_vii", "invoke_viid", "invoke_viiddji", "invoke_viidii", "invoke_viii", "invoke_viiidi", "invoke_viiifi", "invoke_viiii", "invoke_viiiii", "invoke_viiiiii", "invoke_viiiiiii", "invoke_viiiiiiii", "invoke_viiiiiiiii", "invoke_viiiiiiiiii", "invoke_viiiiiiiiiii", "invoke_viiiiiiiiiiii", "invoke_viiiiiiiiiiiiiii", "invoke_viiiiiiij", "invoke_viiiiiiijjjji", "invoke_viiiiiij", "invoke_viiiiiijii", "invoke_viiiiij", "invoke_viiiiiji", "invoke_viiiiijii", "invoke_viiiiijiii", "invoke_viiiiijiiii", "invoke_viiiiijj", "invoke_viiiiijjii", "invoke_viiiiijjji", "invoke_viiiij", "invoke_viiiiji", "invoke_viiiijii", "invoke_viiiijiii", "invoke_viiiijiiii", "invoke_viiiijiiiii", "invoke_viiiijiiiiiiii", "invoke_viiiijiijjii", "invoke_viiiijijj", "invoke_viiiijijji", "invoke_viiiijijjj", "invoke_viiiijj", "invoke_viiiijji", "invoke_viiiijjij", "invoke_viiiijjjj", "invoke_viiij", "invoke_viiijd", "invoke_viiijdjji", "invoke_viiiji", "invoke_viiijii", "invoke_viiijiii", "invoke_viiijiiii", "invoke_viiijiiiijjj", "invoke_viiijiiijii", "invoke_viiijiij", "invoke_viiijij", "invoke_viiijiji", "invoke_viiijijij", "invoke_viiijijj", "invoke_viiijijjj", "invoke_viiijj", "invoke_viiijji", "invoke_viiijjii", "invoke_viiijjiii", "invoke_viiijjij", "invoke_viiijjj", "invoke_viiijjjj", "invoke_viij", "invoke_viijd", "invoke_viiji", "invoke_viijii", "invoke_viijiii", "invoke_viijiiii", "invoke_viijiiiii", "invoke_viijiiiiii", "invoke_viijiiiij", "invoke_viijiiij", "invoke_viijiij", "invoke_viijiiji", "invoke_viijiijj", "invoke_viijiijji", "invoke_viijij", "invoke_viijiji", "invoke_viijijiiii", "invoke_viijijiiiijjj", "invoke_viijijj", "invoke_viijj", "invoke_viijji", "invoke_viijjii", "invoke_viijjj", "invoke_viijjji", "invoke_viijjjji", "invoke_vij", "invoke_viji", "invoke_vijii", "invoke_vijiii", "invoke_vijiiii", "invoke_vijiiiii", "invoke_vijiiiiii", "invoke_vijiiiiji", "invoke_vijiiiji", "invoke_vijiij", "invoke_vijij", "invoke_vijiji", "invoke_vijijiiiijjj", "invoke_vijijiij", "invoke_vijijj", "invoke_vijijjji", "invoke_vijj", "invoke_vijji", "invoke_vijjii", "invoke_vijjiii", "invoke_vijjij", "invoke_vijjj", "invoke_vijjji", "invoke_vj", "invoke_vji", "invoke_vjii", "invoke_vjiii", "invoke_vjiiii", "invoke_vjiiij", "invoke_vjjii", "invoke_vjjijij", "_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_query_run_buffer", "_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", "_free", "sp", "a5", "a6", "a7", "a8", "a9", "a10", "a11", "a12", "a13", "a14", "a15", "a16", "a17", "a18", "a19", "a20", "makeWrapper_p", "f", "makeWrapper_pp", "calledRun", "runCaller", "run", "callMain", "entryFunction", "argc", "argv", "doRun", "shouldRunNow", "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", "setWindowTitle", "fs", "nodePath", "filename", "binary", "isFileURI", "ret", "onload", "onerror", "err", "data", "url", "xhr", "title", "out", "wasmBinary", "noExitRuntime", "abort", "wasmMemory", "ABORT", "EXITSTATUS", "assert", "condition", "text", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "wasmTable", "__ATPRERUN__", "__ATINIT__", "__ATMAIN__", "__ATPOSTRUN__", "runtimeInitialized", "runtimeKeepaliveCounter", "keepRuntimeAlive", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "preMain", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "instance", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "applySignatureConversions", "wasmExports", "receiveInstantiationResult", "tempDouble", "tempI64", "ExitStatus", "callbacks", "__ZN18duckdb_skiplistlib9skip_list19_throw_exceeds_sizeEm", "SOCKFS", "FS", "getSocketFromFD", "fd", "socket", "inetNtop4", "addr", "inetNtop6", "ints", "str", "word", "longest", "lastzero", "zstart", "len", "i", "parts", "hasipv4", "v4part", "readSockaddr", "sa", "salen", "family", "port", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "z", "valid6regx", "DNS", "name", "res", "getSocketAddress", "addrp", "addrlen", "allowNull", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "u0", "u1", "u2", "ch", "UTF8ToString", "ptr", "SYSCALLS", "convertI32PairToI53Checked", "lo", "hi", "___syscall_bind", "d1", "d2", "d3", "sock", "___syscall_connect", "___syscall_faccessat", "dirfd", "amode", "flags", "___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_getsockname", "___syscall_getsockopt", "level", "optname", "optval", "optlen", "___syscall_ioctl", "op", "___syscall_lstat64", "___syscall_mkdirat", "mode", "___syscall_newfstatat", "___syscall_openat", "___syscall_poll", "fds", "nfds", "timeout", "___syscall_recvfrom", "msg", "___syscall_renameat", "olddirfd", "oldpath", "newdirfd", "newpath", "___syscall_rmdir", "___syscall_sendto", "message", "addr_len", "___syscall_socket", "domain", "type", "protocol", "___syscall_stat64", "___syscall_statfs64", "___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_big", "dest", "src", "num", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "x", "multiple", "cutDown", "overGrownHeapSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "_proc_exit", "code", "exitJS", "implicit", "_exit", "_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", "stream", "curr", "_fd_write", "j", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "_malloc", "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", "val", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "handleException", "getCFunc", "ident", "func", "stringToUTF8OnStack", "stackAlloc", "ccall", "returnType", "argTypes", "args", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "stackSave", "onDone", "stackRestore", "_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_query_run_buffer", "_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", "_free", "makeWrapper_p", "f", "makeWrapper_pp", "calledRun", "runCaller", "run", "callMain", "entryFunction", "argc", "argv", "doRun", "shouldRunNow", "duckdb_browser_blocking_exports", "__export", "BROWSER_RUNTIME", "ConsoleLogger", "DEFAULT_RUNTIME", "DuckDBAccessMode", "DuckDBBindingsBase", "DuckDBConnection", "DuckDBDataProtocol", "DuckDBFeature", "FileFlags", "FileStatistics", "JSONTableShape", "LogEvent", "LogLevel", "LogOrigin", "LogTopic", "PACKAGE_NAME", "PACKAGE_VERSION", "PACKAGE_VERSION_MAJOR", "PACKAGE_VERSION_MINOR", "PACKAGE_VERSION_PATCH", "PreparedStatement", "ResultStreamIterator", "StatusCode", "TokenType", "VoidLogger", "callSRet", "copyBuffer", "createDuckDB", "decodeText", "dropResponseBuffers", "failWith", "getJsDelivrBundles", "getLogEventLabel", "getLogLevelLabel", "getLogOriginLabel", "getLogTopicLabel", "getPlatformFeatures", "isFirefox", "isNode", "isSafari", "readString", "selectBundle", "__toCommonJS", "arrow", "DuckDBConnection", "bindings", "conn", "callback", "text", "buffer", "reader", "header", "resolve", "reject", "e", "iter", "ResultStreamIterator", "query", "stmt", "PreparedStatement", "name", "returns", "func", "table", "options", "path", "bufferI8", "connectionId", "statementId", "params", "StatusCode", "TEXT_ENCODER", "TEXT_DECODER", "storeError", "mod", "response", "message", "msgBuffer", "heapAddr", "heapArray", "getTypeSize", "ptype", "ptrToArray", "ptr", "n", "heap", "ptrToUint8Array", "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", "DuckDBDataProtocol", "FileFlags", "callSRet", "funcName", "argTypes", "args", "stackPointer", "response", "status", "dataSize", "dropResponseBuffers", "DEFAULT_RUNTIME", "_mod", "_feature", "_fileId", "flags", "_newSize", "_buffer", "_bytes", "_location", "_pathPtr", "_pathLen", "_fromPtr", "_fromLen", "_toPtr", "_toLen", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "callScalarUDF", "FileStatistics", "u8array", "f64", "blocks", "index", "out", "arrow", "arrowToSQLType", "type", "dec", "c", "arrowToSQLField", "map_", "name", "t", "TEXT_ENCODER", "DuckDBFeature", "DuckDBBindingsBase", "logger", "runtime", "onProgress", "_", "resolve", "x", "config", "s", "d", "n", "callSRet", "readString", "dropResponseBuffers", "version", "text", "res", "conn", "DuckDBConnection", "worker", "BUF", "bufferPtr", "copyBuffer", "name", "returns", "func", "decl", "arrowToSQLType", "def", "statement", "params", "buffer", "options", "optJSON", "path", "k", "arrowToSQLField", "opt", "infoStr", "info", "url", "proto", "directIO", "ptr", "handle", "protocol", "copy", "file", "enable", "FileStatistics", "DuckDBAccessMode", "JSONTableShape", "TokenType", "LogLevel", "LogTopic", "LogEvent", "LogOrigin", "VoidLogger", "_entry", "ConsoleLogger", "level", "entry", "getLogLevelLabel", "getLogEventLabel", "event", "getLogTopicLabel", "topic", "getLogOriginLabel", "origin", "bulkMemory", "exceptions", "simd", "threads", "e", "package_default", "PACKAGE_NAME", "package_default", "PACKAGE_VERSION", "VERSION_PARTS", "PACKAGE_VERSION_MAJOR", "PACKAGE_VERSION_MINOR", "PACKAGE_VERSION_PATCH", "isNode", "userAgent", "isFirefox", "isSafari", "getJsDelivrBundles", "jsdelivr_dist_url", "PACKAGE_NAME", "PACKAGE_VERSION", "bigInt64Array", "wasmExceptions", "wasmThreads", "wasmSIMD", "wasmBulkMemory", "getPlatformFeatures", "exceptions", "threads", "simd", "bulkMemory", "selectBundle", "bundles", "platform", "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", "i", "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", "error", "e", "_a", "_mod", "feature", "flags", "_b", "xhr", "getHTTPUrl", "addS3Headers", "data", "src", "result", "contentLength", "contentRange", "contentLength2", "presumedLength", "head", "handle", "buffer", "failWith", "pathPtr", "pathLen", "path", "globalInfo", "xhr2", "_fileId", "newSize", "buf", "bytes", "location", "sliced", "out", "input", "fromPtr", "fromLen", "toPtr", "toLen", "from", "to", "key", "value", "_pathPtr", "_pathLen", "response", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "callScalarUDF", "import_duckdb_mvp", "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_duckdb_eh", "DuckDB", "DuckDBBrowserBindings", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "moduleOverrides", "DuckDBWasm", "createDuckDB", "bundles", "logger", "runtime", "getPlatformFeatures", "DuckDB"]
}
