{"version":3,"sources":["jsdelivr-header.js","/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js","/node_modules/.pnpm/afsm@2.4.9/node_modules/afsm/index.ts","/npm/jv4-decoder@1.1.7/src/video_decoder_soft_base.ts","/npm/jv4-decoder@1.1.7/wasm/types/videodec.js","/npm/jv4-decoder@1.1.7/src/video_decoder_soft.ts","/npm/jv4-decoder@1.1.7/wasm/types/videodec_simd.js","/npm/jv4-decoder@1.1.7/src/video_decoder_soft_simd.ts","/npm/jv4-decoder@1.1.7/src/video_decoder_hard.ts","/npm/jv4-decoder@1.1.7/src/fmp4.ts","/npm/jv4-decoder@1.1.7/src/exp-golomb.ts","/npm/jv4-decoder@1.1.7/src/h264-sps-parser.ts","/npm/jv4-decoder@1.1.7/src/h264.ts","/npm/jv4-decoder@1.1.7/src/video_decoder_mse.ts","/npm/jv4-decoder@1.1.7/wasm/types/audiodec.js","/npm/jv4-decoder@1.1.7/src/audio_decoder_soft.ts","/npm/jv4-decoder@1.1.7/src/audio_decoder_hard.ts"],"names":[],"mappings":"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","file":"/npm/jv4-decoder@1.1.7/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jv4-decoder@1.1.7/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n  if (typeof fn !== 'function') {\n    throw new TypeError('The listener must be a function');\n  }\n\n  var listener = new EE(fn, context || emitter, once)\n    , evt = prefix ? prefix + event : event;\n\n  if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n  else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n  else emitter._events[evt] = [emitter._events[evt], listener];\n\n  return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n  if (--emitter._eventsCount === 0) emitter._events = new Events();\n  else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n  var evt = prefix ? prefix + event : event\n    , handlers = this._events[evt];\n\n  if (!handlers) return [];\n  if (handlers.fn) return [handlers.fn];\n\n  for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n    ee[i] = handlers[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n  var evt = prefix ? prefix + event : event\n    , listeners = this._events[evt];\n\n  if (!listeners) return 0;\n  if (listeners.fn) return 1;\n  return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    clearEvent(this, evt);\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n      listeners.fn === fn &&\n      (!once || listeners.once) &&\n      (!context || listeners.context === context)\n    ) {\n      clearEvent(this, evt);\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n        listeners[i].fn !== fn ||\n        (once && !listeners[i].once) ||\n        (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else clearEvent(this, evt);\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) clearEvent(this, evt);\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n  module.exports = EventEmitter;\n}\n","import EventEmitter from 'eventemitter3';\nexport interface IFSM extends FSM {\n\n}\nconst instance = Symbol('instance');\nconst abortCtrl = Symbol('abortCtrl');\nconst cacheResult = Symbol('cacheResult');\nexport type State = string | MiddleState;\ntype contextType = string | object;\nexport interface ChangeOption {\n  ignoreError?: boolean;\n  action?: string;\n  success?: (result: any) => any;\n  fail?: (err: FSMError) => any;\n  /**\n   * 用于组合一组状态，当一个类里面有多个状态机时，可以用此属性来区分\n   */\n  context?: ((this: IFSM, ...args: any[]) => contextType) | contextType;\n  /**\n   * 用于中断状态机，当状态机处于中间状态时，调用此函数，会中断状态机。\n   */\n  abortAction?: string;\n  sync?: boolean; //同步执行\n}\n\n// 中间过渡状态\nexport class MiddleState {\n  aborted = false;\n  constructor(public oldState: State, public newState: string, public action: string) {\n  }\n  abort(fsm: IFSM) {\n    this.aborted = true;\n    setState.call(fsm, this.oldState, new Error(`action '${this.action}' aborted`));\n  }\n  toString() {\n    return `${this.action}ing`;\n  }\n}\nexport class FSMError extends Error {\n  /*************  ✨ Codeium Command ⭐  *************/\n  /**\n   * Create a new instance of FSMError.\n   * @param state current state.\n   * @param message error message.\n   * @param cause original error.\n/******  625fa23f-3ee1-42ac-94bd-4f6ffd4578ff  *******/\n  constructor(public state: State, public message: string, public cause?: Error) {\n    super(message);\n  }\n}\nfunction thenAble<T>(val: T | Promise<T>): val is Promise<T> {\n  return typeof val === 'object' && val && 'then' in val;\n}\nconst stateDiagram = new Map<Object, { from: string | string[], to: string, action: string; }[]>();\n// const originPromise = Object.getPrototypeOf((async () => { })()).constructor;\nexport function ChangeState(from: string | string[], to: string, opt: ChangeOption = {}) {\n  return (target: any, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>) => {\n    const action = opt.action || propertyKey as string;\n    if (!opt.context) {\n      const stateConfig = stateDiagram.get(target) || [];\n      if (!stateDiagram.has(target)) stateDiagram.set(target, stateConfig);\n      stateConfig.push({ from, to, action });\n    }\n    const origin = descriptor.value;\n    descriptor.value = function (this: IFSM, ...arg: any[]) {\n      let fsm = this;\n      if (opt.context) {\n        // @ts-ignore\n        fsm = FSM.get(typeof opt.context === 'function' ? opt.context.call(this, ...arg) : opt.context);\n      }\n      if (fsm.state === to) return opt.sync ? fsm[cacheResult] : Promise.resolve(fsm[cacheResult]);\n      else if (fsm.state instanceof MiddleState) {\n        if (fsm.state.action == opt.abortAction) {\n          fsm.state.abort(fsm);\n        }\n      }\n      let err: FSMError | null = null;\n      if (Array.isArray(from)) {\n        if (from.length == 0) {\n          if (fsm.state instanceof MiddleState) fsm.state.abort(fsm);\n        } else if ((typeof fsm.state != \"string\" || !from.includes(fsm.state))) {\n          err = new FSMError(fsm._state, `${fsm.name} ${action} to ${to} failed: current state ${fsm._state} not from ${from.join('|')}`);\n        }\n      } else {\n        if (from !== fsm.state) {\n          err = new FSMError(fsm._state, `${fsm.name} ${action} to ${to} failed: current state ${fsm._state} not from ${from}`);\n        }\n      }\n\n      const returnErr = (err: FSMError) => {\n        if (opt.fail) opt.fail.call(this, err);\n        if (opt.sync) {\n          if (opt.ignoreError) return err;\n          throw err;\n        } else {\n          if (opt.ignoreError) return Promise.resolve(err);\n          return Promise.reject(err);\n        }\n      };\n\n      if (err) return returnErr(err);\n\n      const old = fsm.state;\n      const middle = new MiddleState(old, to, action);\n      setState.call(fsm, middle);\n      const success = (result: any) => {\n        fsm[cacheResult] = result;\n        if (!middle.aborted) {\n          setState.call(fsm, to);\n          opt.success?.call(this, fsm[cacheResult]);\n        }\n        return result;\n      };\n      const failed = (err: FSMError) => {\n        setState.call(fsm, old, err);\n        return returnErr(err);\n      };\n      try {\n        const result = origin.apply(this, arg);\n        if (thenAble(result)) return result.then(success).catch(failed);\n        else return opt.sync ? success(result) : Promise.resolve(success(result));\n      } catch (err) {\n        return failed(new FSMError(fsm._state, `${fsm.name} ${action} from ${from} to ${to} failed: ${err}`, err instanceof Error ? err : new Error(String(err))));\n      }\n    };\n  };\n}\nexport function tryChangeState(from: string | string[], to: string, opt: ChangeOption = { ignoreError: true }) {\n  ChangeState(from, to, opt);\n}\n//包含状态，即只在此种状态下方可调用函数\nexport function Includes(...states: string[]) {\n  return (target: any, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>) => {\n    const origin = descriptor.value;\n    const action = propertyKey as string;\n    descriptor.value = function (this: IFSM, ...arg: any[]) {\n      if (!states.includes(this.state.toString())) throw new FSMError(this.state, `${this.name} ${action} failed: current state ${this.state} not in ${states}`);\n      return origin.apply(this, arg);\n    };\n  };\n}\n//排除状态，即不在此种状态下方可调用函数\nexport function Excludes(...states: string[]) {\n  return (target: any, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>) => {\n    const origin = descriptor.value;\n    const action = propertyKey as string;\n    descriptor.value = async function (this: IFSM, ...arg: any[]) {\n      if (states.includes(this.state.toString())) throw new FSMError(this.state, `${this.name} ${action} failed: current state ${this.state} in ${states}`);\n      return origin.apply(this, arg);\n    };\n  };\n}\n//动作状态，即异步函数执行期间，状态为actioning,或者自定义名称，结束后回到原状态\nexport function ActionState(name?: string) {\n  return (target: any, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>) => {\n    const origin = descriptor.value;\n    const action = name || propertyKey as string;\n    descriptor.value = function (this: IFSM, ...arg: any[]) {\n      const old = this.state;\n      setState.call(this, action);\n      try {\n        let result = origin.apply(this, arg);\n        const success = (result: any) => {\n          setState.call(this, old);\n          return result;\n        };\n        if (thenAble(result)) return result.then(success);\n        return success(result);\n      } catch (err) {\n        setState.call(this, old, err);\n        throw err;\n      }\n    };\n  };\n}\n\nconst sendDevTools = (() => {\n  //@ts-ignore\n  const hasDevTools = typeof window !== 'undefined' && window['__AFSM__'];\n  const inWorker = typeof importScripts !== 'undefined';\n  return hasDevTools ? (name: string, detail: any) => {\n    window.dispatchEvent(new CustomEvent(name, { detail }));\n  } : inWorker ? (type: string, payload: any) => {\n    postMessage({ type, payload });\n  } : () => { };\n})();\nfunction setState(this: FSM, value: State, err?: any) {\n  const old = this._state;\n  this._state = value;\n  const state = value.toString();\n  if (value) this.emit(state, old);\n  this.emit(FSM.STATECHANGED, value, old, err);\n  this.updateDevTools({ value, old, err: err instanceof Error ? err.message : String(err) });\n}\n\ninterface FSMEventTypes {\n  stateChanged: [State, State, any];\n}\n\nexport class FSM<EventTypes extends EventEmitter.ValidEventTypes = string | symbol,\n  Context extends any = any> extends EventEmitter<EventTypes | FSMEventTypes, Context> {\n  get stateDiagram(): string[] {\n    const protoType = Object.getPrototypeOf(this);\n    const stateConfig = stateDiagram.get(protoType) || [];\n    let result = new Set<string>();\n    let plain: { from: string; to: string; action: string; }[] = [];\n    let forceTo: { to: string; action: string; }[] = [];\n\n    const allState = new Set();\n    const parent = Object.getPrototypeOf(protoType);\n    if (stateDiagram.has(parent)) {\n      parent.stateDiagram.forEach((stateDesc: string) => result.add(stateDesc));\n      parent.allStates.forEach((state: string) => allState.add(state));\n    }\n    stateConfig.forEach(({ from, to, action }) => {\n      if (typeof from === 'string') {\n        plain.push({ from, to, action });\n      } else {\n        if (from.length) {\n          from.forEach(f => {\n            plain.push({ from: f, to, action });\n          });\n        }\n        else forceTo.push({ to, action });\n      }\n    });\n    plain.forEach(({ from, to, action }) => {\n      allState.add(from);\n      allState.add(to);\n      allState.add(action + \"ing\");\n      result.add(`${from} --> ${action}ing : ${action}`);\n      result.add(`${action}ing --> ${to} : ${action} 🟢`);\n      result.add(`${action}ing --> ${from} : ${action} 🔴`);\n    });\n    forceTo.forEach(({ to, action }) => {\n      result.add(`${action}ing --> ${to} : ${action} 🟢`);\n      allState.forEach(f => {\n        if (f !== to)\n          result.add(`${f} --> ${action}ing : ${action}`);\n      });\n    });\n    const value = [...result];\n    Object.defineProperties(protoType, {\n      stateDiagram: { value },\n      allStates: { value: allState }\n    });\n    return value;\n  }\n  static readonly STATECHANGED = 'stateChanged';\n  static readonly UPDATEAFSM = 'updateAFSM';\n  static readonly INIT = \"[*]\";//初始状态\n  static readonly ON = \"on\";\n  static readonly OFF = \"off\";\n  static instances = new Map<string, IFSM>();\n  static instances2 = new WeakMap<object, IFSM>();\n  static get(context: string | object) {\n    let fsm: IFSM | undefined;\n    if (typeof context === 'string') {\n      fsm = FSM.instances.get(context);\n      if (!fsm) {\n        FSM.instances.set(context, fsm = new FSM(context, undefined, Object.create(FSM.prototype)));\n      }\n    } else {\n      fsm = FSM.instances2.get(context);\n      if (!fsm) {\n        FSM.instances2.set(context, fsm = new FSM(context.constructor.name, undefined, Object.create(FSM.prototype)));\n      }\n    }\n    return fsm;\n  }\n  static getState(context: string | object) {\n    return FSM.get(context)?.state;\n  }\n  _state: State = FSM.INIT;\n  [cacheResult]: any;\n  [abortCtrl]?: { aborted: boolean; };\n  constructor(public name?: string, public groupName?: string, prototype?: any) {\n    super();\n    if (!name) name = Date.now().toString(36);\n    if (!prototype) prototype = Object.getPrototypeOf(this);\n    else Object.setPrototypeOf(this, prototype);\n    if (!groupName) this.groupName = this.constructor.name;\n    const names = prototype[instance];\n    if (!names) prototype[instance] = { name: this.name, count: 0 };\n    else this.name = names.name + \"-\" + names.count++;\n    this.updateDevTools({ diagram: this.stateDiagram });\n  }\n  updateDevTools(payload: any = {}) {\n    sendDevTools(FSM.UPDATEAFSM, { name: this.name, group: this.groupName, ...payload });\n  }\n  get state() {\n    return this._state;\n  }\n  set state(value: State) {\n    setState.call(this, value);\n  }\n}","import { VideoDecoderInterface, VideoCodecInfo, VideoDecoderEvent, JVideoFrame, ErrorInfo } from './types';\nimport { FSM, ChangeState, Includes } from 'afsm';\n\nfunction WorkerScripts() {\n  var decoder;\n  self.onmessage = (evt) => {\n    if (evt.data.type === 'init') {\n      const { canvas, wasmScript, wasmBinary } = evt.data;\n      const gl = canvas?.getContext('2d');\n      let width = 0;\n      let height = 0;\n      const module = {\n        wasmBinary,\n        postRun: () => {\n          decoder = new module.VideoDecoder({\n            videoInfo(w: number, h: number): void {\n              width = w;\n              height = h;\n              console.log(\"video info\", w, h);\n            },\n            yuvData(yuvArray: number, pts: number): void {\n              const size = width * height;\n              const halfSize = size >> 2;\n\n              let yPtr = module.HEAPU32![(yuvArray >> 2)];\n              let uPtr = module.HEAPU32![(yuvArray >> 2) + 1];\n              let vPtr = module.HEAPU32![(yuvArray >> 2) + 2];\n\n              let yBuf = module.HEAPU8!.subarray(yPtr, yPtr + size);\n              let uBuf = module.HEAPU8!.subarray(uPtr, uPtr + halfSize);\n              let vBuf = module.HEAPU8!.subarray(vPtr, vPtr + halfSize);\n              const data = new Uint8Array(size + halfSize + halfSize);\n              data.set(yBuf);\n              data.set(uBuf, size);\n              data.set(vBuf, size + halfSize);\n              const videoFrame = new VideoFrame(data, {\n                codedWidth: width,\n                codedHeight: height,\n                format: 'I420',\n                timestamp: pts\n              });\n              if (canvas) {\n                gl?.drawImage(videoFrame, 0, 0, canvas.width, canvas.height);\n                gl?.commit();\n              } else {\n                self.postMessage({ type: 'yuvData', videoFrame }, [videoFrame]);\n              }\n            }\n          });\n          self.postMessage({ type: 'ready' });\n        }\n      };\n      Function(\"var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return \" + wasmScript)()(module);\n    } else if (evt.data.type === 'decode') {\n      const { packet } = evt.data;\n      decoder?.decode(packet.data, packet.type == 'key', packet.timestamp);\n    } else if (evt.data.type === 'setCodec') {\n      const { codec, format, description } = evt.data;\n      decoder?.setCodec(codec, format, description ?? '');\n    }\n  };\n}\n\nexport class VideoDecoderSoftBase extends FSM<{ [VideoDecoderEvent.VideoCodecInfo]: [VideoCodecInfo], [VideoDecoderEvent.VideoFrame]: [VideoFrame | { y: Uint8Array, u: Uint8Array, v: Uint8Array, timestamp: number; }];[VideoDecoderEvent.Error]: [ErrorInfo]; }> implements VideoDecoderInterface {\n  worker: Worker;\n  decoder: any;\n  config?: VideoDecoderConfig;\n  module: Partial<EmscriptenModule & { VideoDecoder: any; }> = {};\n  width = 0;\n  height = 0;\n\n  constructor(public createModule: any, private wasmBinary?: Promise<ArrayBuffer>, private workerMode = false, private canvas?: HTMLCanvasElement, private yuvMode = false) {\n    super();\n  };\n  @ChangeState([FSM.INIT, \"closed\"], \"initialized\")\n  async initialize(opt?: EmscriptenModule): Promise<void> {\n    if (this.workerMode) {\n      const script = /\\{(.+)\\}/s.exec(WorkerScripts.toString())![1];\n      this.worker = new Worker(URL.createObjectURL(new Blob([script], { type: 'text/javascript' })));\n      const offsetCanvas = this.canvas?.transferControlToOffscreen();\n      const wasmBinary = await this.wasmBinary;\n      console.warn(\"worker mode\", wasmBinary);\n      this.worker.postMessage({ type: 'init', canvas: offsetCanvas, wasmScript: this.createModule.toString(), wasmBinary }, offsetCanvas ? [offsetCanvas, wasmBinary] : [wasmBinary]);\n      return new Promise(resolve => {\n        this.worker.onmessage = (evt) => {\n          if (evt.data.type === 'ready') {\n            delete this.wasmBinary;\n            resolve();\n            console.warn(`worker mode initialize success`);\n          } else if (evt.data.type === 'yuvData') {\n            const { videoFrame } = evt.data;\n            this.emit(VideoDecoderEvent.VideoFrame, videoFrame);\n          }\n        };\n      });\n    }\n    const opts: any = this.module;\n    if (this.wasmBinary) {\n      opts.wasmBinary = await this.wasmBinary;\n    }\n    opts.print = ((text: string) => console.log(text));\n    opts.printErr = ((text: string) => console.log(`[JS] ERROR: ${text}`));\n    opts.onAbort = (() => console.log(\"[JS] FATAL: WASM ABORTED\"));\n    return new Promise(resolve => {\n      opts.postRun = ((m: any) => {\n        this.decoder = new this.module.VideoDecoder(this);\n        console.log(`video soft decoder initialize success`);\n        resolve();\n      });\n      if (opt) Object.assign(opts, opt);\n      this.createModule(opts);\n    });\n  }\n  @ChangeState(\"initialized\", \"configured\", { sync: true })\n  configure(config: VideoDecoderConfig): void {\n    this.config = config;\n    const codec = this.config.codec.startsWith('avc') ? 'avc' : 'hevc';\n    const format = this.config.description ? (codec == 'avc' ? 'avcc' : 'hvcc') : 'annexb';\n    this.decoder?.setCodec(codec, format, this.config.description ?? '');\n    this.worker?.postMessage({ type: 'setCodec', codec, format, description: this.config.description });\n  }\n  decode(packet: EncodedVideoChunkInit): void {\n    this.decoder?.decode(packet.data, packet.type == 'key', packet.timestamp);\n    if (this.state === \"configured\") this.worker?.postMessage({ type: 'decode', packet });\n  }\n\n  flush(): void {\n\n  }\n  @ChangeState([], FSM.INIT, { sync: true })\n  reset(): void {\n    this.config = undefined;\n    if (this.decoder) {\n      this.decoder.clear();\n    }\n  }\n  @ChangeState([], \"closed\", { sync: true })\n  close(): void {\n    this.removeAllListeners();\n    if (this.decoder) {\n      this.decoder.clear();\n      this.decoder.delete();\n    }\n  }\n\n  // wasm callback function\n  videoInfo(width: number, height: number): void {\n\n    this.width = width;\n    this.height = height;\n\n    let videoCodeInfo: VideoCodecInfo = {\n      width: width,\n      height: height\n    };\n\n    this.emit(VideoDecoderEvent.VideoCodecInfo, videoCodeInfo);\n\n  }\n\n\n  yuvData(yuvArray: number, pts: number): void {\n\n    if (!this.module) {\n\n      return;\n    }\n\n    const size = this.width * this.height;\n    const halfSize = size >> 2;\n\n    let yPtr = this.module.HEAPU32![(yuvArray >> 2)];\n    let uPtr = this.module.HEAPU32![(yuvArray >> 2) + 1];\n    let vPtr = this.module.HEAPU32![(yuvArray >> 2) + 2];\n\n    let yBuf = this.module.HEAPU8!.subarray(yPtr, yPtr + size);\n    let uBuf = this.module.HEAPU8!.subarray(uPtr, uPtr + halfSize);\n    let vBuf = this.module.HEAPU8!.subarray(vPtr, vPtr + halfSize);\n    if (this.yuvMode) {\n      this.emit(VideoDecoderEvent.VideoFrame, { y: yBuf, u: uBuf, v: vBuf, timestamp: pts });\n      return;\n    }\n    const data = new Uint8Array(size + halfSize + halfSize);\n    data.set(yBuf);\n    data.set(uBuf, size);\n    data.set(vBuf, size + halfSize);\n    //  let datas = [Uint8Array.from(yBuf), Uint8Array.from(uBuf), Uint8Array.from(vBuf)];\n\n    // let vFrame: JVideoFrame = {\n    //   pixelType: 'I420',\n    //   data,\n    //   width: this.width,\n    //   height: this.height,\n    //   pts: pts\n    // };\n\n    this.emit(VideoDecoderEvent.VideoFrame, new VideoFrame(data, {\n      codedWidth: this.width,\n      codedHeight: this.height,\n      format: 'I420',\n      timestamp: pts\n    }));\n\n  }\n\n  errorInfo(errormsg: string): void {\n\n    let err: ErrorInfo = {\n      errMsg: errormsg\n    };\n\n    this.emit(VideoDecoderEvent.Error, err);\n  }\n\n};\n","\nvar Module = (() => {\n  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n  \n  return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile=\"videodec.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+binaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;wasmMemory=wasmExports[\"E\"];updateMemoryViews();wasmTable=wasmExports[\"H\"];addOnInit(wasmExports[\"F\"]);removeRunDependency(\"wasm-instantiate\");return exports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};var PATH={isAbs:path=>path.charAt(0)===\"/\",splitPath:filename=>{var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(p=>!!p),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path===\"/\")return\"/\";path=PATH.normalize(path);path=path.replace(/\\/$/,\"\");var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join(\"/\"))},join2:(l,r)=>PATH.normalize(l+\"/\"+r)};var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter(p=>!!p),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else if(typeof readline==\"function\"){result=readline();if(result!==null){result+=\"\\n\"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){return FS_stdin_getChar()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets:function(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(tty,optional_actions,data){return 0},ioctl_tiocgwinsz:function(tty){return[24,80]}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,\"/\",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}HEAP8.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=(url,onload,onerror,noRunDep)=>{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):\"\";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file \"${url}\" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file \"${url}\" failed.`}});if(dep)addRunDependency(dep)};var preloadPlugins=Module[\"preloadPlugins\"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!=\"undefined\")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={\"r\":0,\"r+\":2,\"w\":512|64|1,\"w+\":512|64|2,\"a\":1024|64|1,\"a+\":1024|64|2};var flags=flagModes[str];if(typeof flags==\"undefined\"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split(\"/\").filter(p=>!!p);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count+1});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>node===node.parent,isMountpoint:node=>!!node.mounted,isFile:mode=>(mode&61440)===32768,isDir:mode=>(mode&61440)===16384,isLink:mode=>(mode&61440)===40960,isChrdev:mode=>(mode&61440)===8192,isBlkdev:mode=>(mode&61440)===24576,isFIFO:mode=>(mode&61440)===4096,isSocket:mode=>(mode&49152)===49152,flagsToPermissionString:flag=>{var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes(\"r\")&&!(node.mode&292)){return 2}else if(perms.includes(\"w\")&&!(node.mode&146)){return 2}else if(perms.includes(\"x\")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,\"x\");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,\"wx\")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,\"wx\");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked:fd=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate==\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>parent.node_ops.lookup(parent,name),mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:(path,mode,dev)=>{if(typeof dev==\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>FS.stat(path,true),chmod:(path,mode,dontFollow)=>{var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStreamChecked(fd);FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStreamChecked(fd);FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStreamChecked(fd);if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===\"\"){throw new FS.ErrnoError(44)}flags=typeof flags==\"string\"?FS_modeStringToFlags(flags):flags;mode=typeof mode==\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>stream.fd===null,llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error(`Invalid encoding type \"${opts.encoding}\"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,\"x\");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")},createDefaultDevices:()=>{FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice(\"/dev\",\"random\",randomByte);FS.createDevice(\"/dev\",\"urandom\",randomByte);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:()=>{FS.mkdir(\"/proc\");var proc_self=FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount:()=>{var node=FS.createNode(proc_self,\"fd\",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},\"/proc/self/fd\")},createStandardStreams:()=>{if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",0);var stdout=FS.open(\"/dev/stdout\",1);var stderr=FS.open(\"/dev/stderr\",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name=\"ErrnoError\";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message=\"FS error\"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent==\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent==\"string\"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:(parent,name,input,output)=>{var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:(stream,buffer,offset,length,pos)=>{for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile:obj=>{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||\"\",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret=\"\";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":8,\"readValueFromPointer\":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError(\"Unknown boolean type size: \"+name)}return this[\"fromWireType\"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype[\"isAliasOf\"]=ClassHandle_isAliasOf;ClassHandle.prototype[\"clone\"]=ClassHandle_clone;ClassHandle.prototype[\"delete\"]=ClassHandle_delete;ClassHandle.prototype[\"isDeleted\"]=ClassHandle_isDeleted;ClassHandle.prototype[\"deleteLater\"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle[\"delete\"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this[\"fromWireType\"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle[\"delete\"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype[\"argPackAdvance\"]=8;RegisteredPointer.prototype[\"readValueFromPointer\"]=simpleReadValueFromPointer;RegisteredPointer.prototype[\"deleteObject\"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype[\"fromWireType\"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistant public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{var f=Module[\"dynCall_\"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args)=>{if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!==\"void\";var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=`\\n        return function ${makeLegalFunctionName(humanName)}(${argsList}) {\\n        if (arguments.length !== ${argCount-2}) {\\n          throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount-2} args!');\\n        }`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam.toWireType(\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\".toWireType(\"+dtorStack+\", arg\"+i+\"); // \"+argTypes[i+2].name+\"\\n\";args1.push(\"argType\"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+\"_dtor(\"+paramName+\"); // \"+argTypes[i].name+\"\\n\";args1.push(paramName+\"_dtor\");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+=\"var ret = retType.fromWireType(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";args1.push(invokerFnBody);return newFunc(Function,args1).apply(null,args2)}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i<emval_handles.allocated.length;++i){if(emval_handles.allocated[i]!==undefined){++count}}return count}function init_emval(){emval_handles.allocated.push({value:undefined},{value:null},{value:true},{value:false});emval_handles.reserved=emval_handles.allocated.length;Module[\"count_emval_handles\"]=count_emval_handles}var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":function(destructors,value){return Emval.toHandle(value)},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>3])};default:throw new TypeError(\"Unknown float type: \"+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(value){return value},\"toWireType\":function(destructors,value){return value},\"argPackAdvance\":8,\"readValueFromPointer\":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError(\"Unknown integer type: \"+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":8,\"readValueFromPointer\":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":8,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join(\"\")}_free(value);return str},\"toWireType\":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":function(destructors,value){if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":function(){return undefined},\"toWireType\":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+\" has unknown type \"+getTypeName(rawType))}return impl}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],\"parameter \"+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+\"_$\"+types.slice(1).map(function(t){return t.name}).join(\"_\")+\"$\";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=[\"retType\"];var args=[retType];var argsList=\"\";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;params.push(\"argType\"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName(\"methodCaller_\"+signatureName);var functionBody=\"return function \"+functionName+\"(handle, name, destructors, args) {\\n\";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=\"    var arg\"+i+\" = argType\"+i+\".readValueFromPointer(args\"+(offset?\"+\"+offset:\"\")+\");\\n\";offset+=types[i+1][\"argPackAdvance\"]}functionBody+=\"    var rv = handle[name](\"+argsList+\");\\n\";for(var i=0;i<argCount-1;++i){if(types[i+1][\"deleteObject\"]){functionBody+=\"    argType\"+i+\".deleteObject(arg\"+i+\");\\n\"}}if(!retType.isVoid){functionBody+=\"    return retType.toWireType(destructors, rv);\\n\"}functionBody+=\"};\\n\";params.push(functionBody);var invokerFunction=newFunc(Function,params).apply(null,args);returnId=emval_addMethodCaller(invokerFunction);emval_registeredMethods[signatureName]=returnId;return returnId}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}var _abort=()=>{abort(\"\")};function _emscripten_date_now(){return Date.now()}var getHeapMax=()=>HEAPU8.length;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var abortOnCannotGrowMemory=requestedSize=>{abort(\"OOM\")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf>>0]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!==\"undefined\"){offset+=curr}}return ret};function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!==\"undefined\"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();embind_init_charCodes();BindingError=Module[\"BindingError\"]=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};InternalError=Module[\"InternalError\"]=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");handleAllocatorInit();init_emval();var wasmImports={p:___cxa_throw,C:___syscall_fcntl64,w:___syscall_openat,t:__embind_register_bigint,n:__embind_register_bool,r:__embind_register_class,q:__embind_register_class_constructor,d:__embind_register_class_function,D:__embind_register_emval,k:__embind_register_float,c:__embind_register_integer,b:__embind_register_memory_view,j:__embind_register_std_string,f:__embind_register_std_wstring,o:__embind_register_void,g:__emval_call_void_method,m:__emval_decref,l:__emval_get_method_caller,a:_abort,e:_emscripten_date_now,v:_emscripten_get_heap_max,A:_emscripten_memcpy_big,u:_emscripten_resize_heap,y:_environ_get,z:_environ_sizes_get,i:_fd_close,x:_fd_fdstat_get,B:_fd_read,s:_fd_seek,h:_fd_write};var asm=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"F\"])();var _malloc=a0=>(_malloc=wasmExports[\"G\"])(a0);var _free=a0=>(_free=wasmExports[\"I\"])(a0);var ___errno_location=()=>(___errno_location=wasmExports[\"J\"])();var ___getTypeName=a0=>(___getTypeName=wasmExports[\"K\"])(a0);var __embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=()=>(__embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=wasmExports[\"L\"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports[\"M\"])(a0);var dynCall_jiji=Module[\"dynCall_jiji\"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module[\"dynCall_jiji\"]=wasmExports[\"N\"])(a0,a1,a2,a3,a4);var _ff_h264_cabac_tables=Module[\"_ff_h264_cabac_tables\"]=67061;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n  return moduleArg.ready\n}\n\n);\n})();\nexport default Module;","import { VideoDecoderSoftBase } from './video_decoder_soft_base';\nimport CreateModule from '../wasm/types/videodec';\nexport class VideoDecoderSoft extends VideoDecoderSoftBase {\n  constructor(opt?: { workerMode?: boolean, yuvMode?: boolean, canvas?: HTMLCanvasElement, wasmPath?: string; }) {\n    super(CreateModule, opt?.wasmPath ? fetch(opt?.wasmPath).then(res => res.arrayBuffer()) : void 0, opt?.workerMode, opt?.canvas, opt?.yuvMode);\n  };\n};\n","\nvar Module = (() => {\n  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n  \n  return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile=\"videodec_simd.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+binaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;wasmMemory=wasmExports[\"v\"];updateMemoryViews();wasmTable=wasmExports[\"z\"];addOnInit(wasmExports[\"w\"]);removeRunDependency(\"wasm-instantiate\");return exports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret=\"\";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":8,\"readValueFromPointer\":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError(\"Unknown boolean type size: \"+name)}return this[\"fromWireType\"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype[\"isAliasOf\"]=ClassHandle_isAliasOf;ClassHandle.prototype[\"clone\"]=ClassHandle_clone;ClassHandle.prototype[\"delete\"]=ClassHandle_delete;ClassHandle.prototype[\"isDeleted\"]=ClassHandle_isDeleted;ClassHandle.prototype[\"deleteLater\"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle[\"delete\"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this[\"fromWireType\"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle[\"delete\"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype[\"argPackAdvance\"]=8;RegisteredPointer.prototype[\"readValueFromPointer\"]=simpleReadValueFromPointer;RegisteredPointer.prototype[\"deleteObject\"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype[\"fromWireType\"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistant public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{var f=Module[\"dynCall_\"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args)=>{if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!==\"void\";var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=`\\n        return function ${makeLegalFunctionName(humanName)}(${argsList}) {\\n        if (arguments.length !== ${argCount-2}) {\\n          throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount-2} args!');\\n        }`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam.toWireType(\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\".toWireType(\"+dtorStack+\", arg\"+i+\"); // \"+argTypes[i+2].name+\"\\n\";args1.push(\"argType\"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+\"_dtor(\"+paramName+\"); // \"+argTypes[i].name+\"\\n\";args1.push(paramName+\"_dtor\");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+=\"var ret = retType.fromWireType(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";args1.push(invokerFnBody);return newFunc(Function,args1).apply(null,args2)}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i<emval_handles.allocated.length;++i){if(emval_handles.allocated[i]!==undefined){++count}}return count}function init_emval(){emval_handles.allocated.push({value:undefined},{value:null},{value:true},{value:false});emval_handles.reserved=emval_handles.allocated.length;Module[\"count_emval_handles\"]=count_emval_handles}var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":function(destructors,value){return Emval.toHandle(value)},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>3])};default:throw new TypeError(\"Unknown float type: \"+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(value){return value},\"toWireType\":function(destructors,value){return value},\"argPackAdvance\":8,\"readValueFromPointer\":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError(\"Unknown integer type: \"+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":8,\"readValueFromPointer\":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":8,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\";function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join(\"\")}_free(value);return str},\"toWireType\":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":function(destructors,value){if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":function(){return undefined},\"toWireType\":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+\" has unknown type \"+getTypeName(rawType))}return impl}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],\"parameter \"+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+\"_$\"+types.slice(1).map(function(t){return t.name}).join(\"_\")+\"$\";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=[\"retType\"];var args=[retType];var argsList=\"\";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;params.push(\"argType\"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName(\"methodCaller_\"+signatureName);var functionBody=\"return function \"+functionName+\"(handle, name, destructors, args) {\\n\";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=\"    var arg\"+i+\" = argType\"+i+\".readValueFromPointer(args\"+(offset?\"+\"+offset:\"\")+\");\\n\";offset+=types[i+1][\"argPackAdvance\"]}functionBody+=\"    var rv = handle[name](\"+argsList+\");\\n\";for(var i=0;i<argCount-1;++i){if(types[i+1][\"deleteObject\"]){functionBody+=\"    argType\"+i+\".deleteObject(arg\"+i+\");\\n\"}}if(!retType.isVoid){functionBody+=\"    return retType.toWireType(destructors, rv);\\n\"}functionBody+=\"};\\n\";params.push(functionBody);var invokerFunction=newFunc(Function,params).apply(null,args);returnId=emval_addMethodCaller(invokerFunction);emval_registeredMethods[signatureName]=returnId;return returnId}var _abort=()=>{abort(\"\")};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var abortOnCannotGrowMemory=requestedSize=>{abort(\"OOM\")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var SYSCALLS={varargs:undefined,get(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};embind_init_charCodes();BindingError=Module[\"BindingError\"]=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};InternalError=Module[\"InternalError\"]=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");handleAllocatorInit();init_emval();var wasmImports={o:___cxa_throw,r:__embind_register_bigint,m:__embind_register_bool,q:__embind_register_class,p:__embind_register_class_constructor,d:__embind_register_class_function,u:__embind_register_emval,k:__embind_register_float,b:__embind_register_integer,a:__embind_register_memory_view,j:__embind_register_std_string,g:__embind_register_std_wstring,n:__embind_register_void,e:__emval_call_void_method,l:__emval_decref,h:__emval_get_method_caller,f:_abort,c:_emscripten_get_now,t:_emscripten_memcpy_big,s:_emscripten_resize_heap,i:_fd_write};var asm=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"w\"])();var _free=a0=>(_free=wasmExports[\"x\"])(a0);var _malloc=a0=>(_malloc=wasmExports[\"y\"])(a0);var ___getTypeName=a0=>(___getTypeName=wasmExports[\"A\"])(a0);var __embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=()=>(__embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=wasmExports[\"B\"])();var ___errno_location=()=>(___errno_location=wasmExports[\"__errno_location\"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports[\"C\"])(a0);var dynCall_jiji=Module[\"dynCall_jiji\"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module[\"dynCall_jiji\"]=wasmExports[\"D\"])(a0,a1,a2,a3,a4);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n  return moduleArg.ready\n}\n\n);\n})();\nexport default Module;","import { VideoDecoderSoftBase } from './video_decoder_soft_base';\nimport CreateModule from '../wasm/types/videodec_simd';\nexport class VideoDecoderSoftSIMD extends VideoDecoderSoftBase {\n  constructor(opt?: { workerMode?: boolean, canvas?: HTMLCanvasElement,wasmPath?: string, yuvMode?:boolean; }) {\n    super(CreateModule, opt?.wasmPath ? fetch(opt.wasmPath).then(res => res.arrayBuffer()): void 0, opt?.workerMode, opt?.canvas, opt?.yuvMode);\n  };\n};\n","import {\n  VideoDecoderInterface,\n  VideoDecoderEvent,\n} from \"./types\";\nimport { ChangeState, FSM, Includes } from \"afsm\";\nexport class VideoDecoderHard extends FSM implements VideoDecoderInterface {\n  decoder!: VideoDecoder;\n  config?: VideoDecoderConfig;\n  @ChangeState([FSM.INIT, \"closed\"], \"initialized\")\n  async initialize() {\n    this.decoder = new VideoDecoder({\n      output: (frame) => {\n        this.emit(VideoDecoderEvent.VideoFrame, frame);\n      },\n      error: (err) => {\n        this.close();\n        this.emit(VideoDecoderEvent.Error, err);\n      },\n    });\n  }\n  @ChangeState(\"initialized\", \"configured\", { sync: true })\n  configure(config: VideoDecoderConfig): void {\n    this.config = config;\n    this.decoder.configure({\n      ...config,\n      codec: this.getCodec(config)\n    });\n  }\n  getCodec(config: VideoDecoderConfig) {\n    switch (config.codec) {\n      case \"hevc\":\n        return 'hvc1.1.6.L0.12.34.56.78.9A.BC';\n      case \"av1\":\n        return 'av01.0.05M.08';\n      case \"avc\":\n        return 'avc1.420028';\n      default:\n        return config.codec;\n    }\n  }\n  @Includes(\"configured\")\n  decode(packet: EncodedVideoChunkInit): void {\n    if (this.decoder.state === \"configured\")\n      this.decoder.decode(new EncodedVideoChunk(packet));\n  }\n  flush(): void {\n    this.decoder.flush();\n  }\n  @ChangeState([], FSM.INIT, { sync: true })\n  reset(): void {\n    this.decoder.reset();\n  }\n  @ChangeState([], \"closed\", { ignoreError: true, sync: true })\n  close(): void {\n    if (this.decoder.state !== \"closed\")\n      this.decoder.close();\n  }\n}\n","interface MP4Types {\n    [key: string]: number[];\n}\n\ninterface MP4Constants {\n    FTYP: Uint8Array;\n    STSD_PREFIX: Uint8Array;\n    STTS: Uint8Array;\n    STSC: Uint8Array;\n    STCO: Uint8Array;\n    STSZ: Uint8Array;\n    HDLR_VIDEO: Uint8Array;\n    HDLR_AUDIO: Uint8Array;\n    DREF: Uint8Array;\n    SMHD: Uint8Array;\n    VMHD: Uint8Array;\n}\n\nexport interface MP4Meta {\n    id: number;\n    type: 'audio' | 'video';\n    timescale: number;\n    duration: number;\n    codecWidth: number;\n    codecHeight: number;\n    presentWidth: number;\n    presentHeight: number;\n    channelCount: number;\n    audioSampleRate: number;\n    config?: number[];\n    avcc: Uint8Array;\n    videoType?: string;\n}\n\ninterface MP4Track {\n    id: number;\n    sequenceNumber: number;\n    duration: number;\n    size: number;\n    flags: {\n        isLeading: number;\n        dependsOn: number;\n        isDependedOn: number;\n        hasRedundancy: number;\n        isNonSync: number;\n    };\n    cts: number;\n}\n\nclass MP4 {\n    static types: MP4Types = {\n      avc1: [], avcC: [], hvc1: [], hvcC: [], btrt: [],\n      dinf: [], dref: [], esds: [], ftyp: [], hdlr: [],\n      mdat: [], mdhd: [], mdia: [], mfhd: [], minf: [],\n      moof: [], moov: [], mp4a: [], mvex: [], mvhd: [],\n      sdtp: [], stbl: [], stco: [], stsc: [], stsd: [],\n      stsz: [], stts: [], tfdt: [], tfhd: [], traf: [],\n      trak: [], trun: [], trex: [], tkhd: [], vmhd: [],\n      smhd: []\n  }\n    static readonly constants: MP4Constants = {\n    FTYP: new Uint8Array([\n        0x69, 0x73, 0x6F, 0x6D,  // major_brand: isom\n        0x0, 0x0, 0x0, 0x1,   // minor_version: 0x01\n        0x69, 0x73, 0x6F, 0x6D,  // isom\n        0x61, 0x76, 0x63, 0x31   // avc1\n    ]),\n    STSD_PREFIX: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x01   // entry_count\n    ]),\n    STTS: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00   // entry_count\n    ]),\n    STSC: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00   // entry_count\n    ]),\n    STCO: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00   // entry_count\n    ]),\n    STSZ: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00,  // sample_size\n        0x00, 0x00, 0x00, 0x00   // sample_count\n    ]),\n    HDLR_VIDEO: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00,  // pre_defined\n        0x76, 0x69, 0x64, 0x65,  // handler_type: 'vide'\n        0x00, 0x00, 0x00, 0x00,  // reserved: 3 * 4 bytes\n        0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00,\n        0x56, 0x69, 0x64, 0x65,\n        0x6F, 0x48, 0x61, 0x6E,\n        0x64, 0x6C, 0x65, 0x72, 0x00  // name: VideoHandler\n    ]),\n    HDLR_AUDIO: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00,  // pre_defined\n        0x73, 0x6F, 0x75, 0x6E,  // handler_type: 'soun'\n        0x00, 0x00, 0x00, 0x00,  // reserved: 3 * 4 bytes\n        0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00,\n        0x53, 0x6F, 0x75, 0x6E,\n        0x64, 0x48, 0x61, 0x6E,\n        0x64, 0x6C, 0x65, 0x72, 0x00  // name: SoundHandler\n    ]),\n    DREF: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x01,  // entry_count\n        0x00, 0x00, 0x00, 0x0C,  // entry_size\n        0x75, 0x72, 0x6C, 0x20,  // type 'url '\n        0x00, 0x00, 0x00, 0x01   // version(0) + flags\n    ]),\n    SMHD: new Uint8Array([\n        0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n        0x00, 0x00, 0x00, 0x00   // balance(2) + reserved(2)\n    ]),\n    VMHD: new Uint8Array([\n        0x00, 0x00, 0x00, 0x01,  // version(0) + flags\n        0x00, 0x00,              // graphicsmode: 2 bytes\n        0x00, 0x00, 0x00, 0x00,  // opcolor: 3 * 2 bytes\n        0x00, 0x00\n    ]),\n    } as MP4Constants;\n\n    // Generate a box\n    static box(type: number[], ...datas: Uint8Array[]): Uint8Array {\n        let size = 8;\n        let arrayCount = datas.length;\n\n        for (let i = 0; i < arrayCount; i++) {\n            size += datas[i].byteLength;\n        }\n\n        let result = new Uint8Array(size);\n        result[0] = (size >>> 24) & 0xFF;  // size\n        result[1] = (size >>> 16) & 0xFF;\n        result[2] = (size >>> 8) & 0xFF;\n        result[3] = (size) & 0xFF;\n\n        result.set(type, 4);  // type\n\n        let offset = 8;\n        for (let i = 0; i < arrayCount; i++) {  // data body\n            result.set(datas[i], offset);\n            offset += datas[i].byteLength;\n        }\n\n        return result;\n    }\n\n    // emit ftyp & moov\n    static generateInitSegment(meta: MP4Meta): Uint8Array {\n        let ftyp = MP4.box(MP4.types.ftyp, MP4.constants.FTYP);\n        let moov = MP4.moov(meta);\n\n        let result = new Uint8Array(ftyp.byteLength + moov.byteLength);\n        result.set(ftyp, 0);\n        result.set(moov, ftyp.byteLength);\n        return result;\n    }\n\n    // Movie metadata box\n    static moov(meta: MP4Meta): Uint8Array {\n        let mvhd = MP4.mvhd(meta.timescale, meta.duration);\n        let trak = MP4.trak(meta);\n        let mvex = MP4.mvex(meta);\n        return MP4.box(MP4.types.moov, mvhd, trak, mvex);\n    }\n\n    // Movie header box\n    static mvhd(timescale: number, duration: number): Uint8Array {\n        return MP4.box(MP4.types.mvhd, new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n            0x00, 0x00, 0x00, 0x00,  // creation_time\n            0x00, 0x00, 0x00, 0x00,  // modification_time\n            (timescale >>> 24) & 0xFF,  // timescale: 4 bytes\n            (timescale >>> 16) & 0xFF,\n            (timescale >>> 8) & 0xFF,\n            (timescale) & 0xFF,\n            (duration >>> 24) & 0xFF,   // duration: 4 bytes\n            (duration >>> 16) & 0xFF,\n            (duration >>> 8) & 0xFF,\n            (duration) & 0xFF,\n            0x00, 0x01, 0x00, 0x00,  // Preferred rate: 1.0\n            0x01, 0x00, 0x00, 0x00,  // PreferredVolume(1.0, 2bytes) + reserved(2bytes)\n            0x00, 0x00, 0x00, 0x00,  // reserved: 4 + 4 bytes\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x01, 0x00, 0x00,  // ----begin composition matrix----\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x01, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x40, 0x00, 0x00, 0x00,  // ----end composition matrix----\n            0x00, 0x00, 0x00, 0x00,  // ----begin pre_defined 6 * 4 bytes----\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,  // ----end pre_defined 6 * 4 bytes----\n            0xFF, 0xFF, 0xFF, 0xFF   // next_track_ID\n        ]));\n    }\n\n    // Track box\n    static trak(meta: MP4Meta): Uint8Array {\n        return MP4.box(MP4.types.trak, MP4.tkhd(meta), MP4.mdia(meta));\n    }\n\n    // Track header box\n    static tkhd(meta: MP4Meta): Uint8Array {\n        let trackId = meta.id, duration = meta.duration;\n        let width = meta.presentWidth, height = meta.presentHeight;\n\n        return MP4.box(MP4.types.tkhd, new Uint8Array([\n            0x00, 0x00, 0x00, 0x07,  // version(0) + flags\n            0x00, 0x00, 0x00, 0x00,  // creation_time\n            0x00, 0x00, 0x00, 0x00,  // modification_time\n            (trackId >>> 24) & 0xFF,  // track_ID: 4 bytes\n            (trackId >>> 16) & 0xFF,\n            (trackId >>> 8) & 0xFF,\n            (trackId) & 0xFF,\n            0x00, 0x00, 0x00, 0x00,  // reserved: 4 bytes\n            (duration >>> 24) & 0xFF, // duration: 4 bytes\n            (duration >>> 16) & 0xFF,\n            (duration >>> 8) & 0xFF,\n            (duration) & 0xFF,\n            0x00, 0x00, 0x00, 0x00,  // reserved: 2 * 4 bytes\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,  // layer(2bytes) + alternate_group(2bytes)\n            0x00, 0x00, 0x00, 0x00,  // volume(2bytes) + reserved(2bytes)\n            0x00, 0x01, 0x00, 0x00,  // ----begin composition matrix----\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x01, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x00, 0x00, 0x00, 0x00,\n            0x40, 0x00, 0x00, 0x00,  // ----end composition matrix----\n            (width >>> 8) & 0xFF,    // width and height\n            (width) & 0xFF,\n            0x00, 0x00,\n            (height >>> 8) & 0xFF,\n            (height) & 0xFF,\n            0x00, 0x00\n        ]));\n    }\n\n    static mdia(meta: MP4Meta): Uint8Array {\n        return MP4.box(MP4.types.mdia, MP4.mdhd(meta), MP4.hdlr(meta), MP4.minf(meta))\n    }\n\n    // Media header box\n    static mdhd(meta: MP4Meta): Uint8Array {\n        let timescale = meta.timescale;\n        let duration = meta.duration;\n        return MP4.box(MP4.types.mdhd, new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n            0x00, 0x00, 0x00, 0x00,  // creation_time\n            0x00, 0x00, 0x00, 0x00,  // modification_time\n            (timescale >>> 24) & 0xFF,  // timescale: 4 bytes\n            (timescale >>> 16) & 0xFF,\n            (timescale >>> 8) & 0xFF,\n            (timescale) & 0xFF,\n            (duration >>> 24) & 0xFF,   // duration: 4 bytes\n            (duration >>> 16) & 0xFF,\n            (duration >>> 8) & 0xFF,\n            (duration) & 0xFF,\n            0x55, 0xC4,             // language: und (undetermined)\n            0x00, 0x00              // pre_defined = 0\n        ]));\n    }\n\n    // Media handler reference box\n    static hdlr(meta: MP4Meta): Uint8Array {\n        let data = null;\n        if (meta.type === 'audio') {\n            data = MP4.constants.HDLR_AUDIO;\n        } else {\n            data = MP4.constants.HDLR_VIDEO;\n        }\n        return MP4.box(MP4.types.hdlr, data);\n    }\n\n    // Media infomation box\n    static minf(meta: MP4Meta): Uint8Array {\n        let xmhd = null;\n        if (meta.type === 'audio') {\n            xmhd = MP4.box(MP4.types.smhd, MP4.constants.SMHD);\n        } else {\n            xmhd = MP4.box(MP4.types.vmhd, MP4.constants.VMHD);\n        }\n        return MP4.box(MP4.types.minf, xmhd, MP4.dinf(), MP4.stbl(meta));\n    }\n\n    // Data infomation box\n    static dinf(): Uint8Array {\n        let result = MP4.box(MP4.types.dinf,\n            MP4.box(MP4.types.dref, MP4.constants.DREF)\n        );\n        return result;\n    }\n\n    // Sample table box\n    static stbl(meta: MP4Meta): Uint8Array {\n        let result = MP4.box(MP4.types.stbl,  // type: stbl\n            MP4.stsd(meta),  // Sample Description Table\n            MP4.box(MP4.types.stts, MP4.constants.STTS),  // Time-To-Sample\n            MP4.box(MP4.types.stsc, MP4.constants.STSC),  // Sample-To-Chunk\n            MP4.box(MP4.types.stsz, MP4.constants.STSZ),  // Sample size\n            MP4.box(MP4.types.stco, MP4.constants.STCO)   // Chunk offset\n        );\n        return result;\n    }\n\n    // Sample description box\n    static stsd(meta: MP4Meta): Uint8Array {\n        if (meta.type === 'audio') {\n            // else: aac -> mp4a\n            return MP4.box(MP4.types.stsd, MP4.constants.STSD_PREFIX, MP4.mp4a(meta));\n        } else {\n            if (meta.videoType === 'avc') {\n                //\n                return MP4.box(MP4.types.stsd, MP4.constants.STSD_PREFIX, MP4.avc1(meta));\n            } else {\n                //\n                return MP4.box(MP4.types.stsd, MP4.constants.STSD_PREFIX, MP4.hvc1(meta))\n            }\n        }\n    }\n\n    static mp4a(meta: MP4Meta): Uint8Array {\n        let channelCount = meta.channelCount;\n        let sampleRate = meta.audioSampleRate;\n\n        let data = new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // reserved(4)\n            0x00, 0x00, 0x00, 0x01,  // reserved(2) + data_reference_index(2)\n            0x00, 0x00, 0x00, 0x00,  // reserved: 2 * 4 bytes\n            0x00, 0x00, 0x00, 0x00,\n            0x00, channelCount,      // channelCount(2)\n            0x00, 0x10,              // sampleSize(2)\n            0x00, 0x00, 0x00, 0x00,  // reserved(4)\n            (sampleRate >>> 8) & 0xFF,  // Audio sample rate\n            (sampleRate) & 0xFF,\n            0x00, 0x00\n        ]);\n\n        return MP4.box(MP4.types.mp4a, data, MP4.esds(meta));\n    }\n\n    static esds(meta: MP4Meta): Uint8Array {\n        let config = meta.config || [];\n        let configSize = config.length;\n        let data = new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // version 0 + flags\n\n            0x03,                    // descriptor_type\n            0x17 + configSize,       // length3\n            0x00, 0x01,              // es_id\n            0x00,                    // stream_priority\n\n            0x04,                    // descriptor_type\n            0x0F + configSize,       // length\n            0x40,                    // codec: mpeg4_audio\n            0x15,                    // stream_type: Audio\n            0x00, 0x00, 0x00,        // buffer_size\n            0x00, 0x00, 0x00, 0x00,  // maxBitrate\n            0x00, 0x00, 0x00, 0x00,  // avgBitrate\n\n            0x05                     // descriptor_type\n        ].concat([\n            configSize\n        ]).concat(\n            config\n        ).concat([\n            0x06, 0x01, 0x02         // GASpecificConfig\n        ]));\n        return MP4.box(MP4.types.esds, data);\n    }\n\n    // avc\n    static avc1(meta: MP4Meta): Uint8Array {\n        let avcc = meta.avcc;\n        const width = meta.codecWidth;\n        const height = meta.codecHeight;\n        let data = new Uint8Array([\n            0, 0, 0, 0,\n            0, 0, 0, 1,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            width >>> 8 & 255,\n            width & 255,\n            height >>> 8 & 255,\n            height & 255,\n            0, 72, 0, 0,\n            0, 72, 0, 0,\n            0, 0, 0, 0,\n            0, 1,\n            0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0,\n            0, 24,\n            255, 255]\n        );\n        return MP4.box(MP4.types.avc1, data, MP4.box(MP4.types.avcC, avcc))\n    }\n\n    // hvc\n    static hvc1(meta: MP4Meta): Uint8Array {\n        let avcc = meta.avcc;\n        const width = meta.codecWidth;\n        const height = meta.codecHeight;\n        let data = new Uint8Array([\n            0, 0, 0, 0,\n            0, 0, 0, 1,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            width >>> 8 & 255,\n            width & 255,\n            height >>> 8 & 255,\n            height & 255,\n            0, 72, 0, 0,\n            0, 72, 0, 0,\n            0, 0, 0, 0,\n            0, 1,\n            0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0, 0,\n            0, 0, 0,\n            0, 24,\n            255, 255\n        ]);\n        return MP4.box(MP4.types.hvc1, data, MP4.box(MP4.types.hvcC, avcc))\n    }\n\n    // Movie Extends box\n    static mvex(meta: MP4Meta): Uint8Array {\n        return MP4.box(MP4.types.mvex, MP4.trex(meta))\n    }\n\n    // Track Extends box\n    static trex(meta: MP4Meta): Uint8Array {\n        let trackId = meta.id;\n        let data = new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // version(0) + flags\n            (trackId >>> 24) & 0xFF, // track_ID\n            (trackId >>> 16) & 0xFF,\n            (trackId >>> 8) & 0xFF,\n            (trackId) & 0xFF,\n            0x00, 0x00, 0x00, 0x01,  // default_sample_description_index\n            0x00, 0x00, 0x00, 0x00,  // default_sample_duration\n            0x00, 0x00, 0x00, 0x00,  // default_sample_size\n            0x00, 0x01, 0x00, 0x01   // default_sample_flags\n        ]);\n        return MP4.box(MP4.types.trex, data);\n    }\n\n    // Movie fragment box\n    static moof(track: MP4Track, baseMediaDecodeTime: number): Uint8Array {\n        return MP4.box(MP4.types.moof, MP4.mfhd(track.sequenceNumber), MP4.traf(track, baseMediaDecodeTime))\n    }\n    //\n    static mfhd(sequenceNumber: number): Uint8Array {\n        let data = new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,\n            (sequenceNumber >>> 24) & 0xFF,  // sequence_number: int32\n            (sequenceNumber >>> 16) & 0xFF,\n            (sequenceNumber >>> 8) & 0xFF,\n            (sequenceNumber) & 0xFF\n        ]);\n        return MP4.box(MP4.types.mfhd, data);\n    }\n\n    // Track fragment box\n    static traf(track: MP4Track, baseMediaDecodeTime: number): Uint8Array {\n        let trackId = track.id;\n\n        // Track fragment header box\n        let tfhd = MP4.box(MP4.types.tfhd, new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // version(0) & flags\n            (trackId >>> 24) & 0xFF, // track_ID\n            (trackId >>> 16) & 0xFF,\n            (trackId >>> 8) & 0xFF,\n            (trackId) & 0xFF\n        ]));\n        // Track Fragment Decode Time\n        let tfdt = MP4.box(MP4.types.tfdt, new Uint8Array([\n            0x00, 0x00, 0x00, 0x00,  // version(0) & flags\n            (baseMediaDecodeTime >>> 24) & 0xFF,  // baseMediaDecodeTime: int32\n            (baseMediaDecodeTime >>> 16) & 0xFF,\n            (baseMediaDecodeTime >>> 8) & 0xFF,\n            (baseMediaDecodeTime) & 0xFF\n        ]));\n        let sdtp = MP4.sdtp(track);\n        let trun = MP4.trun(track, sdtp.byteLength + 16 + 16 + 8 + 16 + 8 + 8);\n\n        return MP4.box(MP4.types.traf, tfhd, tfdt, trun, sdtp);\n    }\n\n    // Sample Dependency Type box\n    static sdtp(track: MP4Track): Uint8Array {\n        let data = new Uint8Array(4 + 1);\n        let flags = track.flags;\n        data[4] = flags.isLeading << 6\n            | flags.dependsOn << 4\n            | flags.isDependedOn << 2\n            | flags.hasRedundancy;\n        return MP4.box(MP4.types.sdtp, data);\n    }\n    // trun\n    static trun(track: MP4Track, offset: number): Uint8Array {\n        let dataSize = 12 + 16;\n        let data = new Uint8Array(dataSize);\n        offset += 8 + dataSize;\n\n        data.set([\n            0x00, 0x00, 0x0F, 0x01,      // version(0) & flags\n            0x00, 0x00, 0x00, 0x01, // sample_count\n            (offset >>> 24) & 0xFF,      // data_offset\n            (offset >>> 16) & 0xFF,\n            (offset >>> 8) & 0xFF,\n            (offset) & 0xFF\n        ], 0);\n\n        let duration = track.duration;\n        let size = track.size;\n        let flags = track.flags;\n        let cts = track.cts;\n\n        data.set([\n            (duration >>> 24) & 0xFF,  // sample_duration\n            (duration >>> 16) & 0xFF,\n            (duration >>> 8) & 0xFF,\n            (duration) & 0xFF,\n            (size >>> 24) & 0xFF,      // sample_size\n            (size >>> 16) & 0xFF,\n            (size >>> 8) & 0xFF,\n            (size) & 0xFF,\n            (flags.isLeading << 2) | flags.dependsOn,  // sample_flags\n            (flags.isDependedOn << 6) | (flags.hasRedundancy << 4) | flags.isNonSync,\n            0x00, 0x00,                // sample_degradation_priority\n            (cts >>> 24) & 0xFF,       // sample_composition_time_offset\n            (cts >>> 16) & 0xFF,\n            (cts >>> 8) & 0xFF,\n            (cts) & 0xFF\n        ], 12);\n\n        return MP4.box(MP4.types.trun, data);\n    }\n    // mdat\n    static mdat(data: Uint8Array): Uint8Array {\n        return MP4.box(MP4.types.mdat, data)\n    }\n}\nfor (let name in MP4.types) {\n  if (MP4.types.hasOwnProperty(name)) {\n      MP4.types[name] = [\n          name.charCodeAt(0),\n          name.charCodeAt(1),\n          name.charCodeAt(2),\n          name.charCodeAt(3)\n      ];\n  }\n}\nMP4.constants.STSC = MP4.constants.STTS;\nMP4.constants.STCO = MP4.constants.STTS;\nexport default MP4;\n","/*\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\n *\n * @author zheng qian <xqq@xqq.im>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// Exponential-Golomb buffer decoder\nclass ExpGolomb {\n  private readonly TAG: string;\n  private _buffer: Uint8Array;\n  private _buffer_index: number;\n  private _total_bytes: number;\n  private _total_bits: number;\n  private _current_word: number;\n  private _current_word_bits_left: number;\n\n  constructor(uint8array: Uint8Array) {\n    this.TAG = 'ExpGolomb';\n\n    this._buffer = uint8array;\n    this._buffer_index = 0;\n    this._total_bytes = uint8array.byteLength;\n    this._total_bits = uint8array.byteLength * 8;\n    this._current_word = 0;\n    this._current_word_bits_left = 0;\n  }\n\n  destroy(): void {\n    this._buffer = new Uint8Array(0);\n  }\n\n  private _fillCurrentWord(): void {\n    const buffer_bytes_left = this._total_bytes - this._buffer_index;\n    if (buffer_bytes_left <= 0) {\n      throw new Error('ExpGolomb: _fillCurrentWord() but no bytes available');\n    }\n\n    const bytes_read = Math.min(4, buffer_bytes_left);\n    const word = new Uint8Array(4);\n    word.set(this._buffer.subarray(this._buffer_index, this._buffer_index + bytes_read));\n    this._current_word = new DataView(word.buffer).getUint32(0, false);\n\n    this._buffer_index += bytes_read;\n    this._current_word_bits_left = bytes_read * 8;\n  }\n\n  readBits(bits: number): number {\n    if (bits > 32) {\n      throw new Error('ExpGolomb: readBits() bits exceeded max 32bits!');\n    }\n\n    if (bits <= this._current_word_bits_left) {\n      const result = this._current_word >>> (32 - bits);\n      this._current_word <<= bits;\n      this._current_word_bits_left -= bits;\n      return result;\n    }\n\n    let result = this._current_word_bits_left ? this._current_word : 0;\n    result = result >>> (32 - this._current_word_bits_left);\n    const bits_need_left = bits - this._current_word_bits_left;\n\n    this._fillCurrentWord();\n    const bits_read_next = Math.min(bits_need_left, this._current_word_bits_left);\n\n    const result2 = this._current_word >>> (32 - bits_read_next);\n    this._current_word <<= bits_read_next;\n    this._current_word_bits_left -= bits_read_next;\n\n    result = (result << bits_read_next) | result2;\n    return result;\n  }\n\n  readBool(): boolean {\n    return this.readBits(1) === 1;\n  }\n\n  readByte(): number {\n    return this.readBits(8);\n  }\n\n  private _skipLeadingZero(): number {\n    let zero_count: number;\n    for (zero_count = 0; zero_count < this._current_word_bits_left; zero_count++) {\n      if (0 !== (this._current_word & (0x80000000 >>> zero_count))) {\n        this._current_word <<= zero_count;\n        this._current_word_bits_left -= zero_count;\n        return zero_count;\n      }\n    }\n    this._fillCurrentWord();\n    return zero_count + this._skipLeadingZero();\n  }\n\n  readUEG(): number {  // unsigned exponential golomb\n    const leading_zeros = this._skipLeadingZero();\n    return this.readBits(leading_zeros + 1) - 1;\n  }\n\n  readSEG(): number {  // signed exponential golomb\n    const value = this.readUEG();\n    if (value & 0x01) {\n      return (value + 1) >>> 1;\n    } else {\n      return -1 * (value >>> 1);\n    }\n  }\n}\n\nexport default ExpGolomb;\n","/*\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\n *\n * @author zheng qian <xqq@xqq.im>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport ExpGolomb from './exp-golomb';\n\n\nclass SPSParser {\n\n    static _ebsp2rbsp(uint8array: Uint8Array): Uint8Array {\n        let src = uint8array;\n        let src_length = src.byteLength;\n        let dst = new Uint8Array(src_length);\n        let dst_idx = 0;\n\n        for (let i = 0; i < src_length; i++) {\n            if (i >= 2) {\n                // Unescape: Skip 0x03 after 00 00\n                if (src[i] === 0x03 && src[i - 1] === 0x00 && src[i - 2] === 0x00) {\n                    continue;\n                }\n            }\n            dst[dst_idx] = src[i];\n            dst_idx++;\n        }\n\n        return new Uint8Array(dst.buffer, 0, dst_idx);\n    }\n\n    static parseSPS(uint8array: Uint8Array) {\n      let codec_array = uint8array.subarray(1, 4);\n      let codec_mimetype = 'avc1.';\n      for (let j = 0; j < 3; j++) {\n          let h = codec_array[j].toString(16);\n          if (h.length < 2) {\n              h = '0' + h;\n          }\n          codec_mimetype += h;\n      }\n\n      let rbsp = SPSParser._ebsp2rbsp(uint8array);\n      let gb = new ExpGolomb(rbsp);\n\n      gb.readByte();\n      let profile_idc = gb.readByte();  // profile_idc\n      gb.readByte();  // constraint_set_flags[5] + reserved_zero[3]\n      let level_idc = gb.readByte();  // level_idc\n      gb.readUEG();  // seq_parameter_set_id\n\n      let profile_string = SPSParser.getProfileString(profile_idc);\n      let level_string = SPSParser.getLevelString(level_idc);\n      let chroma_format_idc = 1;\n      let chroma_format = 420;\n      let chroma_format_table = [0, 420, 422, 444];\n      let bit_depth_luma = 8;\n      let bit_depth_chroma = 8;\n\n      if (profile_idc === 100 || profile_idc === 110 || profile_idc === 122 ||\n          profile_idc === 244 || profile_idc === 44 || profile_idc === 83 ||\n          profile_idc === 86 || profile_idc === 118 || profile_idc === 128 ||\n          profile_idc === 138 || profile_idc === 144) {\n\n          chroma_format_idc = gb.readUEG();\n          if (chroma_format_idc === 3) {\n              gb.readBits(1);  // separate_colour_plane_flag\n          }\n          if (chroma_format_idc <= 3) {\n              chroma_format = chroma_format_table[chroma_format_idc];\n          }\n\n          bit_depth_luma = gb.readUEG() + 8;  // bit_depth_luma_minus8\n          bit_depth_chroma = gb.readUEG() + 8;  // bit_depth_chroma_minus8\n          gb.readBits(1);  // qpprime_y_zero_transform_bypass_flag\n          if (gb.readBool()) {  // seq_scaling_matrix_present_flag\n              let scaling_list_count = (chroma_format_idc !== 3) ? 8 : 12;\n              for (let i = 0; i < scaling_list_count; i++) {\n                  if (gb.readBool()) {  // seq_scaling_list_present_flag\n                      if (i < 6) {\n                          SPSParser._skipScalingList(gb, 16);\n                      } else {\n                          SPSParser._skipScalingList(gb, 64);\n                      }\n                  }\n              }\n          }\n      }\n      gb.readUEG();  // log2_max_frame_num_minus4\n      let pic_order_cnt_type = gb.readUEG();\n      if (pic_order_cnt_type === 0) {\n          gb.readUEG();  // log2_max_pic_order_cnt_lsb_minus_4\n      } else if (pic_order_cnt_type === 1) {\n          gb.readBits(1);  // delta_pic_order_always_zero_flag\n          gb.readSEG();  // offset_for_non_ref_pic\n          gb.readSEG();  // offset_for_top_to_bottom_field\n          let num_ref_frames_in_pic_order_cnt_cycle = gb.readUEG();\n          for (let i = 0; i < num_ref_frames_in_pic_order_cnt_cycle; i++) {\n              gb.readSEG();  // offset_for_ref_frame\n          }\n      }\n      let ref_frames = gb.readUEG();  // max_num_ref_frames\n      gb.readBits(1);  // gaps_in_frame_num_value_allowed_flag\n\n      let pic_width_in_mbs_minus1 = gb.readUEG();\n      let pic_height_in_map_units_minus1 = gb.readUEG();\n\n      let frame_mbs_only_flag = gb.readBits(1);\n      if (frame_mbs_only_flag === 0) {\n          gb.readBits(1);  // mb_adaptive_frame_field_flag\n      }\n      gb.readBits(1);  // direct_8x8_inference_flag\n\n      let frame_crop_left_offset = 0;\n      let frame_crop_right_offset = 0;\n      let frame_crop_top_offset = 0;\n      let frame_crop_bottom_offset = 0;\n\n      let frame_cropping_flag = gb.readBool();\n      if (frame_cropping_flag) {\n          frame_crop_left_offset = gb.readUEG();\n          frame_crop_right_offset = gb.readUEG();\n          frame_crop_top_offset = gb.readUEG();\n          frame_crop_bottom_offset = gb.readUEG();\n      }\n\n      let sar_width = 1, sar_height = 1;\n      let fps = 0, fps_fixed = true, fps_num = 0, fps_den = 0;\n\n      let vui_parameters_present_flag = gb.readBool();\n      if (vui_parameters_present_flag) {\n          if (gb.readBool()) {  // aspect_ratio_info_present_flag\n              let aspect_ratio_idc = gb.readByte();\n              let sar_w_table = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2];\n              let sar_h_table = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1];\n\n              if (aspect_ratio_idc > 0 && aspect_ratio_idc < 16) {\n                  sar_width = sar_w_table[aspect_ratio_idc - 1];\n                  sar_height = sar_h_table[aspect_ratio_idc - 1];\n              } else if (aspect_ratio_idc === 255) {\n                  sar_width = gb.readByte() << 8 | gb.readByte();\n                  sar_height = gb.readByte() << 8 | gb.readByte();\n              }\n          }\n\n          if (gb.readBool()) {  // overscan_info_present_flag\n              gb.readBool();  // overscan_appropriate_flag\n          }\n          if (gb.readBool()) {  // video_signal_type_present_flag\n              gb.readBits(4);  // video_format & video_full_range_flag\n              if (gb.readBool()) {  // colour_description_present_flag\n                  gb.readBits(24);  // colour_primaries & transfer_characteristics & matrix_coefficients\n              }\n          }\n          if (gb.readBool()) {  // chroma_loc_info_present_flag\n              gb.readUEG();  // chroma_sample_loc_type_top_field\n              gb.readUEG();  // chroma_sample_loc_type_bottom_field\n          }\n          if (gb.readBool()) {  // timing_info_present_flag\n              let num_units_in_tick = gb.readBits(32);\n              let time_scale = gb.readBits(32);\n              fps_fixed = gb.readBool();  // fixed_frame_rate_flag\n\n              fps_num = time_scale;\n              fps_den = num_units_in_tick * 2;\n              fps = fps_num / fps_den;\n          }\n      }\n\n      let sarScale = 1;\n      if (sar_width !== 1 || sar_height !== 1) {\n          sarScale = sar_width / sar_height;\n      }\n\n      let crop_unit_x = 0, crop_unit_y = 0;\n      if (chroma_format_idc === 0) {\n          crop_unit_x = 1;\n          crop_unit_y = 2 - frame_mbs_only_flag;\n      } else {\n          let sub_wc = (chroma_format_idc === 3) ? 1 : 2;\n          let sub_hc = (chroma_format_idc === 1) ? 2 : 1;\n          crop_unit_x = sub_wc;\n          crop_unit_y = sub_hc * (2 - frame_mbs_only_flag);\n      }\n\n      let codec_width = (pic_width_in_mbs_minus1 + 1) * 16;\n      let codec_height = (2 - frame_mbs_only_flag) * ((pic_height_in_map_units_minus1 + 1) * 16);\n\n      codec_width -= (frame_crop_left_offset + frame_crop_right_offset) * crop_unit_x;\n      codec_height -= (frame_crop_top_offset + frame_crop_bottom_offset) * crop_unit_y;\n\n      let present_width = Math.ceil(codec_width * sarScale);\n\n      gb.destroy();\n      gb = null;\n\n      return {\n          codec_mimetype,\n          profile_idc,\n          level_idc,\n          profile_string,  // baseline, high, high10, ...\n          level_string,  // 3, 3.1, 4, 4.1, 5, 5.1, ...\n          chroma_format_idc,\n          bit_depth: bit_depth_luma,  // 8bit, 10bit, ...\n          bit_depth_luma,\n          bit_depth_chroma,\n          ref_frames,\n          chroma_format,  // 4:2:0, 4:2:2, ...\n          chroma_format_string: SPSParser.getChromaFormatString(chroma_format),\n\n          frame_rate: {\n              fixed: fps_fixed,\n              fps: fps,\n              fps_den: fps_den,\n              fps_num: fps_num\n          },\n\n          sar_ratio: {\n              width: sar_width,\n              height: sar_height\n          },\n\n          codec_size: {\n              width: codec_width,\n              height: codec_height\n          },\n\n          present_size: {\n              width: present_width,\n              height: codec_height\n          }\n      };\n  }\n\n    static _skipScalingList(gb: ExpGolomb, count: number): void {\n        let last_scale = 8, next_scale = 8;\n        let delta_scale = 0;\n        for (let i = 0; i < count; i++) {\n            if (next_scale !== 0) {\n                delta_scale = gb.readSEG();\n                next_scale = (last_scale + delta_scale + 256) % 256;\n            }\n            last_scale = (next_scale === 0) ? last_scale : next_scale;\n        }\n    }\n\n    // profile_idc = 66 → baseline profile;\n    // profile_idc = 77 → main profile;\n    // profile_idc = 88 → extended profile;\n    // 在新版的标准中，还包括了High、High 10、High 4:2:2、High 4:4:4、High 10 Intra、High\n    // 4:2:2 Intra、High 4:4:4 Intra、CAVLC 4:4:4 Intra\n    static getProfileString(profile_idc: number): string {\n        switch (profile_idc) {\n            case 66:\n                return 'Baseline';\n            case 77:\n                return 'Main';\n            case 88:\n                return 'Extended';\n            case 100:\n                return 'High';\n            case 110:\n                return 'High10';\n            case 122:\n                return 'High422';\n            case 244:\n                return 'High444';\n            default:\n                return 'Unknown';\n        }\n    }\n\n    static getLevelString(level_idc: number): string {\n        return (level_idc / 10).toFixed(1);\n    }\n\n    static getChromaFormatString(chroma: number): string {\n        switch (chroma) {\n            case 420:\n                return '4:2:0';\n            case 422:\n                return '4:2:2';\n            case 444:\n                return '4:4:4';\n            default:\n                return 'Unknown';\n        }\n    }\n\n}\n\nexport default SPSParser;\n","import { MP4Meta } from './fmp4';\nimport SPSParser from './h264-sps-parser';\n\n//\nexport function parseAVCDecoderConfigurationRecord(arrayBuffer: Uint8Array) {\n    const meta: MP4Meta = {}\n    const v = new DataView(arrayBuffer.buffer);\n    let version = v.getUint8(0);  // configurationVersion\n    let avcProfile = v.getUint8(1);  // avcProfileIndication\n    let profileCompatibility = v.getUint8(2);  // profile_compatibil\n    let avcLevel = v.getUint8(3);  // AVCLevelIndication\n\n    if (version !== 1 || avcProfile === 0) {\n        // this._onError(DemuxErrors.FORMAT_ERROR, 'Flv: Invalid AVCDecoderConfigurationRecord');\n\n        return meta;\n    }\n\n    const _naluLengthSize = (v.getUint8(4) & 3) + 1;  // lengthSizeMinusOne\n\n    if (_naluLengthSize !== 3 && _naluLengthSize !== 4) {  // holy shit!!!\n        // this._onError(DemuxErrors.FORMAT_ERROR, `Flv: Strange NaluLengthSizeMinusOne: ${_naluLengthSize - 1}`);\n        return meta;\n    }\n    let spsCount = v.getUint8(5) & 31;  // numOfSequenceParameterSets\n\n    if (spsCount === 0) {\n        // this._onError(DemuxErrors.FORMAT_ERROR, 'Flv: Invalid AVCDecoderConfigurationRecord: No SPS');\n        return;\n    } else if (spsCount > 1) {\n        // Log.w(this.TAG, `Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${spsCount}`);\n    }\n\n    let offset = 6;\n    for (let i = 0; i < spsCount; i++) {\n        let len = v.getUint16(offset, false);  // sequenceParameterSetLength\n        offset += 2;\n\n        if (len === 0) {\n            continue;\n        }\n\n        // Notice: Nalu without startcode header (00 00 00 01)\n        let sps = new Uint8Array(arrayBuffer.buffer, offset, len);\n        offset += len;\n        // flv.js作者选择了自己来解析这个数据结构，也是迫不得已，因为JS环境下没有ffmpeg，解析这个结构主要是为了提取 sps和pps。虽然理论上sps允许有多个，但其实一般就一个。\n        // packetTtype 为 1 表示 NALU，NALU= network abstract layer unit，这是H.264的概念，网络抽象层数据单元，其实简单理解就是一帧视频数据。\n        // pps的信息没什么用，所以作者只实现了sps的分析器，说明作者下了很大功夫去学习264的标准，其中的Golomb解码还是挺复杂的，能解对不容易，我在PC和手机平台都是用ffmpeg去解析的。\n        // SPS里面包括了视频分辨率，帧率，profile level等视频重要信息。\n        let config = SPSParser.parseSPS(sps);\n        if (i !== 0) {\n            // ignore other sps's config\n            continue;\n        }\n\n        meta.codecWidth = config.codec_size.width;\n        meta.codecHeight = config.codec_size.height;\n        meta.presentWidth = config.present_size.width;\n        meta.presentHeight = config.present_size.height;\n\n        meta.profile = config.profile_string;\n        meta.level = config.level_string;\n        meta.bitDepth = config.bit_depth;\n        meta.chromaFormat = config.chroma_format;\n        meta.sarRatio = config.sar_ratio;\n        meta.frameRate = config.frame_rate;\n\n        if (config.frame_rate.fixed === false ||\n            config.frame_rate.fps_num === 0 ||\n            config.frame_rate.fps_den === 0) {\n            meta.frameRate = {};\n        }\n\n        let fps_den = meta.frameRate.fps_den;\n        let fps_num = meta.frameRate.fps_num;\n\n        meta.refSampleDuration = meta.timescale * (fps_den / fps_num);\n\n        let codecArray = sps.subarray(1, 4);\n\n        let codecString = 'avc1.';\n        for (let j = 0; j < 3; j++) {\n            let h = codecArray[j].toString(16);\n            if (h.length < 2) {\n                h = '0' + h;\n            }\n            codecString += h;\n        }\n        // codec\n        meta.codec = codecString;\n    }\n\n    let ppsCount = v.getUint8(offset);  // numOfPictureParameterSets\n    if (ppsCount === 0) {\n        // this._onError(DemuxErrors.FORMAT_ERROR, 'Flv: Invalid AVCDecoderConfigurationRecord: No PPS');\n        return meta;\n    } else if (ppsCount > 1) {\n        // Log.w(this.TAG, `Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${ppsCount}`);\n    }\n\n    offset++;\n    for (let i = 0; i < ppsCount; i++) {\n        let len = v.getUint16(offset, false);  // pictureParameterSetLength\n        offset += 2;\n\n        if (len === 0) {\n            continue;\n        }\n        let pps = new Uint8Array(arrayBuffer.buffer, offset, len);\n\n        // pps is useless for extracting video information\n        offset += len;\n    }\n\n    meta.videoType = 'avc';\n\n    // meta.avcc = arrayBuffer;\n    return meta;\n}\n\nexport function avcEncoderConfigurationRecord({ sps, pps }: { sps: Uint8Array; pps: Uint8Array }) {\n  // require Nalu without 4 byte length-header\n  let length = 6 + 2 + sps.byteLength + 1 + 2 + pps.byteLength;\n  let need_extra_fields = false;\n  const sps_details = SPSParser.parseSPS(sps);\n\n  if (sps[3] !== 66 && sps[3] !== 77 && sps[3] !== 88) {\n      need_extra_fields = true;\n      length += 4;\n  }\n  let data = new Uint8Array(length);\n  data[0] = 0x01;    // configurationVersion\n  data[1] = sps[1];  // AVCProfileIndication\n  data[2] = sps[2];  // profile_compatibility\n  data[3] = sps[3];  // AVCLevelIndication\n  data[4] = 0xFF;    // 111111 + lengthSizeMinusOne(3)\n\n  data[5] = 0xE0 | 0x01  // 111 + numOfSequenceParameterSets\n  let sps_length = sps.byteLength;\n  data[6] = sps_length >>> 8;  // sequenceParameterSetLength\n  data[7] = sps_length & 0xFF;\n\n  let offset = 8;\n  data.set(sps, 8);\n  offset += sps_length;\n\n  data[offset] = 1;  // numOfPictureParameterSets\n\n  let pps_length = pps.byteLength;\n  data[offset + 1] = pps_length >>> 8;  // pictureParameterSetLength\n  data[offset + 2] = pps_length & 0xFF;\n\n  data.set(pps, offset + 3);\n  offset += 3 + pps_length;\n\n  if (need_extra_fields) {\n      data[offset] = 0xFC | sps_details.chroma_format_idc;\n      data[offset + 1] = 0xF8 | (sps_details.bit_depth_luma - 8);\n      data[offset + 2] = 0xF8 | (sps_details.bit_depth_chroma - 8);\n      data[offset + 3] = 0x00;  // number of sps ext\n      offset += 4;\n  }\n  const prevData = [0x17, 0x00, 0x00, 0x00, 0x00];\n  const newData = new Uint8Array(prevData.length + data.byteLength);\n  newData.set(prevData, 0);\n  newData.set(data, prevData.length);\n  return newData;\n}","import MP4, { MP4Meta } from \"./fmp4\";\nimport { avcEncoderConfigurationRecord } from \"./h264\";\nimport SPSParser from \"./h264-sps-parser\";\nimport {\n  VideoDecoderInterface,\n  VideoDecoderEvent,\n} from \"./types\";\nimport { ChangeState, FSM, Includes } from \"afsm\";\nexport class VideoDecoderMSE extends FSM implements VideoDecoderInterface {\n  sourceBuffer?: SourceBuffer;\n  sequenceNumber: any;\n  sourceBufferCache: Uint8Array[] = [];\n  decode(packet: EncodedVideoChunkInit): void {\n    const isAvcc = !!this.config?.description;\n    if (!isAvcc) {\n      const annexb = packet.data instanceof ArrayBuffer ? new Uint8Array(packet.data) : packet.data as Uint8Array;\n      let sps, pps;\n      let isIframe = false;\n      // Function to find NAL unit boundaries\n      const findNALUBoundaries = (data: Uint8Array): number[] => {\n        const boundaries: number[] = [];\n        for (let i = 0; i < data.length - 3; i++) {\n          // Check for NAL unit start code: 0x00000001 or 0x000001\n          if (\n            data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0 && data[i + 3] === 1\n          ) {\n            boundaries.push(i + 4);\n          } else if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 1) {\n            boundaries.push(i + 3);\n          }\n        }\n        return boundaries;\n      };\n\n      // Find NAL unit boundaries\n      const nalBoundaries = findNALUBoundaries(annexb);\n\n      // Extract NAL units\n      const nalUnits: Uint8Array[] = [];\n      for (let i = 0; i < nalBoundaries.length; i++) {\n        const start = nalBoundaries[i];\n        const end = i < nalBoundaries.length - 1 ? nalBoundaries[i + 1] : annexb.length;\n        nalUnits.push(annexb.subarray(start, end));\n      }\n      // Check each NAL unit\n      nalUnits.forEach((nalUnit, index) => {\n        const nalUnitType = nalUnit[0] & 0x1F;\n        if (nalUnitType === 7) {\n          sps = nalUnit;\n        } else if (nalUnitType === 8) {\n          pps = nalUnit;\n        } else if (nalUnitType === 5) {\n          // IDR\n          isIframe = true;\n        }\n      });\n      if (sps && pps && !this.sourceBuffer) {\n        const info = SPSParser.parseSPS(sps);\n        const metaData: MP4Meta = {\n          id: 1, // video tag data\n          type: 'video',\n          timescale: 1000,\n          duration: 0,\n          avcc: avcEncoderConfigurationRecord({ sps, pps }),\n          codecWidth: info.codec_size.width,\n          codecHeight: info.codec_size.height,\n          presentWidth: info.present_size.width,\n          presentHeight: info.present_size.height,\n          videoType: 'avc'\n        };\n        // ftyp\n        this.sourceBuffer = this.mse.addSourceBuffer(`video/mp4; codecs=\"${info.codec_mimetype}\"`);\n        this.sourceBuffer.appendBuffer(MP4.generateInitSegment(metaData));\n        this.sourceBuffer.addEventListener('updateend', () => {\n          if (this.sourceBufferCache.length) {\n            this.sourceBuffer!.appendBuffer(this.sourceBufferCache.shift()!);\n          }\n        });\n        // this.sourceBuffer.mode = 'sequence';\n      } else {\n        const avccBytes = nalUnits.reduce((acc, nal) => acc + nal.length + 4, 0);\n        const mdatBytes = 8 + avccBytes;\n        const mdatbox = new Uint8Array(mdatBytes);\n        // mdat box用来存储视频碎片数据，\n        const dataView = new DataView(mdatbox.buffer, 0);\n        dataView.setUint32(0, mdatBytes, false);\n        mdatbox.set(MP4.types.mdat, 4);\n        let offset = 8;\n        nalUnits.forEach((nalUnit) => {\n          dataView.setUint32(offset, nalUnit.length, false);\n          mdatbox.set(nalUnit, offset + 4);\n          offset += nalUnit.length + 4;\n        });\n        const cacheTrack = {\n          id: 1,\n          sequenceNumber: ++this.sequenceNumber,\n          size: avccBytes,\n          dts: packet.timestamp,\n          cts: packet.timestamp,\n          isKeyframe: isIframe,\n          data: annexb,\n          flags: {\n            isLeading: 0,\n            dependsOn: 2,\n            isDependedOn: 1,\n            hasRedundancy: 0,\n            isNonSync: 0\n          },\n          duration: 40,\n        };\n        const moofbox = MP4.moof(cacheTrack, packet.timestamp);\n\n        const result = new Uint8Array(moofbox.byteLength + mdatbox.byteLength);\n        result.set(moofbox, 0);\n        result.set(mdatbox, moofbox.byteLength);\n        if (this.sourceBuffer?.updating) {\n          this.sourceBufferCache.push(result);\n        } else {\n          this.sourceBuffer?.appendBuffer(result);\n        }\n      }\n    } else {\n      try {\n        const avccBytes = packet.data.byteLength;\n        const mdatBytes = 8 + avccBytes;\n        const mdatbox = new Uint8Array(mdatBytes);\n        // mdat box用来存储视频碎片数据，\n        const dataView = new DataView(mdatbox.buffer, 0);\n        dataView.setUint32(0, mdatBytes, false);\n        mdatbox.set(MP4.types.mdat, 4);\n        const cacheTrack = {\n          id: 1,\n          sequenceNumber: ++this.sequenceNumber,\n          size: avccBytes,\n          dts: packet.timestamp,\n          cts: packet.timestamp,\n          isKeyframe: packet.type === 'key',\n          data: packet.data,\n          flags: {\n            isLeading: 0,\n            dependsOn: 2,\n            isDependedOn: 1,\n            hasRedundancy: 0,\n            isNonSync: 0\n          },\n          duration: 40,\n        };\n        const moofbox = MP4.moof(cacheTrack, packet.timestamp);\n\n        const result = new Uint8Array(moofbox.byteLength + mdatbox.byteLength);\n        result.set(moofbox, 0);\n        result.set(mdatbox, moofbox.byteLength);\n        if (this.sourceBuffer?.updating) {\n          this.sourceBufferCache.push(result);\n        } else {\n          this.sourceBuffer?.appendBuffer(result);\n        }\n      } catch (e) {\n        console.log(this.element?.error);\n        console.error(e);\n      }\n    }\n  }\n  flush(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  @ChangeState([], FSM.INIT, { sync: true })\n  reset(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  @ChangeState([], \"closed\", { ignoreError: true, sync: true })\n  close(): void {\n    if (this.src) {\n      URL.revokeObjectURL(this.src);\n    }\n  }\n  mse!: MediaSource;\n  src?: string;\n  element?: HTMLVideoElement;\n  config?: VideoDecoderConfig;\n  @ChangeState([FSM.INIT, \"closed\"], \"initialized\")\n  initialize(videoElement: HTMLVideoElement) {\n    this.mse = new MediaSource();\n    this.src = URL.createObjectURL(this.mse);\n    this.element = videoElement;\n    videoElement.src = this.src;\n    return new Promise((resolve) => {\n      this.mse.addEventListener('sourceopen', resolve);\n    });\n  }\n\n  @ChangeState(\"initialized\", \"configured\", { sync: true })\n  configure(config: VideoDecoderConfig): void {\n    this.config = config;\n    if (config.description) {\n      const avcc = config.description as Uint8Array;\n      const spsStart = 6;\n      const spsLength = (avcc[spsStart] << 8) | avcc[spsStart + 1];\n      const sps = avcc.subarray(spsStart + 2, spsStart + 2 + spsLength);\n      const info = SPSParser.parseSPS(sps);\n      const metaData: MP4Meta = {\n        id: 1, // video tag data\n        type: 'video',\n        timescale: 1000,\n        duration: 0,\n        avcc,\n        codecWidth: info.codec_size.width,\n        codecHeight: info.codec_size.height,\n        presentWidth: info.present_size.width,\n        presentHeight: info.present_size.height,\n        videoType: 'avc'\n      };\n      console.log(metaData);\n      // ftyp\n      this.sourceBuffer = this.mse.addSourceBuffer(`video/mp4; codecs=\"${info.codec_mimetype}\"`);\n      this.sourceBuffer.appendBuffer(MP4.generateInitSegment(metaData));\n      this.sourceBuffer.addEventListener('updateend', () => {\n        if (this.sourceBufferCache.length) {\n          this.sourceBuffer!.appendBuffer(this.sourceBufferCache.shift()!);\n        }\n      });\n      // this.sourceBuffer.mode = 'sequence';\n    }\n  }\n}\n","\nvar Module = (() => {\n  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n  \n  return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile=\"audiodec.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+binaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;wasmMemory=wasmExports[\"E\"];updateMemoryViews();wasmTable=wasmExports[\"H\"];addOnInit(wasmExports[\"F\"]);removeRunDependency(\"wasm-instantiate\");return exports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};var PATH={isAbs:path=>path.charAt(0)===\"/\",splitPath:filename=>{var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(p=>!!p),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path===\"/\")return\"/\";path=PATH.normalize(path);path=path.replace(/\\/$/,\"\");var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join(\"/\"))},join2:(l,r)=>PATH.normalize(l+\"/\"+r)};var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter(p=>!!p),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else if(typeof readline==\"function\"){result=readline();if(result!==null){result+=\"\\n\"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){return FS_stdin_getChar()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets:function(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(tty,optional_actions,data){return 0},ioctl_tiocgwinsz:function(tty){return[24,80]}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,\"/\",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}HEAP8.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=(url,onload,onerror,noRunDep)=>{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):\"\";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file \"${url}\" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file \"${url}\" failed.`}});if(dep)addRunDependency(dep)};var preloadPlugins=Module[\"preloadPlugins\"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!=\"undefined\")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={\"r\":0,\"r+\":2,\"w\":512|64|1,\"w+\":512|64|2,\"a\":1024|64|1,\"a+\":1024|64|2};var flags=flagModes[str];if(typeof flags==\"undefined\"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split(\"/\").filter(p=>!!p);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count+1});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>node===node.parent,isMountpoint:node=>!!node.mounted,isFile:mode=>(mode&61440)===32768,isDir:mode=>(mode&61440)===16384,isLink:mode=>(mode&61440)===40960,isChrdev:mode=>(mode&61440)===8192,isBlkdev:mode=>(mode&61440)===24576,isFIFO:mode=>(mode&61440)===4096,isSocket:mode=>(mode&49152)===49152,flagsToPermissionString:flag=>{var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes(\"r\")&&!(node.mode&292)){return 2}else if(perms.includes(\"w\")&&!(node.mode&146)){return 2}else if(perms.includes(\"x\")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,\"x\");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,\"wx\")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,\"wx\");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked:fd=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate==\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>parent.node_ops.lookup(parent,name),mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:(path,mode,dev)=>{if(typeof dev==\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>FS.stat(path,true),chmod:(path,mode,dontFollow)=>{var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStreamChecked(fd);FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStreamChecked(fd);FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStreamChecked(fd);if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===\"\"){throw new FS.ErrnoError(44)}flags=typeof flags==\"string\"?FS_modeStringToFlags(flags):flags;mode=typeof mode==\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>stream.fd===null,llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error(`Invalid encoding type \"${opts.encoding}\"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,\"x\");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")},createDefaultDevices:()=>{FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice(\"/dev\",\"random\",randomByte);FS.createDevice(\"/dev\",\"urandom\",randomByte);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:()=>{FS.mkdir(\"/proc\");var proc_self=FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount:()=>{var node=FS.createNode(proc_self,\"fd\",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},\"/proc/self/fd\")},createStandardStreams:()=>{if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",0);var stdout=FS.open(\"/dev/stdout\",1);var stderr=FS.open(\"/dev/stderr\",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name=\"ErrnoError\";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message=\"FS error\"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent==\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent==\"string\"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:(parent,name,input,output)=>{var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:(stream,buffer,offset,length,pos)=>{for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile:obj=>{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||\"\",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret=\"\";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":8,\"readValueFromPointer\":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError(\"Unknown boolean type size: \"+name)}return this[\"fromWireType\"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype[\"isAliasOf\"]=ClassHandle_isAliasOf;ClassHandle.prototype[\"clone\"]=ClassHandle_clone;ClassHandle.prototype[\"delete\"]=ClassHandle_delete;ClassHandle.prototype[\"isDeleted\"]=ClassHandle_isDeleted;ClassHandle.prototype[\"deleteLater\"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle[\"delete\"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this[\"fromWireType\"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle[\"delete\"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype[\"argPackAdvance\"]=8;RegisteredPointer.prototype[\"readValueFromPointer\"]=simpleReadValueFromPointer;RegisteredPointer.prototype[\"deleteObject\"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype[\"fromWireType\"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistant public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{var f=Module[\"dynCall_\"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args)=>{if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!==\"void\";var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=`\\n        return function ${makeLegalFunctionName(humanName)}(${argsList}) {\\n        if (arguments.length !== ${argCount-2}) {\\n          throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount-2} args!');\\n        }`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam.toWireType(\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\".toWireType(\"+dtorStack+\", arg\"+i+\"); // \"+argTypes[i+2].name+\"\\n\";args1.push(\"argType\"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+\"_dtor(\"+paramName+\"); // \"+argTypes[i].name+\"\\n\";args1.push(paramName+\"_dtor\");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+=\"var ret = retType.fromWireType(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";args1.push(invokerFnBody);return newFunc(Function,args1).apply(null,args2)}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i<emval_handles.allocated.length;++i){if(emval_handles.allocated[i]!==undefined){++count}}return count}function init_emval(){emval_handles.allocated.push({value:undefined},{value:null},{value:true},{value:false});emval_handles.reserved=emval_handles.allocated.length;Module[\"count_emval_handles\"]=count_emval_handles}var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":function(destructors,value){return Emval.toHandle(value)},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>3])};default:throw new TypeError(\"Unknown float type: \"+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(value){return value},\"toWireType\":function(destructors,value){return value},\"argPackAdvance\":8,\"readValueFromPointer\":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError(\"Unknown integer type: \"+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":8,\"readValueFromPointer\":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":8,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join(\"\")}_free(value);return str},\"toWireType\":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":function(destructors,value){if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":function(){return undefined},\"toWireType\":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+\" has unknown type \"+getTypeName(rawType))}return impl}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],\"parameter \"+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+\"_$\"+types.slice(1).map(function(t){return t.name}).join(\"_\")+\"$\";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=[\"retType\"];var args=[retType];var argsList=\"\";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;params.push(\"argType\"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName(\"methodCaller_\"+signatureName);var functionBody=\"return function \"+functionName+\"(handle, name, destructors, args) {\\n\";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=\"    var arg\"+i+\" = argType\"+i+\".readValueFromPointer(args\"+(offset?\"+\"+offset:\"\")+\");\\n\";offset+=types[i+1][\"argPackAdvance\"]}functionBody+=\"    var rv = handle[name](\"+argsList+\");\\n\";for(var i=0;i<argCount-1;++i){if(types[i+1][\"deleteObject\"]){functionBody+=\"    argType\"+i+\".deleteObject(arg\"+i+\");\\n\"}}if(!retType.isVoid){functionBody+=\"    return retType.toWireType(destructors, rv);\\n\"}functionBody+=\"};\\n\";params.push(functionBody);var invokerFunction=newFunc(Function,params).apply(null,args);returnId=emval_addMethodCaller(invokerFunction);emval_registeredMethods[signatureName]=returnId;return returnId}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}var _abort=()=>{abort(\"\")};function _emscripten_date_now(){return Date.now()}var getHeapMax=()=>HEAPU8.length;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var abortOnCannotGrowMemory=requestedSize=>{abort(\"OOM\")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf>>0]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!==\"undefined\"){offset+=curr}}return ret};function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!==\"undefined\"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();embind_init_charCodes();BindingError=Module[\"BindingError\"]=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};InternalError=Module[\"InternalError\"]=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");handleAllocatorInit();init_emval();var wasmImports={p:___cxa_throw,C:___syscall_fcntl64,w:___syscall_openat,t:__embind_register_bigint,n:__embind_register_bool,r:__embind_register_class,q:__embind_register_class_constructor,d:__embind_register_class_function,D:__embind_register_emval,k:__embind_register_float,c:__embind_register_integer,b:__embind_register_memory_view,j:__embind_register_std_string,f:__embind_register_std_wstring,o:__embind_register_void,g:__emval_call_void_method,m:__emval_decref,l:__emval_get_method_caller,a:_abort,e:_emscripten_date_now,v:_emscripten_get_heap_max,A:_emscripten_memcpy_big,u:_emscripten_resize_heap,y:_environ_get,z:_environ_sizes_get,i:_fd_close,x:_fd_fdstat_get,B:_fd_read,s:_fd_seek,h:_fd_write};var asm=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"F\"])();var _malloc=a0=>(_malloc=wasmExports[\"G\"])(a0);var _free=a0=>(_free=wasmExports[\"I\"])(a0);var ___errno_location=()=>(___errno_location=wasmExports[\"J\"])();var ___getTypeName=a0=>(___getTypeName=wasmExports[\"K\"])(a0);var __embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=()=>(__embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=wasmExports[\"L\"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports[\"M\"])(a0);var dynCall_viiijj=Module[\"dynCall_viiijj\"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_viiijj=Module[\"dynCall_viiijj\"]=wasmExports[\"N\"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jij=Module[\"dynCall_jij\"]=(a0,a1,a2,a3)=>(dynCall_jij=Module[\"dynCall_jij\"]=wasmExports[\"O\"])(a0,a1,a2,a3);var dynCall_jii=Module[\"dynCall_jii\"]=(a0,a1,a2)=>(dynCall_jii=Module[\"dynCall_jii\"]=wasmExports[\"P\"])(a0,a1,a2);var dynCall_jiji=Module[\"dynCall_jiji\"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module[\"dynCall_jiji\"]=wasmExports[\"Q\"])(a0,a1,a2,a3,a4);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n  return moduleArg.ready\n}\n\n);\n})();\nexport default Module;","import {\n  AudioDecoderInterface,\n  AudioCodecInfo,\n  AudioDecoderEvent,\n  AudioFrame,\n  ErrorInfo,\n} from \"./types\";\nimport CreateModule from \"../wasm/types/audiodec\";\nimport { ChangeState, FSM, Includes } from \"afsm\";\n\nexport class AudioDecoderSoft extends FSM implements AudioDecoderInterface {\n  decoder: any;\n  config?: AudioDecoderConfig;\n  module?: any;\n\n  sampleRate = 0;\n  channels = 0;\n\n  @ChangeState(FSM.INIT, \"initialized\")\n  initialize(): Promise<void> {\n    return new Promise((resolve) => {\n      const opts: any = {};\n      opts.print = (text: string) => console.log(text);\n      opts.printErr = (text: string) => console.log(`[JS] ERROR: ${text}`);\n      opts.onAbort = () => console.log(\"[JS] FATAL: WASM ABORTED\");\n      opts.postRun = (m: any) => {\n        this.module = m;\n        this.decoder = new this.module.AudioDecoder(this);\n        resolve();\n      };\n      console.log(`audio soft decoder initialize call`);\n      CreateModule(opts);\n    });\n  }\n  @ChangeState(\"initialized\", \"configured\", { sync: true })\n  configure(config: AudioDecoderConfig): void {\n    this.config = config;\n    this.decoder.setCodec(this.config.codec, this.config.description ?? '');\n  }\n  @Includes(\"configured\")\n  decode(packet: EncodedAudioChunkInit): void {\n    this.decoder.decode(packet.data, packet.timestamp);\n  }\n\n  flush(): void { }\n  @ChangeState(\"configured\", \"initialized\", { sync: true })\n  reset(): void {\n    this.config = undefined;\n    if (this.decoder) {\n      this.decoder.clear();\n    }\n  }\n  @ChangeState([], \"closed\", { sync: true })\n  close(): void {\n    this.removeAllListeners();\n    if (this.decoder) {\n      this.decoder.clear();\n      this.decoder.delete();\n    }\n  }\n\n  // wasm callback function\n  audioInfo(sampleRate: number, channels: number): void {\n    this.sampleRate = sampleRate;\n    this.channels = channels;\n\n    let audioCodeInfo: AudioCodecInfo = {\n      sampleRate,\n      channels,\n      depth: 16,\n    };\n\n    this.emit(AudioDecoderEvent.AudioCodecInfo, audioCodeInfo);\n  }\n\n  pcmData(pcmDataArray: number, samples: number, pts: number): void {\n    if (!this.module) {\n      return;\n    }\n\n    let pcmDatas: Float32Array[] = [];\n    let size = 0;\n    let offset = 0;\n    for (let i = 0; i < this.channels; i++) {\n      let fp = this.module.HEAPU32[(pcmDataArray >> 2) + i] >> 2;\n      const data = this.module.HEAPF32.subarray(fp, fp + samples);\n      pcmDatas.push(data);\n      size += data.length;\n    }\n    const data = new Float32Array(size);\n\n    this.emit(AudioDecoderEvent.AudioFrame, new AudioData({\n      format: \"f32-planar\",\n      sampleRate: this.sampleRate,\n      numberOfChannels: this.channels,\n      timestamp: pts,\n      numberOfFrames: samples,\n      data: pcmDatas.reduce((prev, curr) => {\n        prev.subarray(offset).set(curr);\n        offset += curr.length;\n        return prev;\n      }, data),\n    }));\n  }\n\n  errorInfo(errormsg: string): void {\n    let err: ErrorInfo = {\n      errMsg: errormsg,\n    };\n\n    this.emit(AudioDecoderEvent.Error, err);\n  }\n}\n","import {\n  AudioDecoderInterface,\n  AudioDecoderEvent,\n} from \"./types\";\nimport { ChangeState, FSM, Includes } from \"afsm\";\n\nexport class AudioDecoderHard extends FSM implements AudioDecoderInterface {\n  decoder!: AudioDecoder;\n  config?: AudioDecoderConfig;\n  @ChangeState([FSM.INIT, \"closed\"], \"initialized\")\n  async initialize() {\n    this.decoder = new AudioDecoder({\n      output: (frame) => {\n        this.emit(AudioDecoderEvent.AudioFrame, frame);\n      },\n      error: (err) => {\n        this.emit(AudioDecoderEvent.Error, err);\n        this.close();\n      },\n    });\n  }\n  @ChangeState(\"initialized\", \"configured\", { sync: true })\n  configure(config: AudioDecoderConfig): void {\n    if (config.codec === 'aac') config.codec = 'mp4a.40.2';\n    this.config = config;\n    this.decoder.configure(config);\n  }\n  @Includes(\"configured\")\n  decode(packet: EncodedAudioChunkInit): void {\n    if (this.decoder.state === \"configured\")\n      this.decoder.decode(new EncodedAudioChunk(packet));\n  }\n  flush(): void {\n    this.decoder.flush();\n  }\n  @ChangeState([], FSM.INIT, { sync: true })\n  reset(): void {\n    this.decoder.reset();\n  }\n  @ChangeState([], \"closed\", { ignoreError: true, sync: true })\n  close(): void {\n    if (this.decoder.state !== \"closed\") this.decoder.close();\n  }\n}\n"]}