@pyreon/document 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/lib/analysis/index.js.html +1 -1
  2. package/lib/confluence-Bd3ua1Ut.js.map +1 -1
  3. package/lib/csv-COrS4qdy.js.map +1 -1
  4. package/lib/discord-BLUnkEh9.js.map +1 -1
  5. package/lib/{dist-BsqdI2nY.js → dist-CYL41kqQ.js} +2 -2
  6. package/lib/dist-CYL41kqQ.js.map +1 -0
  7. package/lib/{docx-BEBOihjl.js → docx-uNAel545.js} +7 -2
  8. package/lib/docx-uNAel545.js.map +1 -0
  9. package/lib/email-D0bbfWq4.js.map +1 -1
  10. package/lib/{exceljs-BoIDUUaw.js → exceljs-BYETsesT.js} +314 -314
  11. package/lib/exceljs-BYETsesT.js.map +1 -0
  12. package/lib/google-chat-CkKCBUWC.js.map +1 -1
  13. package/lib/html-B5biprN2.js.map +1 -1
  14. package/lib/index.js +17 -8
  15. package/lib/index.js.map +1 -1
  16. package/lib/markdown-CdtlFGC0.js.map +1 -1
  17. package/lib/notion-iG2C5bEY.js.map +1 -1
  18. package/lib/{pdf-DIUQUEdj.js → pdf-IuBgTb3T.js} +9 -3
  19. package/lib/pdf-IuBgTb3T.js.map +1 -0
  20. package/lib/{pdfmake-DnmLxK4Q.js → pdfmake-CKMX5URW.js} +2 -4
  21. package/lib/pdfmake-CKMX5URW.js.map +1 -0
  22. package/lib/{pptx-Dd33oL3_.js → pptx-DXiMiYFM.js} +7 -2
  23. package/lib/pptx-DXiMiYFM.js.map +1 -0
  24. package/lib/{pptxgen.es-COcgXsyx.js → pptxgen.es-FsqHs8mD.js} +3 -6
  25. package/lib/pptxgen.es-FsqHs8mD.js.map +1 -0
  26. package/lib/sanitize-O_3j1mNJ.js.map +1 -1
  27. package/lib/slack-BI3EQwYm.js.map +1 -1
  28. package/lib/svg-BKxumy-p.js.map +1 -1
  29. package/lib/teams-Cwz9lce0.js.map +1 -1
  30. package/lib/telegram-gYFqyMXb.js.map +1 -1
  31. package/lib/text-l1XNXBOC.js.map +1 -1
  32. package/lib/types/index.d.ts +43 -39
  33. package/lib/types/index.d.ts.map +1 -1
  34. package/lib/{vfs_fonts-Df1kkZ4Y.js → vfs_fonts-Cap07Jg3.js} +2 -2
  35. package/lib/vfs_fonts-Cap07Jg3.js.map +1 -0
  36. package/lib/whatsapp-CjSGoOKx.js.map +1 -1
  37. package/lib/{xlsx-Bb5TWyXQ.js → xlsx-Cvu4LBNy.js} +8 -2
  38. package/lib/xlsx-Cvu4LBNy.js.map +1 -0
  39. package/package.json +19 -7
  40. package/src/builder.ts +53 -44
  41. package/src/download.ts +32 -36
  42. package/src/env.d.ts +3 -17
  43. package/src/index.ts +6 -8
  44. package/src/nodes.ts +45 -45
  45. package/src/render.ts +45 -118
  46. package/src/renderers/confluence.ts +64 -80
  47. package/src/renderers/csv.ts +11 -18
  48. package/src/renderers/discord.ts +38 -50
  49. package/src/renderers/docx.ts +78 -120
  50. package/src/renderers/email.ts +73 -92
  51. package/src/renderers/google-chat.ts +35 -47
  52. package/src/renderers/html.ts +78 -101
  53. package/src/renderers/markdown.ts +43 -53
  54. package/src/renderers/notion.ts +63 -85
  55. package/src/renderers/pdf.ts +92 -115
  56. package/src/renderers/pptx.ts +60 -66
  57. package/src/renderers/slack.ts +49 -61
  58. package/src/renderers/svg.ts +49 -63
  59. package/src/renderers/teams.ts +68 -80
  60. package/src/renderers/telegram.ts +40 -54
  61. package/src/renderers/text.ts +44 -66
  62. package/src/renderers/whatsapp.ts +34 -48
  63. package/src/renderers/xlsx.ts +47 -61
  64. package/src/sanitize.ts +21 -25
  65. package/src/tests/document.test.ts +1337 -1385
  66. package/src/tests/stress.test.ts +350 -0
  67. package/src/types.ts +66 -65
  68. package/lib/dist-BsqdI2nY.js.map +0 -1
  69. package/lib/docx-BEBOihjl.js.map +0 -1
  70. package/lib/exceljs-BoIDUUaw.js.map +0 -1
  71. package/lib/pdf-DIUQUEdj.js.map +0 -1
  72. package/lib/pdfmake-DnmLxK4Q.js.map +0 -1
  73. package/lib/pptx-Dd33oL3_.js.map +0 -1
  74. package/lib/pptxgen.es-COcgXsyx.js.map +0 -1
  75. package/lib/vfs_fonts-Df1kkZ4Y.js.map +0 -1
  76. package/lib/xlsx-Bb5TWyXQ.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-CYL41kqQ.js","names":[],"sources":["../../../../node_modules/.bun/docx@9.6.1/node_modules/docx/dist/index.mjs"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\nclass BaseXmlComponent {\n /**\n * Creates a new BaseXmlComponent with the specified XML element name.\n *\n * @param rootKey - The XML element name (e.g., \"w:p\", \"w:r\", \"w:t\")\n */\n constructor(rootKey) {\n /** The XML element name for this component (e.g., \"w:p\" for paragraph). */\n __publicField(this, \"rootKey\");\n this.rootKey = rootKey;\n }\n}\nconst EMPTY_OBJECT = Object.seal({});\nclass XmlComponent extends BaseXmlComponent {\n /**\n * Creates a new XmlComponent.\n *\n * @param rootKey - The XML element name (e.g., \"w:p\", \"w:r\", \"w:t\")\n */\n constructor(rootKey) {\n super(rootKey);\n /**\n * Array of child components, text nodes, and attributes.\n *\n * This array forms the content of the XML element. It can contain other\n * XmlComponents, string values (text nodes), or attribute components.\n */\n // eslint-disable-next-line functional/prefer-readonly-type, @typescript-eslint/no-explicit-any\n __publicField(this, \"root\");\n this.root = new Array();\n }\n /**\n * Prepares this component and its children for XML serialization.\n *\n * This method is called by the Formatter to convert the component tree into\n * an object structure compatible with the xml library (https://www.npmjs.com/package/xml).\n * It recursively processes all children and handles special cases like\n * attribute-only elements and empty elements.\n *\n * The method can be overridden by subclasses to customize XML representation\n * or execute side effects during serialization (e.g., creating relationships).\n *\n * @param context - The serialization context containing document state\n * @returns The XML-serializable object, or undefined to exclude from output\n *\n * @example\n * ```typescript\n * // Override to add custom serialization logic\n * prepForXml(context: IContext): IXmlableObject | undefined {\n * // Custom logic here\n * return super.prepForXml(context);\n * }\n * ```\n */\n prepForXml(context) {\n var _a;\n context.stack.push(this);\n const children = this.root.map((comp) => {\n if (comp instanceof BaseXmlComponent) {\n return comp.prepForXml(context);\n }\n return comp;\n }).filter((comp) => comp !== void 0);\n context.stack.pop();\n return {\n [this.rootKey]: children.length ? children.length === 1 && ((_a = children[0]) == null ? void 0 : _a._attr) ? children[0] : children : EMPTY_OBJECT\n };\n }\n /**\n * Adds a child element to this component.\n *\n * @deprecated Do not use this method. It is only used internally by the library. It will be removed in a future version.\n * @param child - The child component or text string to add\n * @returns This component (for chaining)\n */\n addChildElement(child) {\n this.root.push(child);\n return this;\n }\n}\nclass IgnoreIfEmptyXmlComponent extends XmlComponent {\n constructor(rootKey, includeIfEmpty) {\n super(rootKey);\n __publicField(this, \"includeIfEmpty\");\n this.includeIfEmpty = includeIfEmpty;\n }\n /**\n * Prepares the component for XML serialization, excluding it if empty.\n *\n * @param context - The serialization context\n * @returns The XML-serializable object, or undefined if empty\n */\n prepForXml(context) {\n const result = super.prepForXml(context);\n if (this.includeIfEmpty) {\n return result;\n }\n if (result && (typeof result[this.rootKey] !== \"object\" || Object.keys(result[this.rootKey]).length)) {\n return result;\n }\n return void 0;\n }\n}\nclass XmlAttributeComponent extends BaseXmlComponent {\n /**\n * Creates a new attribute component.\n *\n * @param root - The attribute data object\n */\n constructor(root) {\n super(\"_attr\");\n /** Optional mapping from property names to XML attribute names. */\n __publicField(this, \"xmlKeys\");\n this.root = root;\n }\n /**\n * Converts the attribute data to an XML-serializable object.\n *\n * This method transforms the property names using xmlKeys (if defined)\n * and filters out undefined values.\n *\n * @param _ - Context (unused for attributes)\n * @returns Object with _attr key containing the mapped attributes\n */\n prepForXml(_) {\n const attrs = {};\n Object.entries(this.root).forEach(([key, value]) => {\n if (value !== void 0) {\n const newKey = this.xmlKeys && this.xmlKeys[key] || key;\n attrs[newKey] = value;\n }\n });\n return { _attr: attrs };\n }\n}\nclass NextAttributeComponent extends BaseXmlComponent {\n /**\n * Creates a new NextAttributeComponent.\n *\n * @param root - Attribute payload with explicit key-value mappings\n */\n constructor(root) {\n super(\"_attr\");\n this.root = root;\n }\n /**\n * Converts the attribute payload to an XML-serializable object.\n *\n * Extracts the key and value from each property and filters out\n * undefined values.\n *\n * @param _ - Context (unused for attributes)\n * @returns Object with _attr key containing the attributes\n */\n prepForXml(_) {\n const attrs = Object.values(this.root).filter(({ value }) => value !== void 0).reduce((acc, { key, value }) => __spreadProps(__spreadValues({}, acc), { [key]: value }), {});\n return { _attr: attrs };\n }\n}\nclass Attributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n val: \"w:val\",\n color: \"w:color\",\n fill: \"w:fill\",\n space: \"w:space\",\n sz: \"w:sz\",\n type: \"w:type\",\n rsidR: \"w:rsidR\",\n rsidRPr: \"w:rsidRPr\",\n rsidSect: \"w:rsidSect\",\n w: \"w:w\",\n h: \"w:h\",\n top: \"w:top\",\n right: \"w:right\",\n bottom: \"w:bottom\",\n left: \"w:left\",\n header: \"w:header\",\n footer: \"w:footer\",\n gutter: \"w:gutter\",\n linePitch: \"w:linePitch\",\n pos: \"w:pos\"\n });\n }\n}\nvar commonjsGlobal = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nfunction getDefaultExportFromCjs$1(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar sax = {};\nvar events = { exports: {} };\nvar hasRequiredEvents;\nfunction requireEvents() {\n if (hasRequiredEvents) return events.exports;\n hasRequiredEvents = 1;\n var R = typeof Reflect === \"object\" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === \"function\" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === \"function\") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n events.exports = EventEmitter;\n events.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== \"function\") {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, \"defaultMaxListeners\", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== \"number\" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + \".\");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== \"number\" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + \".\");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type2) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = type2 === \"error\";\n var events2 = this._events;\n if (events2 !== void 0)\n doError = doError && events2.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error(\"Unhandled error.\" + (er ? \" (\" + er.message + \")\" : \"\"));\n err.context = er;\n throw err;\n }\n var handler = events2[type2];\n if (handler === void 0)\n return false;\n if (typeof handler === \"function\") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type2, listener, prepend) {\n var m;\n var events2;\n var existing;\n checkListener(listener);\n events2 = target._events;\n if (events2 === void 0) {\n events2 = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events2.newListener !== void 0) {\n target.emit(\n \"newListener\",\n type2,\n listener.listener ? listener.listener : listener\n );\n events2 = target._events;\n }\n existing = events2[type2];\n }\n if (existing === void 0) {\n existing = events2[type2] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === \"function\") {\n existing = events2[type2] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error(\"Possible EventEmitter memory leak detected. \" + existing.length + \" \" + String(type2) + \" listeners added. Use emitter.setMaxListeners() to increase limit\");\n w.name = \"MaxListenersExceededWarning\";\n w.emitter = target;\n w.type = type2;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type2, listener) {\n return _addListener(this, type2, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type2, listener) {\n return _addListener(this, type2, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type2, listener) {\n var state2 = { fired: false, wrapFn: void 0, target, type: type2, listener };\n var wrapped = onceWrapper.bind(state2);\n wrapped.listener = listener;\n state2.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type2, listener) {\n checkListener(listener);\n this.on(type2, _onceWrap(this, type2, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type2, listener) {\n checkListener(listener);\n this.prependListener(type2, _onceWrap(this, type2, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type2, listener) {\n var list, events2, position, i, originalListener;\n checkListener(listener);\n events2 = this._events;\n if (events2 === void 0)\n return this;\n list = events2[type2];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events2[type2];\n if (events2.removeListener)\n this.emit(\"removeListener\", type2, list.listener || listener);\n }\n } else if (typeof list !== \"function\") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events2[type2] = list[0];\n if (events2.removeListener !== void 0)\n this.emit(\"removeListener\", type2, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type2) {\n var listeners, events2, i;\n events2 = this._events;\n if (events2 === void 0)\n return this;\n if (events2.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events2[type2] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events2[type2];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events2);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === \"removeListener\") continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners(\"removeListener\");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events2[type2];\n if (typeof listeners === \"function\") {\n this.removeListener(type2, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type2, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type2, unwrap) {\n var events2 = target._events;\n if (events2 === void 0)\n return [];\n var evlistener = events2[type2];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === \"function\")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type2) {\n return _listeners(this, type2, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type2) {\n return _listeners(this, type2, false);\n };\n EventEmitter.listenerCount = function(emitter, type2) {\n if (typeof emitter.listenerCount === \"function\") {\n return emitter.listenerCount(type2);\n } else {\n return listenerCount.call(emitter, type2);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type2) {\n var events2 = this._events;\n if (events2 !== void 0) {\n var evlistener = events2[type2];\n if (typeof evlistener === \"function\") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === \"function\") {\n emitter.removeListener(\"error\", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== \"error\") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === \"function\") {\n eventTargetAgnosticAddListener(emitter, \"error\", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === \"function\") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n }\n return events.exports;\n}\nvar inherits_browser = { exports: {} };\nvar hasRequiredInherits_browser;\nfunction requireInherits_browser() {\n if (hasRequiredInherits_browser) return inherits_browser.exports;\n hasRequiredInherits_browser = 1;\n if (typeof Object.create === \"function\") {\n inherits_browser.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n inherits_browser.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n return inherits_browser.exports;\n}\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar browser$1 = { exports: {} };\nvar process = browser$1.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction defaultClearTimeout() {\n throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n try {\n if (typeof setTimeout === \"function\") {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === \"function\") {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e2) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e2) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function(fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array);\n};\nprocess.title = \"browser\";\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = \"\";\nprocess.versions = {};\nfunction noop() {\n}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function(name) {\n return [];\n};\nprocess.binding = function(name) {\n throw new Error(\"process.binding is not supported\");\n};\nprocess.cwd = function() {\n return \"/\";\n};\nprocess.chdir = function(dir) {\n throw new Error(\"process.chdir is not supported\");\n};\nprocess.umask = function() {\n return 0;\n};\nvar browserExports = browser$1.exports;\nconst process$1 = /* @__PURE__ */ getDefaultExportFromCjs(browserExports);\nvar streamBrowser;\nvar hasRequiredStreamBrowser;\nfunction requireStreamBrowser() {\n if (hasRequiredStreamBrowser) return streamBrowser;\n hasRequiredStreamBrowser = 1;\n streamBrowser = requireEvents().EventEmitter;\n return streamBrowser;\n}\nvar buffer = {};\nvar base64Js = {};\nvar hasRequiredBase64Js;\nfunction requireBase64Js() {\n if (hasRequiredBase64Js) return base64Js;\n hasRequiredBase64Js = 1;\n base64Js.byteLength = byteLength;\n base64Js.toByteArray = toByteArray;\n base64Js.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\n var code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n revLookup[\"-\".charCodeAt(0)] = 62;\n revLookup[\"_\".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n }\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join(\"\");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(\n lookup[tmp >> 2] + lookup[tmp << 4 & 63] + \"==\"\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(\n lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + \"=\"\n );\n }\n return parts.join(\"\");\n }\n return base64Js;\n}\nvar ieee754 = {};\nvar hasRequiredIeee754;\nfunction requireIeee754() {\n if (hasRequiredIeee754) return ieee754;\n hasRequiredIeee754 = 1;\n ieee754.read = function(buffer2, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer2[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer2[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer2[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n ieee754.write = function(buffer2, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer2[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer2[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer2[offset + i - d] |= s * 128;\n };\n return ieee754;\n}\nvar hasRequiredBuffer;\nfunction requireBuffer() {\n if (hasRequiredBuffer) return buffer;\n hasRequiredBuffer = 1;\n (function(exports$1) {\n var base64 = requireBase64Js();\n var ieee7542 = requireIeee754();\n var customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") : null;\n exports$1.Buffer = Buffer2;\n exports$1.SlowBuffer = SlowBuffer;\n exports$1.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports$1.kMaxLength = K_MAX_LENGTH;\n Buffer2.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer2.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(\n \"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"\n );\n }\n function typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n var proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer2.prototype, \"parent\", {\n enumerable: true,\n get: function() {\n if (!Buffer2.isBuffer(this)) return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer2.prototype, \"offset\", {\n enumerable: true,\n get: function() {\n if (!Buffer2.isBuffer(this)) return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"');\n }\n var buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, Buffer2.prototype);\n return buf;\n }\n function Buffer2(arg, encodingOrOffset, length) {\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n );\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer2.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === \"string\") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value\n );\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== \"undefined\" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === \"number\") {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n );\n }\n var valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer2.from(valueOf, encodingOrOffset, length);\n }\n var b = fromObject(value);\n if (b) return b;\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") {\n return Buffer2.from(\n value[Symbol.toPrimitive](\"string\"),\n encodingOrOffset,\n length\n );\n }\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value\n );\n }\n Buffer2.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer2.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer2, Uint8Array);\n function assertSize(size) {\n if (typeof size !== \"number\") {\n throw new TypeError('\"size\" argument must be of type number');\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === \"string\" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer2.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer2.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer2.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") {\n encoding = \"utf8\";\n }\n if (!Buffer2.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n var length = byteLength(string, encoding) | 0;\n var buf = createBuffer(length);\n var actual = buf.write(string, encoding);\n if (actual !== length) {\n buf = buf.slice(0, actual);\n }\n return buf;\n }\n function fromArrayLike(array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n var buf = createBuffer(length);\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds');\n }\n var buf;\n if (byteOffset === void 0 && length === void 0) {\n buf = new Uint8Array(array);\n } else if (length === void 0) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf, Buffer2.prototype);\n return buf;\n }\n function fromObject(obj) {\n if (Buffer2.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n var buf = createBuffer(len);\n if (buf.length === 0) {\n return buf;\n }\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== \"number\" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + K_MAX_LENGTH.toString(16) + \" bytes\");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer2.alloc(+length);\n }\n Buffer2.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer2.prototype;\n };\n Buffer2.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer2.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array)) b = Buffer2.from(b, b.offset, b.byteLength);\n if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n );\n }\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n Buffer2.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n default:\n return false;\n }\n };\n Buffer2.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n if (list.length === 0) {\n return Buffer2.alloc(0);\n }\n var i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n var buffer2 = Buffer2.allocUnsafe(length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer2.length) {\n Buffer2.from(buf).copy(buffer2, pos);\n } else {\n Uint8Array.prototype.set.call(\n buffer2,\n buf,\n pos\n );\n }\n } else if (!Buffer2.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n } else {\n buf.copy(buffer2, pos);\n }\n pos += buf.length;\n }\n return buffer2;\n };\n function byteLength(string, encoding) {\n if (Buffer2.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== \"string\") {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string\n );\n }\n var len = string.length;\n var mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n var loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n case \"utf8\":\n case \"utf-8\":\n return utf8ToBytes(string).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n case \"hex\":\n return len >>> 1;\n case \"base64\":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer2.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n var loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return \"\";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return \"\";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return \"\";\n }\n if (!encoding) encoding = \"utf8\";\n while (true) {\n switch (encoding) {\n case \"hex\":\n return hexSlice(this, start, end);\n case \"utf8\":\n case \"utf-8\":\n return utf8Slice(this, start, end);\n case \"ascii\":\n return asciiSlice(this, start, end);\n case \"latin1\":\n case \"binary\":\n return latin1Slice(this, start, end);\n case \"base64\":\n return base64Slice(this, start, end);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer2.prototype._isBuffer = true;\n function swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer2.prototype.swap16 = function swap16() {\n var len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer2.prototype.swap32 = function swap32() {\n var len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer2.prototype.swap64 = function swap64() {\n var len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer2.prototype.toString = function toString() {\n var length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer2.prototype.toLocaleString = Buffer2.prototype.toString;\n Buffer2.prototype.equals = function equals(b) {\n if (!Buffer2.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return Buffer2.compare(this, b) === 0;\n };\n Buffer2.prototype.inspect = function inspect() {\n var str = \"\";\n var max2 = exports$1.INSPECT_MAX_BYTES;\n str = this.toString(\"hex\", 0, max2).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max2) str += \" ... \";\n return \"<Buffer \" + str + \">\";\n };\n if (customInspectSymbol) {\n Buffer2.prototype[customInspectSymbol] = Buffer2.prototype.inspect;\n }\n Buffer2.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer2.from(target, target.offset, target.byteLength);\n }\n if (!Buffer2.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target\n );\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError(\"out of range index\");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer2, val, byteOffset, encoding, dir) {\n if (buffer2.length === 0) return -1;\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer2.length - 1;\n }\n if (byteOffset < 0) byteOffset = buffer2.length + byteOffset;\n if (byteOffset >= buffer2.length) {\n if (dir) return -1;\n else byteOffset = buffer2.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n if (typeof val === \"string\") {\n val = Buffer2.from(val, encoding);\n }\n if (Buffer2.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer2, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === \"function\") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer2, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer2, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer2, [val], byteOffset, encoding, dir);\n }\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i2) {\n if (indexSize === 1) {\n return buf[i2];\n } else {\n return buf.readUInt16BE(i2 * indexSize);\n }\n }\n var i;\n if (dir) {\n var foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n return -1;\n }\n Buffer2.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer2.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer2.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n var strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n }\n function asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n }\n function base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n }\n function ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n }\n Buffer2.prototype.write = function write(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0) encoding = \"utf8\";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error(\n \"Buffer.write(string, encoding, offset[, length]) is no longer supported\"\n );\n }\n var remaining = this.length - offset;\n if (length === void 0 || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n }\n if (!encoding) encoding = \"utf8\";\n var loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case \"hex\":\n return hexWrite(this, string, offset, length);\n case \"utf8\":\n case \"utf-8\":\n return utf8Write(this, string, offset, length);\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return asciiWrite(this, string, offset, length);\n case \"base64\":\n return base64Write(this, string, offset, length);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer2.prototype.toJSON = function toJSON() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n }\n function utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n var res = \"\";\n var i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n );\n }\n return res;\n }\n function asciiSlice(buf, start, end) {\n var ret = \"\";\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf, start, end) {\n var ret = \"\";\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n }\n function hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = \"\";\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n return out;\n }\n function utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = \"\";\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer2.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start) end = start;\n var newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer2.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n Buffer2.prototype.readUintLE = Buffer2.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) checkOffset(offset, byteLength2, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer2.prototype.readUintBE = Buffer2.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n var val = this[offset + --byteLength2];\n var mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer2.prototype.readUint8 = Buffer2.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer2.prototype.readUint16LE = Buffer2.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer2.prototype.readUint16BE = Buffer2.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer2.prototype.readUint32LE = Buffer2.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer2.prototype.readUint32BE = Buffer2.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer2.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) checkOffset(offset, byteLength2, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer2.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) checkOffset(offset, byteLength2, this.length);\n var i = byteLength2;\n var mul = 1;\n var val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer2.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128)) return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer2.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer2.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer2.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer2.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer2.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer2.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer2.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer2.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf, value, offset, ext, max2, min2) {\n if (!Buffer2.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max2 || value < min2) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n }\n Buffer2.prototype.writeUintLE = Buffer2.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n var mul = 1;\n var i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer2.prototype.writeUintBE = Buffer2.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n var i = byteLength2 - 1;\n var mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer2.prototype.writeUint8 = Buffer2.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer2.prototype.writeUint16LE = Buffer2.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer2.prototype.writeUint16BE = Buffer2.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer2.prototype.writeUint32LE = Buffer2.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer2.prototype.writeUint32BE = Buffer2.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer2.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer2.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n var i = byteLength2 - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer2.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 127, -128);\n if (value < 0) value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer2.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer2.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer2.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer2.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0) value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function checkIEEE754(buf, value, offset, ext, max2, min2) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n }\n function writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4);\n }\n ieee7542.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer2.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer2.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8);\n }\n ieee7542.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer2.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer2.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer2.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer2.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n if (targetStart < 0) {\n throw new RangeError(\"targetStart out of bounds\");\n }\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\");\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n var len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n );\n }\n return len;\n };\n Buffer2.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== \"string\") {\n throw new TypeError(\"encoding must be a string\");\n }\n if (typeof encoding === \"string\" && !Buffer2.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") {\n val = code;\n }\n }\n } else if (typeof val === \"number\") {\n val = val & 255;\n } else if (typeof val === \"boolean\") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError(\"Out of range index\");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n if (typeof val === \"number\") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer2.isBuffer(val) ? val : Buffer2.from(val, encoding);\n var len = bytes.length;\n if (len === 0) {\n throw new TypeError('The value \"' + val + '\" is invalid for argument \"value\"');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split(\"=\")[0];\n str = str.trim().replace(INVALID_BASE64_RE, \"\");\n if (str.length < 2) return \"\";\n while (str.length % 4 !== 0) {\n str = str + \"=\";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0) break;\n bytes.push(\n codePoint >> 6 | 192,\n codePoint & 63 | 128\n );\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0) break;\n bytes.push(\n codePoint >> 12 | 224,\n codePoint >> 6 & 63 | 128,\n codePoint & 63 | 128\n );\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0) break;\n bytes.push(\n codePoint >> 18 | 240,\n codePoint >> 12 & 63 | 128,\n codePoint >> 6 & 63 | 128,\n codePoint & 63 | 128\n );\n } else {\n throw new Error(\"Invalid code point\");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type2) {\n return obj instanceof type2 || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type2.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = (function() {\n var alphabet = \"0123456789abcdef\";\n var table = new Array(256);\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16;\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n })();\n })(buffer);\n return buffer;\n}\nvar util = {};\nvar types = {};\nvar shams$1;\nvar hasRequiredShams$1;\nfunction requireShams$1() {\n if (hasRequiredShams$1) return shams$1;\n hasRequiredShams$1 = 1;\n shams$1 = function hasSymbols2() {\n if (typeof Symbol !== \"function\" || typeof Object.getOwnPropertySymbols !== \"function\") {\n return false;\n }\n if (typeof Symbol.iterator === \"symbol\") {\n return true;\n }\n var obj = {};\n var sym = /* @__PURE__ */ Symbol(\"test\");\n var symObj = Object(sym);\n if (typeof sym === \"string\") {\n return false;\n }\n if (Object.prototype.toString.call(sym) !== \"[object Symbol]\") {\n return false;\n }\n if (Object.prototype.toString.call(symObj) !== \"[object Symbol]\") {\n return false;\n }\n var symVal = 42;\n obj[sym] = symVal;\n for (var _ in obj) {\n return false;\n }\n if (typeof Object.keys === \"function\" && Object.keys(obj).length !== 0) {\n return false;\n }\n if (typeof Object.getOwnPropertyNames === \"function\" && Object.getOwnPropertyNames(obj).length !== 0) {\n return false;\n }\n var syms = Object.getOwnPropertySymbols(obj);\n if (syms.length !== 1 || syms[0] !== sym) {\n return false;\n }\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {\n return false;\n }\n if (typeof Object.getOwnPropertyDescriptor === \"function\") {\n var descriptor = (\n /** @type {PropertyDescriptor} */\n Object.getOwnPropertyDescriptor(obj, sym)\n );\n if (descriptor.value !== symVal || descriptor.enumerable !== true) {\n return false;\n }\n }\n return true;\n };\n return shams$1;\n}\nvar shams;\nvar hasRequiredShams;\nfunction requireShams() {\n if (hasRequiredShams) return shams;\n hasRequiredShams = 1;\n var hasSymbols2 = requireShams$1();\n shams = function hasToStringTagShams() {\n return hasSymbols2() && !!Symbol.toStringTag;\n };\n return shams;\n}\nvar esObjectAtoms;\nvar hasRequiredEsObjectAtoms;\nfunction requireEsObjectAtoms() {\n if (hasRequiredEsObjectAtoms) return esObjectAtoms;\n hasRequiredEsObjectAtoms = 1;\n esObjectAtoms = Object;\n return esObjectAtoms;\n}\nvar esErrors;\nvar hasRequiredEsErrors;\nfunction requireEsErrors() {\n if (hasRequiredEsErrors) return esErrors;\n hasRequiredEsErrors = 1;\n esErrors = Error;\n return esErrors;\n}\nvar _eval;\nvar hasRequired_eval;\nfunction require_eval() {\n if (hasRequired_eval) return _eval;\n hasRequired_eval = 1;\n _eval = EvalError;\n return _eval;\n}\nvar range;\nvar hasRequiredRange;\nfunction requireRange() {\n if (hasRequiredRange) return range;\n hasRequiredRange = 1;\n range = RangeError;\n return range;\n}\nvar ref;\nvar hasRequiredRef;\nfunction requireRef() {\n if (hasRequiredRef) return ref;\n hasRequiredRef = 1;\n ref = ReferenceError;\n return ref;\n}\nvar syntax;\nvar hasRequiredSyntax;\nfunction requireSyntax() {\n if (hasRequiredSyntax) return syntax;\n hasRequiredSyntax = 1;\n syntax = SyntaxError;\n return syntax;\n}\nvar type;\nvar hasRequiredType;\nfunction requireType() {\n if (hasRequiredType) return type;\n hasRequiredType = 1;\n type = TypeError;\n return type;\n}\nvar uri;\nvar hasRequiredUri;\nfunction requireUri() {\n if (hasRequiredUri) return uri;\n hasRequiredUri = 1;\n uri = URIError;\n return uri;\n}\nvar abs;\nvar hasRequiredAbs;\nfunction requireAbs() {\n if (hasRequiredAbs) return abs;\n hasRequiredAbs = 1;\n abs = Math.abs;\n return abs;\n}\nvar floor;\nvar hasRequiredFloor;\nfunction requireFloor() {\n if (hasRequiredFloor) return floor;\n hasRequiredFloor = 1;\n floor = Math.floor;\n return floor;\n}\nvar max;\nvar hasRequiredMax;\nfunction requireMax() {\n if (hasRequiredMax) return max;\n hasRequiredMax = 1;\n max = Math.max;\n return max;\n}\nvar min;\nvar hasRequiredMin;\nfunction requireMin() {\n if (hasRequiredMin) return min;\n hasRequiredMin = 1;\n min = Math.min;\n return min;\n}\nvar pow;\nvar hasRequiredPow;\nfunction requirePow() {\n if (hasRequiredPow) return pow;\n hasRequiredPow = 1;\n pow = Math.pow;\n return pow;\n}\nvar round;\nvar hasRequiredRound;\nfunction requireRound() {\n if (hasRequiredRound) return round;\n hasRequiredRound = 1;\n round = Math.round;\n return round;\n}\nvar _isNaN;\nvar hasRequired_isNaN;\nfunction require_isNaN() {\n if (hasRequired_isNaN) return _isNaN;\n hasRequired_isNaN = 1;\n _isNaN = Number.isNaN || function isNaN2(a) {\n return a !== a;\n };\n return _isNaN;\n}\nvar sign;\nvar hasRequiredSign;\nfunction requireSign() {\n if (hasRequiredSign) return sign;\n hasRequiredSign = 1;\n var $isNaN = /* @__PURE__ */ require_isNaN();\n sign = function sign2(number) {\n if ($isNaN(number) || number === 0) {\n return number;\n }\n return number < 0 ? -1 : 1;\n };\n return sign;\n}\nvar gOPD;\nvar hasRequiredGOPD;\nfunction requireGOPD() {\n if (hasRequiredGOPD) return gOPD;\n hasRequiredGOPD = 1;\n gOPD = Object.getOwnPropertyDescriptor;\n return gOPD;\n}\nvar gopd;\nvar hasRequiredGopd;\nfunction requireGopd() {\n if (hasRequiredGopd) return gopd;\n hasRequiredGopd = 1;\n var $gOPD = /* @__PURE__ */ requireGOPD();\n if ($gOPD) {\n try {\n $gOPD([], \"length\");\n } catch (e) {\n $gOPD = null;\n }\n }\n gopd = $gOPD;\n return gopd;\n}\nvar esDefineProperty;\nvar hasRequiredEsDefineProperty;\nfunction requireEsDefineProperty() {\n if (hasRequiredEsDefineProperty) return esDefineProperty;\n hasRequiredEsDefineProperty = 1;\n var $defineProperty = Object.defineProperty || false;\n if ($defineProperty) {\n try {\n $defineProperty({}, \"a\", { value: 1 });\n } catch (e) {\n $defineProperty = false;\n }\n }\n esDefineProperty = $defineProperty;\n return esDefineProperty;\n}\nvar hasSymbols;\nvar hasRequiredHasSymbols;\nfunction requireHasSymbols() {\n if (hasRequiredHasSymbols) return hasSymbols;\n hasRequiredHasSymbols = 1;\n var origSymbol = typeof Symbol !== \"undefined\" && Symbol;\n var hasSymbolSham = requireShams$1();\n hasSymbols = function hasNativeSymbols() {\n if (typeof origSymbol !== \"function\") {\n return false;\n }\n if (typeof Symbol !== \"function\") {\n return false;\n }\n if (typeof origSymbol(\"foo\") !== \"symbol\") {\n return false;\n }\n if (typeof /* @__PURE__ */ Symbol(\"bar\") !== \"symbol\") {\n return false;\n }\n return hasSymbolSham();\n };\n return hasSymbols;\n}\nvar Reflect_getPrototypeOf;\nvar hasRequiredReflect_getPrototypeOf;\nfunction requireReflect_getPrototypeOf() {\n if (hasRequiredReflect_getPrototypeOf) return Reflect_getPrototypeOf;\n hasRequiredReflect_getPrototypeOf = 1;\n Reflect_getPrototypeOf = typeof Reflect !== \"undefined\" && Reflect.getPrototypeOf || null;\n return Reflect_getPrototypeOf;\n}\nvar Object_getPrototypeOf;\nvar hasRequiredObject_getPrototypeOf;\nfunction requireObject_getPrototypeOf() {\n if (hasRequiredObject_getPrototypeOf) return Object_getPrototypeOf;\n hasRequiredObject_getPrototypeOf = 1;\n var $Object = /* @__PURE__ */ requireEsObjectAtoms();\n Object_getPrototypeOf = $Object.getPrototypeOf || null;\n return Object_getPrototypeOf;\n}\nvar implementation;\nvar hasRequiredImplementation;\nfunction requireImplementation() {\n if (hasRequiredImplementation) return implementation;\n hasRequiredImplementation = 1;\n var ERROR_MESSAGE = \"Function.prototype.bind called on incompatible \";\n var toStr = Object.prototype.toString;\n var max2 = Math.max;\n var funcType = \"[object Function]\";\n var concatty = function concatty2(a, b) {\n var arr = [];\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n return arr;\n };\n var slicy = function slicy2(arrLike, offset) {\n var arr = [];\n for (var i = offset, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n };\n var joiny = function(arr, joiner) {\n var str = \"\";\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n };\n implementation = function bind(that) {\n var target = this;\n if (typeof target !== \"function\" || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n var bound;\n var binder = function() {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n };\n var boundLength = max2(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = \"$\" + i;\n }\n bound = Function(\"binder\", \"return function (\" + joiny(boundArgs, \",\") + \"){ return binder.apply(this,arguments); }\")(binder);\n if (target.prototype) {\n var Empty = function Empty2() {\n };\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n return bound;\n };\n return implementation;\n}\nvar functionBind;\nvar hasRequiredFunctionBind;\nfunction requireFunctionBind() {\n if (hasRequiredFunctionBind) return functionBind;\n hasRequiredFunctionBind = 1;\n var implementation2 = requireImplementation();\n functionBind = Function.prototype.bind || implementation2;\n return functionBind;\n}\nvar functionCall;\nvar hasRequiredFunctionCall;\nfunction requireFunctionCall() {\n if (hasRequiredFunctionCall) return functionCall;\n hasRequiredFunctionCall = 1;\n functionCall = Function.prototype.call;\n return functionCall;\n}\nvar functionApply;\nvar hasRequiredFunctionApply;\nfunction requireFunctionApply() {\n if (hasRequiredFunctionApply) return functionApply;\n hasRequiredFunctionApply = 1;\n functionApply = Function.prototype.apply;\n return functionApply;\n}\nvar reflectApply;\nvar hasRequiredReflectApply;\nfunction requireReflectApply() {\n if (hasRequiredReflectApply) return reflectApply;\n hasRequiredReflectApply = 1;\n reflectApply = typeof Reflect !== \"undefined\" && Reflect && Reflect.apply;\n return reflectApply;\n}\nvar actualApply;\nvar hasRequiredActualApply;\nfunction requireActualApply() {\n if (hasRequiredActualApply) return actualApply;\n hasRequiredActualApply = 1;\n var bind = requireFunctionBind();\n var $apply = requireFunctionApply();\n var $call = requireFunctionCall();\n var $reflectApply = requireReflectApply();\n actualApply = $reflectApply || bind.call($call, $apply);\n return actualApply;\n}\nvar callBindApplyHelpers;\nvar hasRequiredCallBindApplyHelpers;\nfunction requireCallBindApplyHelpers() {\n if (hasRequiredCallBindApplyHelpers) return callBindApplyHelpers;\n hasRequiredCallBindApplyHelpers = 1;\n var bind = requireFunctionBind();\n var $TypeError = /* @__PURE__ */ requireType();\n var $call = requireFunctionCall();\n var $actualApply = requireActualApply();\n callBindApplyHelpers = function callBindBasic(args) {\n if (args.length < 1 || typeof args[0] !== \"function\") {\n throw new $TypeError(\"a function is required\");\n }\n return $actualApply(bind, $call, args);\n };\n return callBindApplyHelpers;\n}\nvar get;\nvar hasRequiredGet;\nfunction requireGet() {\n if (hasRequiredGet) return get;\n hasRequiredGet = 1;\n var callBind2 = requireCallBindApplyHelpers();\n var gOPD2 = /* @__PURE__ */ requireGopd();\n var hasProtoAccessor;\n try {\n hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */\n [].__proto__ === Array.prototype;\n } catch (e) {\n if (!e || typeof e !== \"object\" || !(\"code\" in e) || e.code !== \"ERR_PROTO_ACCESS\") {\n throw e;\n }\n }\n var desc = !!hasProtoAccessor && gOPD2 && gOPD2(\n Object.prototype,\n /** @type {keyof typeof Object.prototype} */\n \"__proto__\"\n );\n var $Object = Object;\n var $getPrototypeOf = $Object.getPrototypeOf;\n get = desc && typeof desc.get === \"function\" ? callBind2([desc.get]) : typeof $getPrototypeOf === \"function\" ? (\n /** @type {import('./get')} */\n function getDunder(value) {\n return $getPrototypeOf(value == null ? value : $Object(value));\n }\n ) : false;\n return get;\n}\nvar getProto;\nvar hasRequiredGetProto;\nfunction requireGetProto() {\n if (hasRequiredGetProto) return getProto;\n hasRequiredGetProto = 1;\n var reflectGetProto = requireReflect_getPrototypeOf();\n var originalGetProto = requireObject_getPrototypeOf();\n var getDunderProto = /* @__PURE__ */ requireGet();\n getProto = reflectGetProto ? function getProto2(O) {\n return reflectGetProto(O);\n } : originalGetProto ? function getProto2(O) {\n if (!O || typeof O !== \"object\" && typeof O !== \"function\") {\n throw new TypeError(\"getProto: not an object\");\n }\n return originalGetProto(O);\n } : getDunderProto ? function getProto2(O) {\n return getDunderProto(O);\n } : null;\n return getProto;\n}\nvar hasown;\nvar hasRequiredHasown;\nfunction requireHasown() {\n if (hasRequiredHasown) return hasown;\n hasRequiredHasown = 1;\n var call = Function.prototype.call;\n var $hasOwn = Object.prototype.hasOwnProperty;\n var bind = requireFunctionBind();\n hasown = bind.call(call, $hasOwn);\n return hasown;\n}\nvar getIntrinsic;\nvar hasRequiredGetIntrinsic;\nfunction requireGetIntrinsic() {\n if (hasRequiredGetIntrinsic) return getIntrinsic;\n hasRequiredGetIntrinsic = 1;\n var undefined$1;\n var $Object = /* @__PURE__ */ requireEsObjectAtoms();\n var $Error = /* @__PURE__ */ requireEsErrors();\n var $EvalError = /* @__PURE__ */ require_eval();\n var $RangeError = /* @__PURE__ */ requireRange();\n var $ReferenceError = /* @__PURE__ */ requireRef();\n var $SyntaxError = /* @__PURE__ */ requireSyntax();\n var $TypeError = /* @__PURE__ */ requireType();\n var $URIError = /* @__PURE__ */ requireUri();\n var abs2 = /* @__PURE__ */ requireAbs();\n var floor2 = /* @__PURE__ */ requireFloor();\n var max2 = /* @__PURE__ */ requireMax();\n var min2 = /* @__PURE__ */ requireMin();\n var pow2 = /* @__PURE__ */ requirePow();\n var round2 = /* @__PURE__ */ requireRound();\n var sign2 = /* @__PURE__ */ requireSign();\n var $Function = Function;\n var getEvalledConstructor = function(expressionSyntax) {\n try {\n return $Function('\"use strict\"; return (' + expressionSyntax + \").constructor;\")();\n } catch (e) {\n }\n };\n var $gOPD = /* @__PURE__ */ requireGopd();\n var $defineProperty = /* @__PURE__ */ requireEsDefineProperty();\n var throwTypeError = function() {\n throw new $TypeError();\n };\n var ThrowTypeError = $gOPD ? (function() {\n try {\n arguments.callee;\n return throwTypeError;\n } catch (calleeThrows) {\n try {\n return $gOPD(arguments, \"callee\").get;\n } catch (gOPDthrows) {\n return throwTypeError;\n }\n }\n })() : throwTypeError;\n var hasSymbols2 = requireHasSymbols()();\n var getProto2 = requireGetProto();\n var $ObjectGPO = requireObject_getPrototypeOf();\n var $ReflectGPO = requireReflect_getPrototypeOf();\n var $apply = requireFunctionApply();\n var $call = requireFunctionCall();\n var needsEval = {};\n var TypedArray = typeof Uint8Array === \"undefined\" || !getProto2 ? undefined$1 : getProto2(Uint8Array);\n var INTRINSICS = {\n __proto__: null,\n \"%AggregateError%\": typeof AggregateError === \"undefined\" ? undefined$1 : AggregateError,\n \"%Array%\": Array,\n \"%ArrayBuffer%\": typeof ArrayBuffer === \"undefined\" ? undefined$1 : ArrayBuffer,\n \"%ArrayIteratorPrototype%\": hasSymbols2 && getProto2 ? getProto2([][Symbol.iterator]()) : undefined$1,\n \"%AsyncFromSyncIteratorPrototype%\": undefined$1,\n \"%AsyncFunction%\": needsEval,\n \"%AsyncGenerator%\": needsEval,\n \"%AsyncGeneratorFunction%\": needsEval,\n \"%AsyncIteratorPrototype%\": needsEval,\n \"%Atomics%\": typeof Atomics === \"undefined\" ? undefined$1 : Atomics,\n \"%BigInt%\": typeof BigInt === \"undefined\" ? undefined$1 : BigInt,\n \"%BigInt64Array%\": typeof BigInt64Array === \"undefined\" ? undefined$1 : BigInt64Array,\n \"%BigUint64Array%\": typeof BigUint64Array === \"undefined\" ? undefined$1 : BigUint64Array,\n \"%Boolean%\": Boolean,\n \"%DataView%\": typeof DataView === \"undefined\" ? undefined$1 : DataView,\n \"%Date%\": Date,\n \"%decodeURI%\": decodeURI,\n \"%decodeURIComponent%\": decodeURIComponent,\n \"%encodeURI%\": encodeURI,\n \"%encodeURIComponent%\": encodeURIComponent,\n \"%Error%\": $Error,\n \"%eval%\": eval,\n // eslint-disable-line no-eval\n \"%EvalError%\": $EvalError,\n \"%Float16Array%\": typeof Float16Array === \"undefined\" ? undefined$1 : Float16Array,\n \"%Float32Array%\": typeof Float32Array === \"undefined\" ? undefined$1 : Float32Array,\n \"%Float64Array%\": typeof Float64Array === \"undefined\" ? undefined$1 : Float64Array,\n \"%FinalizationRegistry%\": typeof FinalizationRegistry === \"undefined\" ? undefined$1 : FinalizationRegistry,\n \"%Function%\": $Function,\n \"%GeneratorFunction%\": needsEval,\n \"%Int8Array%\": typeof Int8Array === \"undefined\" ? undefined$1 : Int8Array,\n \"%Int16Array%\": typeof Int16Array === \"undefined\" ? undefined$1 : Int16Array,\n \"%Int32Array%\": typeof Int32Array === \"undefined\" ? undefined$1 : Int32Array,\n \"%isFinite%\": isFinite,\n \"%isNaN%\": isNaN,\n \"%IteratorPrototype%\": hasSymbols2 && getProto2 ? getProto2(getProto2([][Symbol.iterator]())) : undefined$1,\n \"%JSON%\": typeof JSON === \"object\" ? JSON : undefined$1,\n \"%Map%\": typeof Map === \"undefined\" ? undefined$1 : Map,\n \"%MapIteratorPrototype%\": typeof Map === \"undefined\" || !hasSymbols2 || !getProto2 ? undefined$1 : getProto2((/* @__PURE__ */ new Map())[Symbol.iterator]()),\n \"%Math%\": Math,\n \"%Number%\": Number,\n \"%Object%\": $Object,\n \"%Object.getOwnPropertyDescriptor%\": $gOPD,\n \"%parseFloat%\": parseFloat,\n \"%parseInt%\": parseInt,\n \"%Promise%\": typeof Promise === \"undefined\" ? undefined$1 : Promise,\n \"%Proxy%\": typeof Proxy === \"undefined\" ? undefined$1 : Proxy,\n \"%RangeError%\": $RangeError,\n \"%ReferenceError%\": $ReferenceError,\n \"%Reflect%\": typeof Reflect === \"undefined\" ? undefined$1 : Reflect,\n \"%RegExp%\": RegExp,\n \"%Set%\": typeof Set === \"undefined\" ? undefined$1 : Set,\n \"%SetIteratorPrototype%\": typeof Set === \"undefined\" || !hasSymbols2 || !getProto2 ? undefined$1 : getProto2((/* @__PURE__ */ new Set())[Symbol.iterator]()),\n \"%SharedArrayBuffer%\": typeof SharedArrayBuffer === \"undefined\" ? undefined$1 : SharedArrayBuffer,\n \"%String%\": String,\n \"%StringIteratorPrototype%\": hasSymbols2 && getProto2 ? getProto2(\"\"[Symbol.iterator]()) : undefined$1,\n \"%Symbol%\": hasSymbols2 ? Symbol : undefined$1,\n \"%SyntaxError%\": $SyntaxError,\n \"%ThrowTypeError%\": ThrowTypeError,\n \"%TypedArray%\": TypedArray,\n \"%TypeError%\": $TypeError,\n \"%Uint8Array%\": typeof Uint8Array === \"undefined\" ? undefined$1 : Uint8Array,\n \"%Uint8ClampedArray%\": typeof Uint8ClampedArray === \"undefined\" ? undefined$1 : Uint8ClampedArray,\n \"%Uint16Array%\": typeof Uint16Array === \"undefined\" ? undefined$1 : Uint16Array,\n \"%Uint32Array%\": typeof Uint32Array === \"undefined\" ? undefined$1 : Uint32Array,\n \"%URIError%\": $URIError,\n \"%WeakMap%\": typeof WeakMap === \"undefined\" ? undefined$1 : WeakMap,\n \"%WeakRef%\": typeof WeakRef === \"undefined\" ? undefined$1 : WeakRef,\n \"%WeakSet%\": typeof WeakSet === \"undefined\" ? undefined$1 : WeakSet,\n \"%Function.prototype.call%\": $call,\n \"%Function.prototype.apply%\": $apply,\n \"%Object.defineProperty%\": $defineProperty,\n \"%Object.getPrototypeOf%\": $ObjectGPO,\n \"%Math.abs%\": abs2,\n \"%Math.floor%\": floor2,\n \"%Math.max%\": max2,\n \"%Math.min%\": min2,\n \"%Math.pow%\": pow2,\n \"%Math.round%\": round2,\n \"%Math.sign%\": sign2,\n \"%Reflect.getPrototypeOf%\": $ReflectGPO\n };\n if (getProto2) {\n try {\n null.error;\n } catch (e) {\n var errorProto = getProto2(getProto2(e));\n INTRINSICS[\"%Error.prototype%\"] = errorProto;\n }\n }\n var doEval = function doEval2(name) {\n var value;\n if (name === \"%AsyncFunction%\") {\n value = getEvalledConstructor(\"async function () {}\");\n } else if (name === \"%GeneratorFunction%\") {\n value = getEvalledConstructor(\"function* () {}\");\n } else if (name === \"%AsyncGeneratorFunction%\") {\n value = getEvalledConstructor(\"async function* () {}\");\n } else if (name === \"%AsyncGenerator%\") {\n var fn = doEval2(\"%AsyncGeneratorFunction%\");\n if (fn) {\n value = fn.prototype;\n }\n } else if (name === \"%AsyncIteratorPrototype%\") {\n var gen = doEval2(\"%AsyncGenerator%\");\n if (gen && getProto2) {\n value = getProto2(gen.prototype);\n }\n }\n INTRINSICS[name] = value;\n return value;\n };\n var LEGACY_ALIASES = {\n __proto__: null,\n \"%ArrayBufferPrototype%\": [\"ArrayBuffer\", \"prototype\"],\n \"%ArrayPrototype%\": [\"Array\", \"prototype\"],\n \"%ArrayProto_entries%\": [\"Array\", \"prototype\", \"entries\"],\n \"%ArrayProto_forEach%\": [\"Array\", \"prototype\", \"forEach\"],\n \"%ArrayProto_keys%\": [\"Array\", \"prototype\", \"keys\"],\n \"%ArrayProto_values%\": [\"Array\", \"prototype\", \"values\"],\n \"%AsyncFunctionPrototype%\": [\"AsyncFunction\", \"prototype\"],\n \"%AsyncGenerator%\": [\"AsyncGeneratorFunction\", \"prototype\"],\n \"%AsyncGeneratorPrototype%\": [\"AsyncGeneratorFunction\", \"prototype\", \"prototype\"],\n \"%BooleanPrototype%\": [\"Boolean\", \"prototype\"],\n \"%DataViewPrototype%\": [\"DataView\", \"prototype\"],\n \"%DatePrototype%\": [\"Date\", \"prototype\"],\n \"%ErrorPrototype%\": [\"Error\", \"prototype\"],\n \"%EvalErrorPrototype%\": [\"EvalError\", \"prototype\"],\n \"%Float32ArrayPrototype%\": [\"Float32Array\", \"prototype\"],\n \"%Float64ArrayPrototype%\": [\"Float64Array\", \"prototype\"],\n \"%FunctionPrototype%\": [\"Function\", \"prototype\"],\n \"%Generator%\": [\"GeneratorFunction\", \"prototype\"],\n \"%GeneratorPrototype%\": [\"GeneratorFunction\", \"prototype\", \"prototype\"],\n \"%Int8ArrayPrototype%\": [\"Int8Array\", \"prototype\"],\n \"%Int16ArrayPrototype%\": [\"Int16Array\", \"prototype\"],\n \"%Int32ArrayPrototype%\": [\"Int32Array\", \"prototype\"],\n \"%JSONParse%\": [\"JSON\", \"parse\"],\n \"%JSONStringify%\": [\"JSON\", \"stringify\"],\n \"%MapPrototype%\": [\"Map\", \"prototype\"],\n \"%NumberPrototype%\": [\"Number\", \"prototype\"],\n \"%ObjectPrototype%\": [\"Object\", \"prototype\"],\n \"%ObjProto_toString%\": [\"Object\", \"prototype\", \"toString\"],\n \"%ObjProto_valueOf%\": [\"Object\", \"prototype\", \"valueOf\"],\n \"%PromisePrototype%\": [\"Promise\", \"prototype\"],\n \"%PromiseProto_then%\": [\"Promise\", \"prototype\", \"then\"],\n \"%Promise_all%\": [\"Promise\", \"all\"],\n \"%Promise_reject%\": [\"Promise\", \"reject\"],\n \"%Promise_resolve%\": [\"Promise\", \"resolve\"],\n \"%RangeErrorPrototype%\": [\"RangeError\", \"prototype\"],\n \"%ReferenceErrorPrototype%\": [\"ReferenceError\", \"prototype\"],\n \"%RegExpPrototype%\": [\"RegExp\", \"prototype\"],\n \"%SetPrototype%\": [\"Set\", \"prototype\"],\n \"%SharedArrayBufferPrototype%\": [\"SharedArrayBuffer\", \"prototype\"],\n \"%StringPrototype%\": [\"String\", \"prototype\"],\n \"%SymbolPrototype%\": [\"Symbol\", \"prototype\"],\n \"%SyntaxErrorPrototype%\": [\"SyntaxError\", \"prototype\"],\n \"%TypedArrayPrototype%\": [\"TypedArray\", \"prototype\"],\n \"%TypeErrorPrototype%\": [\"TypeError\", \"prototype\"],\n \"%Uint8ArrayPrototype%\": [\"Uint8Array\", \"prototype\"],\n \"%Uint8ClampedArrayPrototype%\": [\"Uint8ClampedArray\", \"prototype\"],\n \"%Uint16ArrayPrototype%\": [\"Uint16Array\", \"prototype\"],\n \"%Uint32ArrayPrototype%\": [\"Uint32Array\", \"prototype\"],\n \"%URIErrorPrototype%\": [\"URIError\", \"prototype\"],\n \"%WeakMapPrototype%\": [\"WeakMap\", \"prototype\"],\n \"%WeakSetPrototype%\": [\"WeakSet\", \"prototype\"]\n };\n var bind = requireFunctionBind();\n var hasOwn = /* @__PURE__ */ requireHasown();\n var $concat = bind.call($call, Array.prototype.concat);\n var $spliceApply = bind.call($apply, Array.prototype.splice);\n var $replace = bind.call($call, String.prototype.replace);\n var $strSlice = bind.call($call, String.prototype.slice);\n var $exec = bind.call($call, RegExp.prototype.exec);\n var rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\n var reEscapeChar = /\\\\(\\\\)?/g;\n var stringToPath = function stringToPath2(string) {\n var first = $strSlice(string, 0, 1);\n var last = $strSlice(string, -1);\n if (first === \"%\" && last !== \"%\") {\n throw new $SyntaxError(\"invalid intrinsic syntax, expected closing `%`\");\n } else if (last === \"%\" && first !== \"%\") {\n throw new $SyntaxError(\"invalid intrinsic syntax, expected opening `%`\");\n }\n var result = [];\n $replace(string, rePropName, function(match, number, quote, subString) {\n result[result.length] = quote ? $replace(subString, reEscapeChar, \"$1\") : number || match;\n });\n return result;\n };\n var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) {\n var intrinsicName = name;\n var alias;\n if (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n alias = LEGACY_ALIASES[intrinsicName];\n intrinsicName = \"%\" + alias[0] + \"%\";\n }\n if (hasOwn(INTRINSICS, intrinsicName)) {\n var value = INTRINSICS[intrinsicName];\n if (value === needsEval) {\n value = doEval(intrinsicName);\n }\n if (typeof value === \"undefined\" && !allowMissing) {\n throw new $TypeError(\"intrinsic \" + name + \" exists, but is not available. Please file an issue!\");\n }\n return {\n alias,\n name: intrinsicName,\n value\n };\n }\n throw new $SyntaxError(\"intrinsic \" + name + \" does not exist!\");\n };\n getIntrinsic = function GetIntrinsic(name, allowMissing) {\n if (typeof name !== \"string\" || name.length === 0) {\n throw new $TypeError(\"intrinsic name must be a non-empty string\");\n }\n if (arguments.length > 1 && typeof allowMissing !== \"boolean\") {\n throw new $TypeError('\"allowMissing\" argument must be a boolean');\n }\n if ($exec(/^%?[^%]*%?$/, name) === null) {\n throw new $SyntaxError(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");\n }\n var parts = stringToPath(name);\n var intrinsicBaseName = parts.length > 0 ? parts[0] : \"\";\n var intrinsic = getBaseIntrinsic(\"%\" + intrinsicBaseName + \"%\", allowMissing);\n var intrinsicRealName = intrinsic.name;\n var value = intrinsic.value;\n var skipFurtherCaching = false;\n var alias = intrinsic.alias;\n if (alias) {\n intrinsicBaseName = alias[0];\n $spliceApply(parts, $concat([0, 1], alias));\n }\n for (var i = 1, isOwn = true; i < parts.length; i += 1) {\n var part = parts[i];\n var first = $strSlice(part, 0, 1);\n var last = $strSlice(part, -1);\n if ((first === '\"' || first === \"'\" || first === \"`\" || (last === '\"' || last === \"'\" || last === \"`\")) && first !== last) {\n throw new $SyntaxError(\"property names with quotes must have matching quotes\");\n }\n if (part === \"constructor\" || !isOwn) {\n skipFurtherCaching = true;\n }\n intrinsicBaseName += \".\" + part;\n intrinsicRealName = \"%\" + intrinsicBaseName + \"%\";\n if (hasOwn(INTRINSICS, intrinsicRealName)) {\n value = INTRINSICS[intrinsicRealName];\n } else if (value != null) {\n if (!(part in value)) {\n if (!allowMissing) {\n throw new $TypeError(\"base intrinsic for \" + name + \" exists, but the property is not available.\");\n }\n return void undefined$1;\n }\n if ($gOPD && i + 1 >= parts.length) {\n var desc = $gOPD(value, part);\n isOwn = !!desc;\n if (isOwn && \"get\" in desc && !(\"originalValue\" in desc.get)) {\n value = desc.get;\n } else {\n value = value[part];\n }\n } else {\n isOwn = hasOwn(value, part);\n value = value[part];\n }\n if (isOwn && !skipFurtherCaching) {\n INTRINSICS[intrinsicRealName] = value;\n }\n }\n }\n return value;\n };\n return getIntrinsic;\n}\nvar callBound;\nvar hasRequiredCallBound;\nfunction requireCallBound() {\n if (hasRequiredCallBound) return callBound;\n hasRequiredCallBound = 1;\n var GetIntrinsic = /* @__PURE__ */ requireGetIntrinsic();\n var callBindBasic = requireCallBindApplyHelpers();\n var $indexOf = callBindBasic([GetIntrinsic(\"%String.prototype.indexOf%\")]);\n callBound = function callBoundIntrinsic(name, allowMissing) {\n var intrinsic = (\n /** @type {(this: unknown, ...args: unknown[]) => unknown} */\n GetIntrinsic(name, !!allowMissing)\n );\n if (typeof intrinsic === \"function\" && $indexOf(name, \".prototype.\") > -1) {\n return callBindBasic(\n /** @type {const} */\n [intrinsic]\n );\n }\n return intrinsic;\n };\n return callBound;\n}\nvar isArguments;\nvar hasRequiredIsArguments;\nfunction requireIsArguments() {\n if (hasRequiredIsArguments) return isArguments;\n hasRequiredIsArguments = 1;\n var hasToStringTag = requireShams()();\n var callBound2 = /* @__PURE__ */ requireCallBound();\n var $toString = callBound2(\"Object.prototype.toString\");\n var isStandardArguments = function isArguments2(value) {\n if (hasToStringTag && value && typeof value === \"object\" && Symbol.toStringTag in value) {\n return false;\n }\n return $toString(value) === \"[object Arguments]\";\n };\n var isLegacyArguments = function isArguments2(value) {\n if (isStandardArguments(value)) {\n return true;\n }\n return value !== null && typeof value === \"object\" && \"length\" in value && typeof value.length === \"number\" && value.length >= 0 && $toString(value) !== \"[object Array]\" && \"callee\" in value && $toString(value.callee) === \"[object Function]\";\n };\n var supportsStandardArguments = (function() {\n return isStandardArguments(arguments);\n })();\n isStandardArguments.isLegacyArguments = isLegacyArguments;\n isArguments = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n return isArguments;\n}\nvar isGeneratorFunction;\nvar hasRequiredIsGeneratorFunction;\nfunction requireIsGeneratorFunction() {\n if (hasRequiredIsGeneratorFunction) return isGeneratorFunction;\n hasRequiredIsGeneratorFunction = 1;\n var toStr = Object.prototype.toString;\n var fnToStr = Function.prototype.toString;\n var isFnRegex = /^\\s*(?:function)?\\*/;\n var hasToStringTag = requireShams()();\n var getProto2 = Object.getPrototypeOf;\n var getGeneratorFunc = function() {\n if (!hasToStringTag) {\n return false;\n }\n try {\n return Function(\"return function*() {}\")();\n } catch (e) {\n }\n };\n var GeneratorFunction;\n isGeneratorFunction = function isGeneratorFunction2(fn) {\n if (typeof fn !== \"function\") {\n return false;\n }\n if (isFnRegex.test(fnToStr.call(fn))) {\n return true;\n }\n if (!hasToStringTag) {\n var str = toStr.call(fn);\n return str === \"[object GeneratorFunction]\";\n }\n if (!getProto2) {\n return false;\n }\n if (typeof GeneratorFunction === \"undefined\") {\n var generatorFunc = getGeneratorFunc();\n GeneratorFunction = generatorFunc ? getProto2(generatorFunc) : false;\n }\n return getProto2(fn) === GeneratorFunction;\n };\n return isGeneratorFunction;\n}\nvar isCallable;\nvar hasRequiredIsCallable;\nfunction requireIsCallable() {\n if (hasRequiredIsCallable) return isCallable;\n hasRequiredIsCallable = 1;\n var fnToStr = Function.prototype.toString;\n var reflectApply2 = typeof Reflect === \"object\" && Reflect !== null && Reflect.apply;\n var badArrayLike;\n var isCallableMarker;\n if (typeof reflectApply2 === \"function\" && typeof Object.defineProperty === \"function\") {\n try {\n badArrayLike = Object.defineProperty({}, \"length\", {\n get: function() {\n throw isCallableMarker;\n }\n });\n isCallableMarker = {};\n reflectApply2(function() {\n throw 42;\n }, null, badArrayLike);\n } catch (_) {\n if (_ !== isCallableMarker) {\n reflectApply2 = null;\n }\n }\n } else {\n reflectApply2 = null;\n }\n var constructorRegex = /^\\s*class\\b/;\n var isES6ClassFn = function isES6ClassFunction(value) {\n try {\n var fnStr = fnToStr.call(value);\n return constructorRegex.test(fnStr);\n } catch (e) {\n return false;\n }\n };\n var tryFunctionObject = function tryFunctionToStr(value) {\n try {\n if (isES6ClassFn(value)) {\n return false;\n }\n fnToStr.call(value);\n return true;\n } catch (e) {\n return false;\n }\n };\n var toStr = Object.prototype.toString;\n var objectClass = \"[object Object]\";\n var fnClass = \"[object Function]\";\n var genClass = \"[object GeneratorFunction]\";\n var ddaClass = \"[object HTMLAllCollection]\";\n var ddaClass2 = \"[object HTML document.all class]\";\n var ddaClass3 = \"[object HTMLCollection]\";\n var hasToStringTag = typeof Symbol === \"function\" && !!Symbol.toStringTag;\n var isIE68 = !(0 in [,]);\n var isDDA = function isDocumentDotAll() {\n return false;\n };\n if (typeof document === \"object\") {\n var all = document.all;\n if (toStr.call(all) === toStr.call(document.all)) {\n isDDA = function isDocumentDotAll(value) {\n if ((isIE68 || !value) && (typeof value === \"undefined\" || typeof value === \"object\")) {\n try {\n var str = toStr.call(value);\n return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value(\"\") == null;\n } catch (e) {\n }\n }\n return false;\n };\n }\n }\n isCallable = reflectApply2 ? function isCallable2(value) {\n if (isDDA(value)) {\n return true;\n }\n if (!value) {\n return false;\n }\n if (typeof value !== \"function\" && typeof value !== \"object\") {\n return false;\n }\n try {\n reflectApply2(value, null, badArrayLike);\n } catch (e) {\n if (e !== isCallableMarker) {\n return false;\n }\n }\n return !isES6ClassFn(value) && tryFunctionObject(value);\n } : function isCallable2(value) {\n if (isDDA(value)) {\n return true;\n }\n if (!value) {\n return false;\n }\n if (typeof value !== \"function\" && typeof value !== \"object\") {\n return false;\n }\n if (hasToStringTag) {\n return tryFunctionObject(value);\n }\n if (isES6ClassFn(value)) {\n return false;\n }\n var strClass = toStr.call(value);\n if (strClass !== fnClass && strClass !== genClass && !/^\\[object HTML/.test(strClass)) {\n return false;\n }\n return tryFunctionObject(value);\n };\n return isCallable;\n}\nvar forEach;\nvar hasRequiredForEach;\nfunction requireForEach() {\n if (hasRequiredForEach) return forEach;\n hasRequiredForEach = 1;\n var isCallable2 = requireIsCallable();\n var toStr = Object.prototype.toString;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var forEachArray = function forEachArray2(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n };\n var forEachString = function forEachString2(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n };\n var forEachObject = function forEachObject2(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n };\n function isArray(x) {\n return toStr.call(x) === \"[object Array]\";\n }\n forEach = function forEach2(list, iterator, thisArg) {\n if (!isCallable2(iterator)) {\n throw new TypeError(\"iterator must be a function\");\n }\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n if (isArray(list)) {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === \"string\") {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n };\n return forEach;\n}\nvar possibleTypedArrayNames;\nvar hasRequiredPossibleTypedArrayNames;\nfunction requirePossibleTypedArrayNames() {\n if (hasRequiredPossibleTypedArrayNames) return possibleTypedArrayNames;\n hasRequiredPossibleTypedArrayNames = 1;\n possibleTypedArrayNames = [\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\"\n ];\n return possibleTypedArrayNames;\n}\nvar availableTypedArrays;\nvar hasRequiredAvailableTypedArrays;\nfunction requireAvailableTypedArrays() {\n if (hasRequiredAvailableTypedArrays) return availableTypedArrays;\n hasRequiredAvailableTypedArrays = 1;\n var possibleNames = /* @__PURE__ */ requirePossibleTypedArrayNames();\n var g = typeof globalThis === \"undefined\" ? commonjsGlobal : globalThis;\n availableTypedArrays = function availableTypedArrays2() {\n var out = [];\n for (var i = 0; i < possibleNames.length; i++) {\n if (typeof g[possibleNames[i]] === \"function\") {\n out[out.length] = possibleNames[i];\n }\n }\n return out;\n };\n return availableTypedArrays;\n}\nvar callBind = { exports: {} };\nvar defineDataProperty;\nvar hasRequiredDefineDataProperty;\nfunction requireDefineDataProperty() {\n if (hasRequiredDefineDataProperty) return defineDataProperty;\n hasRequiredDefineDataProperty = 1;\n var $defineProperty = /* @__PURE__ */ requireEsDefineProperty();\n var $SyntaxError = /* @__PURE__ */ requireSyntax();\n var $TypeError = /* @__PURE__ */ requireType();\n var gopd2 = /* @__PURE__ */ requireGopd();\n defineDataProperty = function defineDataProperty2(obj, property, value) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new $TypeError(\"`obj` must be an object or a function`\");\n }\n if (typeof property !== \"string\" && typeof property !== \"symbol\") {\n throw new $TypeError(\"`property` must be a string or a symbol`\");\n }\n if (arguments.length > 3 && typeof arguments[3] !== \"boolean\" && arguments[3] !== null) {\n throw new $TypeError(\"`nonEnumerable`, if provided, must be a boolean or null\");\n }\n if (arguments.length > 4 && typeof arguments[4] !== \"boolean\" && arguments[4] !== null) {\n throw new $TypeError(\"`nonWritable`, if provided, must be a boolean or null\");\n }\n if (arguments.length > 5 && typeof arguments[5] !== \"boolean\" && arguments[5] !== null) {\n throw new $TypeError(\"`nonConfigurable`, if provided, must be a boolean or null\");\n }\n if (arguments.length > 6 && typeof arguments[6] !== \"boolean\") {\n throw new $TypeError(\"`loose`, if provided, must be a boolean\");\n }\n var nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n var nonWritable = arguments.length > 4 ? arguments[4] : null;\n var nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n var loose = arguments.length > 6 ? arguments[6] : false;\n var desc = !!gopd2 && gopd2(obj, property);\n if ($defineProperty) {\n $defineProperty(obj, property, {\n configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n value,\n writable: nonWritable === null && desc ? desc.writable : !nonWritable\n });\n } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) {\n obj[property] = value;\n } else {\n throw new $SyntaxError(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\");\n }\n };\n return defineDataProperty;\n}\nvar hasPropertyDescriptors_1;\nvar hasRequiredHasPropertyDescriptors;\nfunction requireHasPropertyDescriptors() {\n if (hasRequiredHasPropertyDescriptors) return hasPropertyDescriptors_1;\n hasRequiredHasPropertyDescriptors = 1;\n var $defineProperty = /* @__PURE__ */ requireEsDefineProperty();\n var hasPropertyDescriptors = function hasPropertyDescriptors2() {\n return !!$defineProperty;\n };\n hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n if (!$defineProperty) {\n return null;\n }\n try {\n return $defineProperty([], \"length\", { value: 1 }).length !== 1;\n } catch (e) {\n return true;\n }\n };\n hasPropertyDescriptors_1 = hasPropertyDescriptors;\n return hasPropertyDescriptors_1;\n}\nvar setFunctionLength;\nvar hasRequiredSetFunctionLength;\nfunction requireSetFunctionLength() {\n if (hasRequiredSetFunctionLength) return setFunctionLength;\n hasRequiredSetFunctionLength = 1;\n var GetIntrinsic = /* @__PURE__ */ requireGetIntrinsic();\n var define = /* @__PURE__ */ requireDefineDataProperty();\n var hasDescriptors = /* @__PURE__ */ requireHasPropertyDescriptors()();\n var gOPD2 = /* @__PURE__ */ requireGopd();\n var $TypeError = /* @__PURE__ */ requireType();\n var $floor = GetIntrinsic(\"%Math.floor%\");\n setFunctionLength = function setFunctionLength2(fn, length) {\n if (typeof fn !== \"function\") {\n throw new $TypeError(\"`fn` is not a function\");\n }\n if (typeof length !== \"number\" || length < 0 || length > 4294967295 || $floor(length) !== length) {\n throw new $TypeError(\"`length` must be a positive 32-bit integer\");\n }\n var loose = arguments.length > 2 && !!arguments[2];\n var functionLengthIsConfigurable = true;\n var functionLengthIsWritable = true;\n if (\"length\" in fn && gOPD2) {\n var desc = gOPD2(fn, \"length\");\n if (desc && !desc.configurable) {\n functionLengthIsConfigurable = false;\n }\n if (desc && !desc.writable) {\n functionLengthIsWritable = false;\n }\n }\n if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n if (hasDescriptors) {\n define(\n /** @type {Parameters<define>[0]} */\n fn,\n \"length\",\n length,\n true,\n true\n );\n } else {\n define(\n /** @type {Parameters<define>[0]} */\n fn,\n \"length\",\n length\n );\n }\n }\n return fn;\n };\n return setFunctionLength;\n}\nvar applyBind;\nvar hasRequiredApplyBind;\nfunction requireApplyBind() {\n if (hasRequiredApplyBind) return applyBind;\n hasRequiredApplyBind = 1;\n var bind = requireFunctionBind();\n var $apply = requireFunctionApply();\n var actualApply2 = requireActualApply();\n applyBind = function applyBind2() {\n return actualApply2(bind, $apply, arguments);\n };\n return applyBind;\n}\nvar hasRequiredCallBind;\nfunction requireCallBind() {\n if (hasRequiredCallBind) return callBind.exports;\n hasRequiredCallBind = 1;\n (function(module) {\n var setFunctionLength2 = /* @__PURE__ */ requireSetFunctionLength();\n var $defineProperty = /* @__PURE__ */ requireEsDefineProperty();\n var callBindBasic = requireCallBindApplyHelpers();\n var applyBind2 = requireApplyBind();\n module.exports = function callBind2(originalFunction) {\n var func = callBindBasic(arguments);\n var adjustedLength = originalFunction.length - (arguments.length - 1);\n return setFunctionLength2(\n func,\n 1 + (adjustedLength > 0 ? adjustedLength : 0),\n true\n );\n };\n if ($defineProperty) {\n $defineProperty(module.exports, \"apply\", { value: applyBind2 });\n } else {\n module.exports.apply = applyBind2;\n }\n })(callBind);\n return callBind.exports;\n}\nvar whichTypedArray;\nvar hasRequiredWhichTypedArray;\nfunction requireWhichTypedArray() {\n if (hasRequiredWhichTypedArray) return whichTypedArray;\n hasRequiredWhichTypedArray = 1;\n var forEach2 = requireForEach();\n var availableTypedArrays2 = /* @__PURE__ */ requireAvailableTypedArrays();\n var callBind2 = requireCallBind();\n var callBound2 = /* @__PURE__ */ requireCallBound();\n var gOPD2 = /* @__PURE__ */ requireGopd();\n var getProto2 = requireGetProto();\n var $toString = callBound2(\"Object.prototype.toString\");\n var hasToStringTag = requireShams()();\n var g = typeof globalThis === \"undefined\" ? commonjsGlobal : globalThis;\n var typedArrays = availableTypedArrays2();\n var $slice = callBound2(\"String.prototype.slice\");\n var $indexOf = callBound2(\"Array.prototype.indexOf\", true) || function indexOf(array, value) {\n for (var i = 0; i < array.length; i += 1) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n };\n var cache = { __proto__: null };\n if (hasToStringTag && gOPD2 && getProto2) {\n forEach2(typedArrays, function(typedArray) {\n var arr = new g[typedArray]();\n if (Symbol.toStringTag in arr && getProto2) {\n var proto = getProto2(arr);\n var descriptor = gOPD2(proto, Symbol.toStringTag);\n if (!descriptor && proto) {\n var superProto = getProto2(proto);\n descriptor = gOPD2(superProto, Symbol.toStringTag);\n }\n cache[\"$\" + typedArray] = callBind2(descriptor.get);\n }\n });\n } else {\n forEach2(typedArrays, function(typedArray) {\n var arr = new g[typedArray]();\n var fn = arr.slice || arr.set;\n if (fn) {\n cache[\n /** @type {`$${import('.').TypedArrayName}`} */\n \"$\" + typedArray\n ] = /** @type {import('./types').BoundSlice | import('./types').BoundSet} */\n // @ts-expect-error TODO FIXME\n callBind2(fn);\n }\n });\n }\n var tryTypedArrays = function tryAllTypedArrays(value) {\n var found = false;\n forEach2(\n /** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */\n cache,\n /** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n function(getter, typedArray) {\n if (!found) {\n try {\n if (\"$\" + getter(value) === typedArray) {\n found = /** @type {import('.').TypedArrayName} */\n $slice(typedArray, 1);\n }\n } catch (e) {\n }\n }\n }\n );\n return found;\n };\n var trySlices = function tryAllSlices(value) {\n var found = false;\n forEach2(\n /** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */\n cache,\n /** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n function(getter, name) {\n if (!found) {\n try {\n getter(value);\n found = /** @type {import('.').TypedArrayName} */\n $slice(name, 1);\n } catch (e) {\n }\n }\n }\n );\n return found;\n };\n whichTypedArray = function whichTypedArray2(value) {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n if (!hasToStringTag) {\n var tag = $slice($toString(value), 8, -1);\n if ($indexOf(typedArrays, tag) > -1) {\n return tag;\n }\n if (tag !== \"Object\") {\n return false;\n }\n return trySlices(value);\n }\n if (!gOPD2) {\n return null;\n }\n return tryTypedArrays(value);\n };\n return whichTypedArray;\n}\nvar isTypedArray;\nvar hasRequiredIsTypedArray;\nfunction requireIsTypedArray() {\n if (hasRequiredIsTypedArray) return isTypedArray;\n hasRequiredIsTypedArray = 1;\n var whichTypedArray2 = /* @__PURE__ */ requireWhichTypedArray();\n isTypedArray = function isTypedArray2(value) {\n return !!whichTypedArray2(value);\n };\n return isTypedArray;\n}\nvar hasRequiredTypes;\nfunction requireTypes() {\n if (hasRequiredTypes) return types;\n hasRequiredTypes = 1;\n (function(exports$1) {\n var isArgumentsObject = /* @__PURE__ */ requireIsArguments();\n var isGeneratorFunction2 = requireIsGeneratorFunction();\n var whichTypedArray2 = /* @__PURE__ */ requireWhichTypedArray();\n var isTypedArray2 = /* @__PURE__ */ requireIsTypedArray();\n function uncurryThis(f) {\n return f.call.bind(f);\n }\n var BigIntSupported = typeof BigInt !== \"undefined\";\n var SymbolSupported = typeof Symbol !== \"undefined\";\n var ObjectToString = uncurryThis(Object.prototype.toString);\n var numberValue = uncurryThis(Number.prototype.valueOf);\n var stringValue = uncurryThis(String.prototype.valueOf);\n var booleanValue = uncurryThis(Boolean.prototype.valueOf);\n if (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n }\n if (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n }\n function checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== \"object\") {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch (e) {\n return false;\n }\n }\n exports$1.isArgumentsObject = isArgumentsObject;\n exports$1.isGeneratorFunction = isGeneratorFunction2;\n exports$1.isTypedArray = isTypedArray2;\n function isPromise(input) {\n return typeof Promise !== \"undefined\" && input instanceof Promise || input !== null && typeof input === \"object\" && typeof input.then === \"function\" && typeof input.catch === \"function\";\n }\n exports$1.isPromise = isPromise;\n function isArrayBufferView(value) {\n if (typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n return isTypedArray2(value) || isDataView(value);\n }\n exports$1.isArrayBufferView = isArrayBufferView;\n function isUint8Array(value) {\n return whichTypedArray2(value) === \"Uint8Array\";\n }\n exports$1.isUint8Array = isUint8Array;\n function isUint8ClampedArray(value) {\n return whichTypedArray2(value) === \"Uint8ClampedArray\";\n }\n exports$1.isUint8ClampedArray = isUint8ClampedArray;\n function isUint16Array(value) {\n return whichTypedArray2(value) === \"Uint16Array\";\n }\n exports$1.isUint16Array = isUint16Array;\n function isUint32Array(value) {\n return whichTypedArray2(value) === \"Uint32Array\";\n }\n exports$1.isUint32Array = isUint32Array;\n function isInt8Array(value) {\n return whichTypedArray2(value) === \"Int8Array\";\n }\n exports$1.isInt8Array = isInt8Array;\n function isInt16Array(value) {\n return whichTypedArray2(value) === \"Int16Array\";\n }\n exports$1.isInt16Array = isInt16Array;\n function isInt32Array(value) {\n return whichTypedArray2(value) === \"Int32Array\";\n }\n exports$1.isInt32Array = isInt32Array;\n function isFloat32Array(value) {\n return whichTypedArray2(value) === \"Float32Array\";\n }\n exports$1.isFloat32Array = isFloat32Array;\n function isFloat64Array(value) {\n return whichTypedArray2(value) === \"Float64Array\";\n }\n exports$1.isFloat64Array = isFloat64Array;\n function isBigInt64Array(value) {\n return whichTypedArray2(value) === \"BigInt64Array\";\n }\n exports$1.isBigInt64Array = isBigInt64Array;\n function isBigUint64Array(value) {\n return whichTypedArray2(value) === \"BigUint64Array\";\n }\n exports$1.isBigUint64Array = isBigUint64Array;\n function isMapToString(value) {\n return ObjectToString(value) === \"[object Map]\";\n }\n isMapToString.working = typeof Map !== \"undefined\" && isMapToString(/* @__PURE__ */ new Map());\n function isMap(value) {\n if (typeof Map === \"undefined\") {\n return false;\n }\n return isMapToString.working ? isMapToString(value) : value instanceof Map;\n }\n exports$1.isMap = isMap;\n function isSetToString(value) {\n return ObjectToString(value) === \"[object Set]\";\n }\n isSetToString.working = typeof Set !== \"undefined\" && isSetToString(/* @__PURE__ */ new Set());\n function isSet(value) {\n if (typeof Set === \"undefined\") {\n return false;\n }\n return isSetToString.working ? isSetToString(value) : value instanceof Set;\n }\n exports$1.isSet = isSet;\n function isWeakMapToString(value) {\n return ObjectToString(value) === \"[object WeakMap]\";\n }\n isWeakMapToString.working = typeof WeakMap !== \"undefined\" && isWeakMapToString(/* @__PURE__ */ new WeakMap());\n function isWeakMap(value) {\n if (typeof WeakMap === \"undefined\") {\n return false;\n }\n return isWeakMapToString.working ? isWeakMapToString(value) : value instanceof WeakMap;\n }\n exports$1.isWeakMap = isWeakMap;\n function isWeakSetToString(value) {\n return ObjectToString(value) === \"[object WeakSet]\";\n }\n isWeakSetToString.working = typeof WeakSet !== \"undefined\" && isWeakSetToString(/* @__PURE__ */ new WeakSet());\n function isWeakSet(value) {\n return isWeakSetToString(value);\n }\n exports$1.isWeakSet = isWeakSet;\n function isArrayBufferToString(value) {\n return ObjectToString(value) === \"[object ArrayBuffer]\";\n }\n isArrayBufferToString.working = typeof ArrayBuffer !== \"undefined\" && isArrayBufferToString(new ArrayBuffer());\n function isArrayBuffer(value) {\n if (typeof ArrayBuffer === \"undefined\") {\n return false;\n }\n return isArrayBufferToString.working ? isArrayBufferToString(value) : value instanceof ArrayBuffer;\n }\n exports$1.isArrayBuffer = isArrayBuffer;\n function isDataViewToString(value) {\n return ObjectToString(value) === \"[object DataView]\";\n }\n isDataViewToString.working = typeof ArrayBuffer !== \"undefined\" && typeof DataView !== \"undefined\" && isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1));\n function isDataView(value) {\n if (typeof DataView === \"undefined\") {\n return false;\n }\n return isDataViewToString.working ? isDataViewToString(value) : value instanceof DataView;\n }\n exports$1.isDataView = isDataView;\n var SharedArrayBufferCopy = typeof SharedArrayBuffer !== \"undefined\" ? SharedArrayBuffer : void 0;\n function isSharedArrayBufferToString(value) {\n return ObjectToString(value) === \"[object SharedArrayBuffer]\";\n }\n function isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === \"undefined\") {\n return false;\n }\n if (typeof isSharedArrayBufferToString.working === \"undefined\") {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n return isSharedArrayBufferToString.working ? isSharedArrayBufferToString(value) : value instanceof SharedArrayBufferCopy;\n }\n exports$1.isSharedArrayBuffer = isSharedArrayBuffer;\n function isAsyncFunction(value) {\n return ObjectToString(value) === \"[object AsyncFunction]\";\n }\n exports$1.isAsyncFunction = isAsyncFunction;\n function isMapIterator(value) {\n return ObjectToString(value) === \"[object Map Iterator]\";\n }\n exports$1.isMapIterator = isMapIterator;\n function isSetIterator(value) {\n return ObjectToString(value) === \"[object Set Iterator]\";\n }\n exports$1.isSetIterator = isSetIterator;\n function isGeneratorObject(value) {\n return ObjectToString(value) === \"[object Generator]\";\n }\n exports$1.isGeneratorObject = isGeneratorObject;\n function isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === \"[object WebAssembly.Module]\";\n }\n exports$1.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n function isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n }\n exports$1.isNumberObject = isNumberObject;\n function isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n }\n exports$1.isStringObject = isStringObject;\n function isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n }\n exports$1.isBooleanObject = isBooleanObject;\n function isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n }\n exports$1.isBigIntObject = isBigIntObject;\n function isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n }\n exports$1.isSymbolObject = isSymbolObject;\n function isBoxedPrimitive(value) {\n return isNumberObject(value) || isStringObject(value) || isBooleanObject(value) || isBigIntObject(value) || isSymbolObject(value);\n }\n exports$1.isBoxedPrimitive = isBoxedPrimitive;\n function isAnyArrayBuffer(value) {\n return typeof Uint8Array !== \"undefined\" && (isArrayBuffer(value) || isSharedArrayBuffer(value));\n }\n exports$1.isAnyArrayBuffer = isAnyArrayBuffer;\n [\"isProxy\", \"isExternal\", \"isModuleNamespaceObject\"].forEach(function(method) {\n Object.defineProperty(exports$1, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + \" is not supported in userland\");\n }\n });\n });\n })(types);\n return types;\n}\nvar isBufferBrowser;\nvar hasRequiredIsBufferBrowser;\nfunction requireIsBufferBrowser() {\n if (hasRequiredIsBufferBrowser) return isBufferBrowser;\n hasRequiredIsBufferBrowser = 1;\n isBufferBrowser = function isBuffer(arg) {\n return arg && typeof arg === \"object\" && typeof arg.copy === \"function\" && typeof arg.fill === \"function\" && typeof arg.readUInt8 === \"function\";\n };\n return isBufferBrowser;\n}\nvar hasRequiredUtil;\nfunction requireUtil() {\n if (hasRequiredUtil) return util;\n hasRequiredUtil = 1;\n (function(exports$1) {\n var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors2(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n var formatRegExp = /%[sdj%]/g;\n exports$1.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(\" \");\n }\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x2) {\n if (x2 === \"%%\") return \"%\";\n if (i >= len) return x2;\n switch (x2) {\n case \"%s\":\n return String(args[i++]);\n case \"%d\":\n return Number(args[i++]);\n case \"%j\":\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return \"[Circular]\";\n }\n default:\n return x2;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += \" \" + x;\n } else {\n str += \" \" + inspect(x);\n }\n }\n return str;\n };\n exports$1.deprecate = function(fn, msg) {\n if (typeof process$1 !== \"undefined\" && process$1.noDeprecation === true) {\n return fn;\n }\n if (typeof process$1 === \"undefined\") {\n return function() {\n return exports$1.deprecate(fn, msg).apply(this, arguments);\n };\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process$1.throwDeprecation) {\n throw new Error(msg);\n } else if (process$1.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n };\n var debugs = {};\n var debugEnvRegex = /^$/;\n if (process$1.env.NODE_DEBUG) {\n var debugEnv = process$1.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase();\n debugEnvRegex = new RegExp(\"^\" + debugEnv + \"$\", \"i\");\n }\n exports$1.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process$1.pid;\n debugs[set] = function() {\n var msg = exports$1.format.apply(exports$1, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else {\n debugs[set] = function() {\n };\n }\n }\n return debugs[set];\n };\n function inspect(obj, opts) {\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n ctx.showHidden = opts;\n } else if (opts) {\n exports$1._extend(ctx, opts);\n }\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n }\n exports$1.inspect = inspect;\n inspect.colors = {\n \"bold\": [1, 22],\n \"italic\": [3, 23],\n \"underline\": [4, 24],\n \"inverse\": [7, 27],\n \"white\": [37, 39],\n \"grey\": [90, 39],\n \"black\": [30, 39],\n \"blue\": [34, 39],\n \"cyan\": [36, 39],\n \"green\": [32, 39],\n \"magenta\": [35, 39],\n \"red\": [31, 39],\n \"yellow\": [33, 39]\n };\n inspect.styles = {\n \"special\": \"cyan\",\n \"number\": \"yellow\",\n \"boolean\": \"yellow\",\n \"undefined\": \"grey\",\n \"null\": \"bold\",\n \"string\": \"green\",\n \"date\": \"magenta\",\n // \"name\": intentionally not styling\n \"regexp\": \"red\"\n };\n function stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n if (style) {\n return \"\\x1B[\" + inspect.colors[style][0] + \"m\" + str + \"\\x1B[\" + inspect.colors[style][1] + \"m\";\n } else {\n return str;\n }\n }\n function stylizeNoColor(str, styleType) {\n return str;\n }\n function arrayToHash(array) {\n var hash2 = {};\n array.forEach(function(val, idx) {\n hash2[val] = true;\n });\n return hash2;\n }\n function formatValue(ctx, value, recurseTimes) {\n if (ctx.customInspect && value && isFunction(value.inspect) && // Filter out the util module, it's inspect function is special\n value.inspect !== exports$1.inspect && // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n if (isError(value) && (keys.indexOf(\"message\") >= 0 || keys.indexOf(\"description\") >= 0)) {\n return formatError(value);\n }\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? \": \" + value.name : \"\";\n return ctx.stylize(\"[Function\" + name + \"]\", \"special\");\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), \"regexp\");\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), \"date\");\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n var base = \"\", array = false, braces = [\"{\", \"}\"];\n if (isArray(value)) {\n array = true;\n braces = [\"[\", \"]\"];\n }\n if (isFunction(value)) {\n var n = value.name ? \": \" + value.name : \"\";\n base = \" [Function\" + n + \"]\";\n }\n if (isRegExp(value)) {\n base = \" \" + RegExp.prototype.toString.call(value);\n }\n if (isDate(value)) {\n base = \" \" + Date.prototype.toUTCString.call(value);\n }\n if (isError(value)) {\n base = \" \" + formatError(value);\n }\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), \"regexp\");\n } else {\n return ctx.stylize(\"[Object]\", \"special\");\n }\n }\n ctx.seen.push(value);\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n }\n function formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize(\"undefined\", \"undefined\");\n if (isString(value)) {\n var simple = \"'\" + JSON.stringify(value).replace(/^\"|\"$/g, \"\").replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + \"'\";\n return ctx.stylize(simple, \"string\");\n }\n if (isNumber(value))\n return ctx.stylize(\"\" + value, \"number\");\n if (isBoolean(value))\n return ctx.stylize(\"\" + value, \"boolean\");\n if (isNull(value))\n return ctx.stylize(\"null\", \"null\");\n }\n function formatError(value) {\n return \"[\" + Error.prototype.toString.call(value) + \"]\";\n }\n function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n String(i),\n true\n ));\n } else {\n output.push(\"\");\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n key,\n true\n ));\n }\n });\n return output;\n }\n function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize(\"[Getter/Setter]\", \"special\");\n } else {\n str = ctx.stylize(\"[Getter]\", \"special\");\n }\n } else {\n if (desc.set) {\n str = ctx.stylize(\"[Setter]\", \"special\");\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = \"[\" + key + \"]\";\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf(\"\\n\") > -1) {\n if (array) {\n str = str.split(\"\\n\").map(function(line) {\n return \" \" + line;\n }).join(\"\\n\").slice(2);\n } else {\n str = \"\\n\" + str.split(\"\\n\").map(function(line) {\n return \" \" + line;\n }).join(\"\\n\");\n }\n }\n } else {\n str = ctx.stylize(\"[Circular]\", \"special\");\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify(\"\" + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, \"name\");\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, \"string\");\n }\n }\n return name + \": \" + str;\n }\n function reduceToSingleString(output, base, braces) {\n var length = output.reduce(function(prev, cur) {\n if (cur.indexOf(\"\\n\") >= 0) ;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, \"\").length + 1;\n }, 0);\n if (length > 60) {\n return braces[0] + (base === \"\" ? \"\" : base + \"\\n \") + \" \" + output.join(\",\\n \") + \" \" + braces[1];\n }\n return braces[0] + base + \" \" + output.join(\", \") + \" \" + braces[1];\n }\n exports$1.types = requireTypes();\n function isArray(ar) {\n return Array.isArray(ar);\n }\n exports$1.isArray = isArray;\n function isBoolean(arg) {\n return typeof arg === \"boolean\";\n }\n exports$1.isBoolean = isBoolean;\n function isNull(arg) {\n return arg === null;\n }\n exports$1.isNull = isNull;\n function isNullOrUndefined(arg) {\n return arg == null;\n }\n exports$1.isNullOrUndefined = isNullOrUndefined;\n function isNumber(arg) {\n return typeof arg === \"number\";\n }\n exports$1.isNumber = isNumber;\n function isString(arg) {\n return typeof arg === \"string\";\n }\n exports$1.isString = isString;\n function isSymbol(arg) {\n return typeof arg === \"symbol\";\n }\n exports$1.isSymbol = isSymbol;\n function isUndefined(arg) {\n return arg === void 0;\n }\n exports$1.isUndefined = isUndefined;\n function isRegExp(re) {\n return isObject(re) && objectToString(re) === \"[object RegExp]\";\n }\n exports$1.isRegExp = isRegExp;\n exports$1.types.isRegExp = isRegExp;\n function isObject(arg) {\n return typeof arg === \"object\" && arg !== null;\n }\n exports$1.isObject = isObject;\n function isDate(d) {\n return isObject(d) && objectToString(d) === \"[object Date]\";\n }\n exports$1.isDate = isDate;\n exports$1.types.isDate = isDate;\n function isError(e) {\n return isObject(e) && (objectToString(e) === \"[object Error]\" || e instanceof Error);\n }\n exports$1.isError = isError;\n exports$1.types.isNativeError = isError;\n function isFunction(arg) {\n return typeof arg === \"function\";\n }\n exports$1.isFunction = isFunction;\n function isPrimitive(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || // ES6 symbol\n typeof arg === \"undefined\";\n }\n exports$1.isPrimitive = isPrimitive;\n exports$1.isBuffer = requireIsBufferBrowser();\n function objectToString(o) {\n return Object.prototype.toString.call(o);\n }\n function pad(n) {\n return n < 10 ? \"0\" + n.toString(10) : n.toString(10);\n }\n var months = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n function timestamp() {\n var d = /* @__PURE__ */ new Date();\n var time = [\n pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())\n ].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n }\n exports$1.log = function() {\n console.log(\"%s - %s\", timestamp(), exports$1.format.apply(exports$1, arguments));\n };\n exports$1.inherits = requireInherits_browser();\n exports$1._extend = function(origin, add) {\n if (!add || !isObject(add)) return origin;\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n };\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n var kCustomPromisifiedSymbol = typeof Symbol !== \"undefined\" ? /* @__PURE__ */ Symbol(\"util.promisify.custom\") : void 0;\n exports$1.promisify = function promisify(original) {\n if (typeof original !== \"function\")\n throw new TypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\") {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: false,\n writable: false,\n configurable: true\n });\n return fn;\n }\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function(resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function(err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: false,\n writable: false,\n configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n };\n exports$1.promisify.custom = kCustomPromisifiedSymbol;\n function callbackifyOnRejected(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n }\n function callbackify(original) {\n if (typeof original !== \"function\") {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n var maybeCb = args.pop();\n if (typeof maybeCb !== \"function\") {\n throw new TypeError(\"The last argument must be of type Function\");\n }\n var self2 = this;\n var cb = function() {\n return maybeCb.apply(self2, arguments);\n };\n original.apply(this, args).then(\n function(ret) {\n process$1.nextTick(cb.bind(null, null, ret));\n },\n function(rej) {\n process$1.nextTick(callbackifyOnRejected.bind(null, rej, cb));\n }\n );\n }\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(\n callbackified,\n getOwnPropertyDescriptors(original)\n );\n return callbackified;\n }\n exports$1.callbackify = callbackify;\n })(util);\n return util;\n}\nvar buffer_list;\nvar hasRequiredBuffer_list;\nfunction requireBuffer_list() {\n if (hasRequiredBuffer_list) return buffer_list;\n hasRequiredBuffer_list = 1;\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), true).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== void 0) {\n var res = prim.call(input, hint);\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return String(input);\n }\n var _require = requireBuffer(), Buffer2 = _require.Buffer;\n var _require2 = requireUtil(), inspect = _require2.inspect;\n var custom = inspect && inspect.custom || \"inspect\";\n function copyBuffer(src, target, offset) {\n Buffer2.prototype.copy.call(src, target, offset);\n }\n buffer_list = /* @__PURE__ */ (function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;\n else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return \"\";\n var p = this.head;\n var ret = \"\" + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer2.alloc(0);\n var ret = Buffer2.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;\n else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;\n else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer2.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;\n else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n })();\n return buffer_list;\n}\nvar destroy_1;\nvar hasRequiredDestroy;\nfunction requireDestroy() {\n if (hasRequiredDestroy) return destroy_1;\n hasRequiredDestroy = 1;\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process$1.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process$1.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process$1.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process$1.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process$1.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process$1.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process$1.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose) return;\n if (self2._readableState && !self2._readableState.emitClose) return;\n self2.emit(\"close\");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit(\"error\", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);\n else stream.emit(\"error\", err);\n }\n destroy_1 = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n return destroy_1;\n}\nvar errorsBrowser = {};\nvar hasRequiredErrorsBrowser;\nfunction requireErrorsBrowser() {\n if (hasRequiredErrorsBrowser) return errorsBrowser;\n hasRequiredErrorsBrowser = 1;\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === \"string\") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ (function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n })(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(0, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== \"number\") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType(\"ERR_INVALID_OPT_VALUE\", function(name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n }, TypeError);\n createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n var determiner;\n if (typeof expected === \"string\" && startsWith(expected, \"not \")) {\n determiner = \"must not be\";\n expected = expected.replace(/^not /, \"\");\n } else {\n determiner = \"must be\";\n }\n var msg;\n if (endsWith(name, \" argument\")) {\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n } else {\n var type2 = includes(name, \".\") ? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type2, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n msg += \". Received type \".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\");\n createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\", function(name) {\n return \"The \" + name + \" method is not implemented\";\n });\n createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\");\n createErrorType(\"ERR_STREAM_DESTROYED\", function(name) {\n return \"Cannot call \" + name + \" after a stream was destroyed\";\n });\n createErrorType(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\");\n createErrorType(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\");\n createErrorType(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\");\n createErrorType(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError);\n createErrorType(\"ERR_UNKNOWN_ENCODING\", function(arg) {\n return \"Unknown encoding: \" + arg;\n }, TypeError);\n createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\");\n errorsBrowser.codes = codes;\n return errorsBrowser;\n}\nvar state;\nvar hasRequiredState;\nfunction requireState() {\n if (hasRequiredState) return state;\n hasRequiredState = 1;\n var ERR_INVALID_OPT_VALUE = requireErrorsBrowser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state2, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : \"highWaterMark\";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state2.objectMode ? 16 : 16 * 1024;\n }\n state = {\n getHighWaterMark\n };\n return state;\n}\nvar browser;\nvar hasRequiredBrowser;\nfunction requireBrowser() {\n if (hasRequiredBrowser) return browser;\n hasRequiredBrowser = 1;\n browser = deprecate;\n function deprecate(fn, msg) {\n if (config(\"noDeprecation\")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config(\"throwDeprecation\")) {\n throw new Error(msg);\n } else if (config(\"traceDeprecation\")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!commonjsGlobal.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = commonjsGlobal.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === \"true\";\n }\n return browser;\n}\nvar _stream_writable;\nvar hasRequired_stream_writable;\nfunction require_stream_writable() {\n if (hasRequired_stream_writable) return _stream_writable;\n hasRequired_stream_writable = 1;\n _stream_writable = Writable;\n function CorkedRequest(state2) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state2);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: requireBrowser()\n };\n var Stream = requireStreamBrowser();\n var Buffer2 = requireBuffer().Buffer;\n var OurUint8Array = (typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : {}).Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer2.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = requireDestroy();\n var _require = requireState(), getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = requireErrorsBrowser().codes, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n requireInherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== \"boolean\") isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || \"utf8\";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, \"buffer\", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, \"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\", \"DEP0003\")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === \"function\" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === \"function\") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === \"function\") this._write = options.write;\n if (typeof options.writev === \"function\") this._writev = options.writev;\n if (typeof options.destroy === \"function\") this._destroy = options.destroy;\n if (typeof options.final === \"function\") this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process$1.nextTick(cb, er);\n }\n function validChunk(stream, state2, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== \"string\" && !state2.objectMode) {\n er = new ERR_INVALID_ARG_TYPE(\"chunk\", [\"string\", \"Buffer\"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process$1.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state2 = this._writableState;\n var ret = false;\n var isBuf = !state2.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer2.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === \"function\") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = \"buffer\";\n else if (!encoding) encoding = state2.defaultEncoding;\n if (typeof cb !== \"function\") cb = nop;\n if (state2.ending) writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state2, chunk, cb)) {\n state2.pendingcb++;\n ret = writeOrBuffer(this, state2, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state2 = this._writableState;\n if (state2.corked) {\n state2.corked--;\n if (!state2.writing && !state2.corked && !state2.bufferProcessing && state2.bufferedRequest) clearBuffer(this, state2);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\") encoding = encoding.toLowerCase();\n if (!([\"hex\", \"utf8\", \"utf-8\", \"ascii\", \"binary\", \"base64\", \"ucs2\", \"ucs-2\", \"utf16le\", \"utf-16le\", \"raw\"].indexOf((encoding + \"\").toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, \"writableBuffer\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state2, chunk, encoding) {\n if (!state2.objectMode && state2.decodeStrings !== false && typeof chunk === \"string\") {\n chunk = Buffer2.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, \"writableHighWaterMark\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state2, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state2, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = \"buffer\";\n chunk = newChunk;\n }\n }\n var len = state2.objectMode ? 1 : chunk.length;\n state2.length += len;\n var ret = state2.length < state2.highWaterMark;\n if (!ret) state2.needDrain = true;\n if (state2.writing || state2.corked) {\n var last = state2.lastBufferedRequest;\n state2.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state2.lastBufferedRequest;\n } else {\n state2.bufferedRequest = state2.lastBufferedRequest;\n }\n state2.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state2, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state2, writev, len, chunk, encoding, cb) {\n state2.writelen = len;\n state2.writecb = cb;\n state2.writing = true;\n state2.sync = true;\n if (state2.destroyed) state2.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev) stream._writev(chunk, state2.onwrite);\n else stream._write(chunk, encoding, state2.onwrite);\n state2.sync = false;\n }\n function onwriteError(stream, state2, sync, er, cb) {\n --state2.pendingcb;\n if (sync) {\n process$1.nextTick(cb, er);\n process$1.nextTick(finishMaybe, stream, state2);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state2);\n }\n }\n function onwriteStateUpdate(state2) {\n state2.writing = false;\n state2.writecb = null;\n state2.length -= state2.writelen;\n state2.writelen = 0;\n }\n function onwrite(stream, er) {\n var state2 = stream._writableState;\n var sync = state2.sync;\n var cb = state2.writecb;\n if (typeof cb !== \"function\") throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state2);\n if (er) onwriteError(stream, state2, sync, er, cb);\n else {\n var finished = needFinish(state2) || stream.destroyed;\n if (!finished && !state2.corked && !state2.bufferProcessing && state2.bufferedRequest) {\n clearBuffer(stream, state2);\n }\n if (sync) {\n process$1.nextTick(afterWrite, stream, state2, finished, cb);\n } else {\n afterWrite(stream, state2, finished, cb);\n }\n }\n }\n function afterWrite(stream, state2, finished, cb) {\n if (!finished) onwriteDrain(stream, state2);\n state2.pendingcb--;\n cb();\n finishMaybe(stream, state2);\n }\n function onwriteDrain(stream, state2) {\n if (state2.length === 0 && state2.needDrain) {\n state2.needDrain = false;\n stream.emit(\"drain\");\n }\n }\n function clearBuffer(stream, state2) {\n state2.bufferProcessing = true;\n var entry = state2.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state2.bufferedRequestCount;\n var buffer2 = new Array(l);\n var holder = state2.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer2[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer2.allBuffers = allBuffers;\n doWrite(stream, state2, true, state2.length, buffer2, \"\", holder.finish);\n state2.pendingcb++;\n state2.lastBufferedRequest = null;\n if (holder.next) {\n state2.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state2.corkedRequestsFree = new CorkedRequest(state2);\n }\n state2.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state2.objectMode ? 1 : chunk.length;\n doWrite(stream, state2, false, len, chunk, encoding, cb);\n entry = entry.next;\n state2.bufferedRequestCount--;\n if (state2.writing) {\n break;\n }\n }\n if (entry === null) state2.lastBufferedRequest = null;\n }\n state2.bufferedRequest = entry;\n state2.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state2 = this._writableState;\n if (typeof chunk === \"function\") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === \"function\") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);\n if (state2.corked) {\n state2.corked = 1;\n this.uncork();\n }\n if (!state2.ending) endWritable(this, state2, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, \"writableLength\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._writableState.length;\n }\n });\n function needFinish(state2) {\n return state2.ending && state2.length === 0 && state2.bufferedRequest === null && !state2.finished && !state2.writing;\n }\n function callFinal(stream, state2) {\n stream._final(function(err) {\n state2.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state2.prefinished = true;\n stream.emit(\"prefinish\");\n finishMaybe(stream, state2);\n });\n }\n function prefinish(stream, state2) {\n if (!state2.prefinished && !state2.finalCalled) {\n if (typeof stream._final === \"function\" && !state2.destroyed) {\n state2.pendingcb++;\n state2.finalCalled = true;\n process$1.nextTick(callFinal, stream, state2);\n } else {\n state2.prefinished = true;\n stream.emit(\"prefinish\");\n }\n }\n }\n function finishMaybe(stream, state2) {\n var need = needFinish(state2);\n if (need) {\n prefinish(stream, state2);\n if (state2.pendingcb === 0) {\n state2.finished = true;\n stream.emit(\"finish\");\n if (state2.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state2, cb) {\n state2.ending = true;\n finishMaybe(stream, state2);\n if (cb) {\n if (state2.finished) process$1.nextTick(cb);\n else stream.once(\"finish\", cb);\n }\n state2.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state2, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state2.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state2.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, \"destroyed\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n return _stream_writable;\n}\nvar _stream_duplex;\nvar hasRequired_stream_duplex;\nfunction require_stream_duplex() {\n if (hasRequired_stream_duplex) return _stream_duplex;\n hasRequired_stream_duplex = 1;\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key in obj) keys2.push(key);\n return keys2;\n };\n _stream_duplex = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n requireInherits_browser()(Duplex, Readable);\n {\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n function Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once(\"end\", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, \"writableHighWaterMark\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, \"writableBuffer\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, \"writableLength\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended) return;\n process$1.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, \"destroyed\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n return _stream_duplex;\n}\nvar string_decoder = {};\nvar safeBuffer = { exports: {} };\nvar hasRequiredSafeBuffer;\nfunction requireSafeBuffer() {\n if (hasRequiredSafeBuffer) return safeBuffer.exports;\n hasRequiredSafeBuffer = 1;\n (function(module, exports$1) {\n var buffer2 = requireBuffer();\n var Buffer2 = buffer2.Buffer;\n function copyProps(src, dst) {\n for (var key in src) {\n dst[key] = src[key];\n }\n }\n if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {\n module.exports = buffer2;\n } else {\n copyProps(buffer2, exports$1);\n exports$1.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n copyProps(Buffer2, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === \"number\") {\n throw new TypeError(\"Argument must not be a number\");\n }\n return Buffer2(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== \"number\") {\n throw new TypeError(\"Argument must be a number\");\n }\n var buf = Buffer2(size);\n if (fill !== void 0) {\n if (typeof encoding === \"string\") {\n buf.fill(fill, encoding);\n } else {\n buf.fill(fill);\n }\n } else {\n buf.fill(0);\n }\n return buf;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== \"number\") {\n throw new TypeError(\"Argument must be a number\");\n }\n return Buffer2(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== \"number\") {\n throw new TypeError(\"Argument must be a number\");\n }\n return buffer2.SlowBuffer(size);\n };\n })(safeBuffer, safeBuffer.exports);\n return safeBuffer.exports;\n}\nvar hasRequiredString_decoder;\nfunction requireString_decoder() {\n if (hasRequiredString_decoder) return string_decoder;\n hasRequiredString_decoder = 1;\n var Buffer2 = requireSafeBuffer().Buffer;\n var isEncoding = Buffer2.isEncoding || function(encoding) {\n encoding = \"\" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n case \"raw\":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc) return \"utf8\";\n var retried;\n while (true) {\n switch (enc) {\n case \"utf8\":\n case \"utf-8\":\n return \"utf8\";\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return \"utf16le\";\n case \"latin1\":\n case \"binary\":\n return \"latin1\";\n case \"base64\":\n case \"ascii\":\n case \"hex\":\n return enc;\n default:\n if (retried) return;\n enc = (\"\" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== \"string\" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error(\"Unknown encoding: \" + enc);\n return nenc || enc;\n }\n string_decoder.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case \"utf16le\":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case \"utf8\":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case \"base64\":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer2.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf) {\n if (buf.length === 0) return \"\";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === void 0) return \"\";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || \"\";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127) return 0;\n else if (byte >> 5 === 6) return 2;\n else if (byte >> 4 === 14) return 3;\n else if (byte >> 3 === 30) return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;\n else self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf, p) {\n if ((buf[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return \"�\";\n }\n if (self2.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return \"�\";\n }\n if (self2.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return \"�\";\n }\n }\n }\n }\n function utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf);\n if (r !== void 0) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n }\n function utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString(\"utf8\", i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString(\"utf8\", i, end);\n }\n function utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : \"\";\n if (this.lastNeed) return r + \"�\";\n return r;\n }\n function utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString(\"utf16le\", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString(\"utf16le\", i, buf.length - 1);\n }\n function utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : \"\";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString(\"utf16le\", 0, end);\n }\n return r;\n }\n function base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString(\"base64\", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString(\"base64\", i, buf.length - n);\n }\n function base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : \"\";\n if (this.lastNeed) return r + this.lastChar.toString(\"base64\", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf) {\n return buf.toString(this.encoding);\n }\n function simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : \"\";\n }\n return string_decoder;\n}\nvar endOfStream;\nvar hasRequiredEndOfStream;\nfunction requireEndOfStream() {\n if (hasRequiredEndOfStream) return endOfStream;\n hasRequiredEndOfStream = 1;\n var ERR_STREAM_PREMATURE_CLOSE = requireErrorsBrowser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === \"function\") return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n stream.on(\"complete\", onfinish);\n stream.on(\"abort\", onclose);\n if (stream.req) onrequest();\n else stream.on(\"request\", onrequest);\n } else if (writable && !stream._writableState) {\n stream.on(\"end\", onlegacyfinish);\n stream.on(\"close\", onlegacyfinish);\n }\n stream.on(\"end\", onend);\n stream.on(\"finish\", onfinish);\n if (opts.error !== false) stream.on(\"error\", onerror);\n stream.on(\"close\", onclose);\n return function() {\n stream.removeListener(\"complete\", onfinish);\n stream.removeListener(\"abort\", onclose);\n stream.removeListener(\"request\", onrequest);\n if (stream.req) stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish);\n stream.removeListener(\"close\", onlegacyfinish);\n stream.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onend);\n stream.removeListener(\"error\", onerror);\n stream.removeListener(\"close\", onclose);\n };\n }\n endOfStream = eos;\n return endOfStream;\n}\nvar async_iterator;\nvar hasRequiredAsync_iterator;\nfunction requireAsync_iterator() {\n if (hasRequiredAsync_iterator) return async_iterator;\n hasRequiredAsync_iterator = 1;\n var _Object$setPrototypeO;\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== void 0) {\n var res = prim.call(input, hint);\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n var finished = requireEndOfStream();\n var kLastResolve = /* @__PURE__ */ Symbol(\"lastResolve\");\n var kLastReject = /* @__PURE__ */ Symbol(\"lastReject\");\n var kError = /* @__PURE__ */ Symbol(\"error\");\n var kEnded = /* @__PURE__ */ Symbol(\"ended\");\n var kLastPromise = /* @__PURE__ */ Symbol(\"lastPromise\");\n var kHandlePromise = /* @__PURE__ */ Symbol(\"handlePromise\");\n var kStream = /* @__PURE__ */ Symbol(\"stream\");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process$1.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process$1.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on(\"readable\", onReadable.bind(null, iterator));\n return iterator;\n };\n async_iterator = createReadableStreamAsyncIterator;\n return async_iterator;\n}\nvar fromBrowser;\nvar hasRequiredFromBrowser;\nfunction requireFromBrowser() {\n if (hasRequiredFromBrowser) return fromBrowser;\n hasRequiredFromBrowser = 1;\n fromBrowser = function() {\n throw new Error(\"Readable.from is not available in the browser\");\n };\n return fromBrowser;\n}\nvar _stream_readable;\nvar hasRequired_stream_readable;\nfunction require_stream_readable() {\n if (hasRequired_stream_readable) return _stream_readable;\n hasRequired_stream_readable = 1;\n _stream_readable = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n requireEvents().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type2) {\n return emitter.listeners(type2).length;\n };\n var Stream = requireStreamBrowser();\n var Buffer2 = requireBuffer().Buffer;\n var OurUint8Array = (typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : {}).Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer2.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = requireUtil();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog(\"stream\");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = requireBuffer_list();\n var destroyImpl = requireDestroy();\n var _require = requireState(), getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = requireErrorsBrowser().codes, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n requireInherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = [\"error\", \"close\", \"destroy\", \"pause\", \"resume\"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\") return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);\n else emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== \"boolean\") isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, \"readableHighWaterMark\", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || \"utf8\";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = requireString_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable)) return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === \"function\") this._read = options.read;\n if (typeof options.destroy === \"function\") this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, \"destroyed\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state2 = this._readableState;\n var skipChunkCheck;\n if (!state2.objectMode) {\n if (typeof chunk === \"string\") {\n encoding = encoding || state2.defaultEncoding;\n if (encoding !== state2.encoding) {\n chunk = Buffer2.from(chunk, encoding);\n encoding = \"\";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug(\"readableAddChunk\", chunk);\n var state2 = stream._readableState;\n if (chunk === null) {\n state2.reading = false;\n onEofChunk(stream, state2);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state2, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state2.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== \"string\" && !state2.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state2.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else addChunk(stream, state2, chunk, true);\n } else if (state2.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state2.destroyed) {\n return false;\n } else {\n state2.reading = false;\n if (state2.decoder && !encoding) {\n chunk = state2.decoder.write(chunk);\n if (state2.objectMode || chunk.length !== 0) addChunk(stream, state2, chunk, false);\n else maybeReadMore(stream, state2);\n } else {\n addChunk(stream, state2, chunk, false);\n }\n }\n } else if (!addToFront) {\n state2.reading = false;\n maybeReadMore(stream, state2);\n }\n }\n return !state2.ended && (state2.length < state2.highWaterMark || state2.length === 0);\n }\n function addChunk(stream, state2, chunk, addToFront) {\n if (state2.flowing && state2.length === 0 && !state2.sync) {\n state2.awaitDrain = 0;\n stream.emit(\"data\", chunk);\n } else {\n state2.length += state2.objectMode ? 1 : chunk.length;\n if (addToFront) state2.buffer.unshift(chunk);\n else state2.buffer.push(chunk);\n if (state2.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state2);\n }\n function chunkInvalid(state2, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== \"string\" && chunk !== void 0 && !state2.objectMode) {\n er = new ERR_INVALID_ARG_TYPE(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder) StringDecoder = requireString_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = \"\";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== \"\") this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state2) {\n if (n <= 0 || state2.length === 0 && state2.ended) return 0;\n if (state2.objectMode) return 1;\n if (n !== n) {\n if (state2.flowing && state2.length) return state2.buffer.head.data.length;\n else return state2.length;\n }\n if (n > state2.highWaterMark) state2.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state2.length) return n;\n if (!state2.ended) {\n state2.needReadable = true;\n return 0;\n }\n return state2.length;\n }\n Readable.prototype.read = function(n) {\n debug(\"read\", n);\n n = parseInt(n, 10);\n var state2 = this._readableState;\n var nOrig = n;\n if (n !== 0) state2.emittedReadable = false;\n if (n === 0 && state2.needReadable && ((state2.highWaterMark !== 0 ? state2.length >= state2.highWaterMark : state2.length > 0) || state2.ended)) {\n debug(\"read: emitReadable\", state2.length, state2.ended);\n if (state2.length === 0 && state2.ended) endReadable(this);\n else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state2);\n if (n === 0 && state2.ended) {\n if (state2.length === 0) endReadable(this);\n return null;\n }\n var doRead = state2.needReadable;\n debug(\"need readable\", doRead);\n if (state2.length === 0 || state2.length - n < state2.highWaterMark) {\n doRead = true;\n debug(\"length less than watermark\", doRead);\n }\n if (state2.ended || state2.reading) {\n doRead = false;\n debug(\"reading or ended\", doRead);\n } else if (doRead) {\n debug(\"do read\");\n state2.reading = true;\n state2.sync = true;\n if (state2.length === 0) state2.needReadable = true;\n this._read(state2.highWaterMark);\n state2.sync = false;\n if (!state2.reading) n = howMuchToRead(nOrig, state2);\n }\n var ret;\n if (n > 0) ret = fromList(n, state2);\n else ret = null;\n if (ret === null) {\n state2.needReadable = state2.length <= state2.highWaterMark;\n n = 0;\n } else {\n state2.length -= n;\n state2.awaitDrain = 0;\n }\n if (state2.length === 0) {\n if (!state2.ended) state2.needReadable = true;\n if (nOrig !== n && state2.ended) endReadable(this);\n }\n if (ret !== null) this.emit(\"data\", ret);\n return ret;\n };\n function onEofChunk(stream, state2) {\n debug(\"onEofChunk\");\n if (state2.ended) return;\n if (state2.decoder) {\n var chunk = state2.decoder.end();\n if (chunk && chunk.length) {\n state2.buffer.push(chunk);\n state2.length += state2.objectMode ? 1 : chunk.length;\n }\n }\n state2.ended = true;\n if (state2.sync) {\n emitReadable(stream);\n } else {\n state2.needReadable = false;\n if (!state2.emittedReadable) {\n state2.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state2 = stream._readableState;\n debug(\"emitReadable\", state2.needReadable, state2.emittedReadable);\n state2.needReadable = false;\n if (!state2.emittedReadable) {\n debug(\"emitReadable\", state2.flowing);\n state2.emittedReadable = true;\n process$1.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state2 = stream._readableState;\n debug(\"emitReadable_\", state2.destroyed, state2.length, state2.ended);\n if (!state2.destroyed && (state2.length || state2.ended)) {\n stream.emit(\"readable\");\n state2.emittedReadable = false;\n }\n state2.needReadable = !state2.flowing && !state2.ended && state2.length <= state2.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state2) {\n if (!state2.readingMore) {\n state2.readingMore = true;\n process$1.nextTick(maybeReadMore_, stream, state2);\n }\n }\n function maybeReadMore_(stream, state2) {\n while (!state2.reading && !state2.ended && (state2.length < state2.highWaterMark || state2.flowing && state2.length === 0)) {\n var len = state2.length;\n debug(\"maybeReadMore read 0\");\n stream.read(0);\n if (len === state2.length)\n break;\n }\n state2.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state2 = this._readableState;\n switch (state2.pipesCount) {\n case 0:\n state2.pipes = dest;\n break;\n case 1:\n state2.pipes = [state2.pipes, dest];\n break;\n default:\n state2.pipes.push(dest);\n break;\n }\n state2.pipesCount += 1;\n debug(\"pipe count=%d opts=%j\", state2.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process$1.stdout && dest !== process$1.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state2.endEmitted) process$1.nextTick(endFn);\n else src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug(\"onunpipe\");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug(\"onend\");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on(\"drain\", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug(\"cleanup\");\n dest.removeListener(\"close\", onclose);\n dest.removeListener(\"finish\", onfinish);\n dest.removeListener(\"drain\", ondrain);\n dest.removeListener(\"error\", onerror);\n dest.removeListener(\"unpipe\", onunpipe);\n src.removeListener(\"end\", onend);\n src.removeListener(\"end\", unpipe);\n src.removeListener(\"data\", ondata);\n cleanedUp = true;\n if (state2.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n debug(\"ondata\");\n var ret = dest.write(chunk);\n debug(\"dest.write\", ret);\n if (ret === false) {\n if ((state2.pipesCount === 1 && state2.pipes === dest || state2.pipesCount > 1 && indexOf(state2.pipes, dest) !== -1) && !cleanedUp) {\n debug(\"false write response, pause\", state2.awaitDrain);\n state2.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug(\"onerror\", er);\n unpipe();\n dest.removeListener(\"error\", onerror);\n if (EElistenerCount(dest, \"error\") === 0) errorOrDestroy(dest, er);\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish);\n unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n debug(\"onfinish\");\n dest.removeListener(\"close\", onclose);\n unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n debug(\"unpipe\");\n src.unpipe(dest);\n }\n dest.emit(\"pipe\", src);\n if (!state2.flowing) {\n debug(\"pipe resume\");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state2 = src._readableState;\n debug(\"pipeOnDrain\", state2.awaitDrain);\n if (state2.awaitDrain) state2.awaitDrain--;\n if (state2.awaitDrain === 0 && EElistenerCount(src, \"data\")) {\n state2.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state2 = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state2.pipesCount === 0) return this;\n if (state2.pipesCount === 1) {\n if (dest && dest !== state2.pipes) return this;\n if (!dest) dest = state2.pipes;\n state2.pipes = null;\n state2.pipesCount = 0;\n state2.flowing = false;\n if (dest) dest.emit(\"unpipe\", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state2.pipes;\n var len = state2.pipesCount;\n state2.pipes = null;\n state2.pipesCount = 0;\n state2.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit(\"unpipe\", this, {\n hasUnpiped: false\n });\n return this;\n }\n var index = indexOf(state2.pipes, dest);\n if (index === -1) return this;\n state2.pipes.splice(index, 1);\n state2.pipesCount -= 1;\n if (state2.pipesCount === 1) state2.pipes = state2.pipes[0];\n dest.emit(\"unpipe\", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state2 = this._readableState;\n if (ev === \"data\") {\n state2.readableListening = this.listenerCount(\"readable\") > 0;\n if (state2.flowing !== false) this.resume();\n } else if (ev === \"readable\") {\n if (!state2.endEmitted && !state2.readableListening) {\n state2.readableListening = state2.needReadable = true;\n state2.flowing = false;\n state2.emittedReadable = false;\n debug(\"on readable\", state2.length, state2.reading);\n if (state2.length) {\n emitReadable(this);\n } else if (!state2.reading) {\n process$1.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === \"readable\") {\n process$1.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === \"readable\" || ev === void 0) {\n process$1.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state2 = self2._readableState;\n state2.readableListening = self2.listenerCount(\"readable\") > 0;\n if (state2.resumeScheduled && !state2.paused) {\n state2.flowing = true;\n } else if (self2.listenerCount(\"data\") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug(\"readable nexttick read 0\");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state2 = this._readableState;\n if (!state2.flowing) {\n debug(\"resume\");\n state2.flowing = !state2.readableListening;\n resume(this, state2);\n }\n state2.paused = false;\n return this;\n };\n function resume(stream, state2) {\n if (!state2.resumeScheduled) {\n state2.resumeScheduled = true;\n process$1.nextTick(resume_, stream, state2);\n }\n }\n function resume_(stream, state2) {\n debug(\"resume\", state2.reading);\n if (!state2.reading) {\n stream.read(0);\n }\n state2.resumeScheduled = false;\n stream.emit(\"resume\");\n flow(stream);\n if (state2.flowing && !state2.reading) stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug(\"call pause flowing=%j\", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug(\"pause\");\n this._readableState.flowing = false;\n this.emit(\"pause\");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state2 = stream._readableState;\n debug(\"flow\", state2.flowing);\n while (state2.flowing && stream.read() !== null) ;\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state2 = this._readableState;\n var paused = false;\n stream.on(\"end\", function() {\n debug(\"wrapped end\");\n if (state2.decoder && !state2.ended) {\n var chunk = state2.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on(\"data\", function(chunk) {\n debug(\"wrapped data\");\n if (state2.decoder) chunk = state2.decoder.write(chunk);\n if (state2.objectMode && (chunk === null || chunk === void 0)) return;\n else if (!state2.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === \"function\") {\n this[i] = /* @__PURE__ */ (function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n })(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug(\"wrapped _read\", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === \"function\") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = requireAsync_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, \"readableHighWaterMark\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, \"readableBuffer\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, \"readableFlowing\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._readableState.flowing;\n },\n set: function set(state2) {\n if (this._readableState) {\n this._readableState.flowing = state2;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, \"readableLength\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get2() {\n return this._readableState.length;\n }\n });\n function fromList(n, state2) {\n if (state2.length === 0) return null;\n var ret;\n if (state2.objectMode) ret = state2.buffer.shift();\n else if (!n || n >= state2.length) {\n if (state2.decoder) ret = state2.buffer.join(\"\");\n else if (state2.buffer.length === 1) ret = state2.buffer.first();\n else ret = state2.buffer.concat(state2.length);\n state2.buffer.clear();\n } else {\n ret = state2.buffer.consume(n, state2.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state2 = stream._readableState;\n debug(\"endReadable\", state2.endEmitted);\n if (!state2.endEmitted) {\n state2.ended = true;\n process$1.nextTick(endReadableNT, state2, stream);\n }\n }\n function endReadableNT(state2, stream) {\n debug(\"endReadableNT\", state2.endEmitted, state2.length);\n if (!state2.endEmitted && state2.length === 0) {\n state2.endEmitted = true;\n stream.readable = false;\n stream.emit(\"end\");\n if (state2.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === \"function\") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = requireFromBrowser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n }\n return _stream_readable;\n}\nvar _stream_transform;\nvar hasRequired_stream_transform;\nfunction require_stream_transform() {\n if (hasRequired_stream_transform) return _stream_transform;\n hasRequired_stream_transform = 1;\n _stream_transform = Transform;\n var _require$codes = requireErrorsBrowser().codes, ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n requireInherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit(\"error\", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === \"function\") this._transform = options.transform;\n if (typeof options.flush === \"function\") this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === \"function\" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er) return stream.emit(\"error\", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n return _stream_transform;\n}\nvar _stream_passthrough;\nvar hasRequired_stream_passthrough;\nfunction require_stream_passthrough() {\n if (hasRequired_stream_passthrough) return _stream_passthrough;\n hasRequired_stream_passthrough = 1;\n _stream_passthrough = PassThrough;\n var Transform = require_stream_transform();\n requireInherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n return _stream_passthrough;\n}\nvar pipeline_1;\nvar hasRequiredPipeline;\nfunction requirePipeline() {\n if (hasRequiredPipeline) return pipeline_1;\n hasRequiredPipeline = 1;\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = requireErrorsBrowser().codes, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err) throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on(\"close\", function() {\n closed = true;\n });\n if (eos === void 0) eos = requireEndOfStream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === \"function\") return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED(\"pipe\"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length) return noop2;\n if (typeof streams[streams.length - 1] !== \"function\") return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS(\"streams\");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n pipeline_1 = pipeline;\n return pipeline_1;\n}\nvar streamBrowserify;\nvar hasRequiredStreamBrowserify;\nfunction requireStreamBrowserify() {\n if (hasRequiredStreamBrowserify) return streamBrowserify;\n hasRequiredStreamBrowserify = 1;\n streamBrowserify = Stream;\n var EE = requireEvents().EventEmitter;\n var inherits = requireInherits_browser();\n inherits(Stream, EE);\n Stream.Readable = require_stream_readable();\n Stream.Writable = require_stream_writable();\n Stream.Duplex = require_stream_duplex();\n Stream.Transform = require_stream_transform();\n Stream.PassThrough = require_stream_passthrough();\n Stream.finished = requireEndOfStream();\n Stream.pipeline = requirePipeline();\n Stream.Stream = Stream;\n function Stream() {\n EE.call(this);\n }\n Stream.prototype.pipe = function(dest, options) {\n var source = this;\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n dest.on(\"drain\", ondrain);\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on(\"end\", onend);\n source.on(\"close\", onclose);\n }\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n dest.end();\n }\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n if (typeof dest.destroy === \"function\") dest.destroy();\n }\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, \"error\") === 0) {\n throw er;\n }\n }\n source.on(\"error\", onerror);\n dest.on(\"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata);\n dest.removeListener(\"drain\", ondrain);\n source.removeListener(\"end\", onend);\n source.removeListener(\"close\", onclose);\n source.removeListener(\"error\", onerror);\n dest.removeListener(\"error\", onerror);\n source.removeListener(\"end\", cleanup);\n source.removeListener(\"close\", cleanup);\n dest.removeListener(\"close\", cleanup);\n }\n source.on(\"end\", cleanup);\n source.on(\"close\", cleanup);\n dest.on(\"close\", cleanup);\n dest.emit(\"pipe\", source);\n return dest;\n };\n return streamBrowserify;\n}\nvar hasRequiredSax;\nfunction requireSax() {\n if (hasRequiredSax) return sax;\n hasRequiredSax = 1;\n (function(exports$1) {\n (function(sax2) {\n sax2.parser = function(strict, opt) {\n return new SAXParser(strict, opt);\n };\n sax2.SAXParser = SAXParser;\n sax2.SAXStream = SAXStream;\n sax2.createStream = createStream;\n sax2.MAX_BUFFER_LENGTH = 64 * 1024;\n var buffers = [\n \"comment\",\n \"sgmlDecl\",\n \"textNode\",\n \"tagName\",\n \"doctype\",\n \"procInstName\",\n \"procInstBody\",\n \"entity\",\n \"attribName\",\n \"attribValue\",\n \"cdata\",\n \"script\"\n ];\n sax2.EVENTS = [\n \"text\",\n \"processinginstruction\",\n \"sgmldeclaration\",\n \"doctype\",\n \"comment\",\n \"opentagstart\",\n \"attribute\",\n \"opentag\",\n \"closetag\",\n \"opencdata\",\n \"cdata\",\n \"closecdata\",\n \"error\",\n \"end\",\n \"ready\",\n \"script\",\n \"opennamespace\",\n \"closenamespace\"\n ];\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt);\n }\n var parser = this;\n clearBuffers(parser);\n parser.q = parser.c = \"\";\n parser.bufferCheckPosition = sax2.MAX_BUFFER_LENGTH;\n parser.opt = opt || {};\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags;\n parser.looseCase = parser.opt.lowercase ? \"toLowerCase\" : \"toUpperCase\";\n parser.tags = [];\n parser.closed = parser.closedRoot = parser.sawRoot = false;\n parser.tag = parser.error = null;\n parser.strict = !!strict;\n parser.noscript = !!(strict || parser.opt.noscript);\n parser.state = S.BEGIN;\n parser.strictEntities = parser.opt.strictEntities;\n parser.ENTITIES = parser.strictEntities ? Object.create(sax2.XML_ENTITIES) : Object.create(sax2.ENTITIES);\n parser.attribList = [];\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS);\n }\n parser.trackPosition = parser.opt.position !== false;\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0;\n }\n emit(parser, \"onready\");\n }\n if (!Object.create) {\n Object.create = function(o) {\n function F() {\n }\n F.prototype = o;\n var newf = new F();\n return newf;\n };\n }\n if (!Object.keys) {\n Object.keys = function(o) {\n var a = [];\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i);\n return a;\n };\n }\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax2.MAX_BUFFER_LENGTH, 10);\n var maxActual = 0;\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length;\n if (len > maxAllowed) {\n switch (buffers[i]) {\n case \"textNode\":\n closeText(parser);\n break;\n case \"cdata\":\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n break;\n case \"script\":\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n break;\n default:\n error(parser, \"Max buffer length exceeded: \" + buffers[i]);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n var m = sax2.MAX_BUFFER_LENGTH - maxActual;\n parser.bufferCheckPosition = m + parser.position;\n }\n function clearBuffers(parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = \"\";\n }\n }\n function flushBuffers(parser) {\n closeText(parser);\n if (parser.cdata !== \"\") {\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n }\n if (parser.script !== \"\") {\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n }\n SAXParser.prototype = {\n end: function() {\n end(this);\n },\n write,\n resume: function() {\n this.error = null;\n return this;\n },\n close: function() {\n return this.write(null);\n },\n flush: function() {\n flushBuffers(this);\n }\n };\n var Stream;\n try {\n Stream = requireStreamBrowserify().Stream;\n } catch (ex) {\n Stream = function() {\n };\n }\n var streamWraps = sax2.EVENTS.filter(function(ev) {\n return ev !== \"error\" && ev !== \"end\";\n });\n function createStream(strict, opt) {\n return new SAXStream(strict, opt);\n }\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt);\n }\n Stream.apply(this);\n this._parser = new SAXParser(strict, opt);\n this.writable = true;\n this.readable = true;\n var me = this;\n this._parser.onend = function() {\n me.emit(\"end\");\n };\n this._parser.onerror = function(er) {\n me.emit(\"error\", er);\n me._parser.error = null;\n };\n this._decoder = null;\n streamWraps.forEach(function(ev) {\n Object.defineProperty(me, \"on\" + ev, {\n get: function() {\n return me._parser[\"on\" + ev];\n },\n set: function(h) {\n if (!h) {\n me.removeAllListeners(ev);\n me._parser[\"on\" + ev] = h;\n return h;\n }\n me.on(ev, h);\n },\n enumerable: true,\n configurable: false\n });\n });\n }\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n });\n SAXStream.prototype.write = function(data) {\n if (typeof Buffer === \"function\" && typeof Buffer.isBuffer === \"function\" && Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = requireString_decoder().StringDecoder;\n this._decoder = new SD(\"utf8\");\n }\n data = this._decoder.write(data);\n }\n this._parser.write(data.toString());\n this.emit(\"data\", data);\n return true;\n };\n SAXStream.prototype.end = function(chunk) {\n if (chunk && chunk.length) {\n this.write(chunk);\n }\n this._parser.end();\n return true;\n };\n SAXStream.prototype.on = function(ev, handler) {\n var me = this;\n if (!me._parser[\"on\" + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser[\"on\" + ev] = function() {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments);\n args.splice(0, 0, ev);\n me.emit.apply(me, args);\n };\n }\n return Stream.prototype.on.call(me, ev, handler);\n };\n var CDATA = \"[CDATA[\";\n var DOCTYPE = \"DOCTYPE\";\n var XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\n var XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE };\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n function isWhitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\r\" || c === \"\t\";\n }\n function isQuote(c) {\n return c === '\"' || c === \"'\";\n }\n function isAttribEnd(c) {\n return c === \">\" || isWhitespace(c);\n }\n function isMatch(regex, c) {\n return regex.test(c);\n }\n function notMatch(regex, c) {\n return !isMatch(regex, c);\n }\n var S = 0;\n sax2.STATE = {\n BEGIN: S++,\n // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++,\n // leading whitespace\n TEXT: S++,\n // general stuff\n TEXT_ENTITY: S++,\n // &amp and such.\n OPEN_WAKA: S++,\n // <\n SGML_DECL: S++,\n // <!BLARG\n SGML_DECL_QUOTED: S++,\n // <!BLARG foo \"bar\n DOCTYPE: S++,\n // <!DOCTYPE\n DOCTYPE_QUOTED: S++,\n // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++,\n // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++,\n // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++,\n // <!-\n COMMENT: S++,\n // <!--\n COMMENT_ENDING: S++,\n // <!-- blah -\n COMMENT_ENDED: S++,\n // <!-- blah --\n CDATA: S++,\n // <![CDATA[ something\n CDATA_ENDING: S++,\n // ]\n CDATA_ENDING_2: S++,\n // ]]\n PROC_INST: S++,\n // <?hi\n PROC_INST_BODY: S++,\n // <?hi there\n PROC_INST_ENDING: S++,\n // <?hi \"there\" ?\n OPEN_TAG: S++,\n // <strong\n OPEN_TAG_SLASH: S++,\n // <strong /\n ATTRIB: S++,\n // <a\n ATTRIB_NAME: S++,\n // <a foo\n ATTRIB_NAME_SAW_WHITE: S++,\n // <a foo _\n ATTRIB_VALUE: S++,\n // <a foo=\n ATTRIB_VALUE_QUOTED: S++,\n // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++,\n // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++,\n // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++,\n // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: S++,\n // <foo bar=&quot\n CLOSE_TAG: S++,\n // </a\n CLOSE_TAG_SAW_WHITE: S++,\n // </a >\n SCRIPT: S++,\n // <script> ...\n SCRIPT_ENDING: S++\n // <script> ... <\n };\n sax2.XML_ENTITIES = {\n \"amp\": \"&\",\n \"gt\": \">\",\n \"lt\": \"<\",\n \"quot\": '\"',\n \"apos\": \"'\"\n };\n sax2.ENTITIES = {\n \"amp\": \"&\",\n \"gt\": \">\",\n \"lt\": \"<\",\n \"quot\": '\"',\n \"apos\": \"'\",\n \"AElig\": 198,\n \"Aacute\": 193,\n \"Acirc\": 194,\n \"Agrave\": 192,\n \"Aring\": 197,\n \"Atilde\": 195,\n \"Auml\": 196,\n \"Ccedil\": 199,\n \"ETH\": 208,\n \"Eacute\": 201,\n \"Ecirc\": 202,\n \"Egrave\": 200,\n \"Euml\": 203,\n \"Iacute\": 205,\n \"Icirc\": 206,\n \"Igrave\": 204,\n \"Iuml\": 207,\n \"Ntilde\": 209,\n \"Oacute\": 211,\n \"Ocirc\": 212,\n \"Ograve\": 210,\n \"Oslash\": 216,\n \"Otilde\": 213,\n \"Ouml\": 214,\n \"THORN\": 222,\n \"Uacute\": 218,\n \"Ucirc\": 219,\n \"Ugrave\": 217,\n \"Uuml\": 220,\n \"Yacute\": 221,\n \"aacute\": 225,\n \"acirc\": 226,\n \"aelig\": 230,\n \"agrave\": 224,\n \"aring\": 229,\n \"atilde\": 227,\n \"auml\": 228,\n \"ccedil\": 231,\n \"eacute\": 233,\n \"ecirc\": 234,\n \"egrave\": 232,\n \"eth\": 240,\n \"euml\": 235,\n \"iacute\": 237,\n \"icirc\": 238,\n \"igrave\": 236,\n \"iuml\": 239,\n \"ntilde\": 241,\n \"oacute\": 243,\n \"ocirc\": 244,\n \"ograve\": 242,\n \"oslash\": 248,\n \"otilde\": 245,\n \"ouml\": 246,\n \"szlig\": 223,\n \"thorn\": 254,\n \"uacute\": 250,\n \"ucirc\": 251,\n \"ugrave\": 249,\n \"uuml\": 252,\n \"yacute\": 253,\n \"yuml\": 255,\n \"copy\": 169,\n \"reg\": 174,\n \"nbsp\": 160,\n \"iexcl\": 161,\n \"cent\": 162,\n \"pound\": 163,\n \"curren\": 164,\n \"yen\": 165,\n \"brvbar\": 166,\n \"sect\": 167,\n \"uml\": 168,\n \"ordf\": 170,\n \"laquo\": 171,\n \"not\": 172,\n \"shy\": 173,\n \"macr\": 175,\n \"deg\": 176,\n \"plusmn\": 177,\n \"sup1\": 185,\n \"sup2\": 178,\n \"sup3\": 179,\n \"acute\": 180,\n \"micro\": 181,\n \"para\": 182,\n \"middot\": 183,\n \"cedil\": 184,\n \"ordm\": 186,\n \"raquo\": 187,\n \"frac14\": 188,\n \"frac12\": 189,\n \"frac34\": 190,\n \"iquest\": 191,\n \"times\": 215,\n \"divide\": 247,\n \"OElig\": 338,\n \"oelig\": 339,\n \"Scaron\": 352,\n \"scaron\": 353,\n \"Yuml\": 376,\n \"fnof\": 402,\n \"circ\": 710,\n \"tilde\": 732,\n \"Alpha\": 913,\n \"Beta\": 914,\n \"Gamma\": 915,\n \"Delta\": 916,\n \"Epsilon\": 917,\n \"Zeta\": 918,\n \"Eta\": 919,\n \"Theta\": 920,\n \"Iota\": 921,\n \"Kappa\": 922,\n \"Lambda\": 923,\n \"Mu\": 924,\n \"Nu\": 925,\n \"Xi\": 926,\n \"Omicron\": 927,\n \"Pi\": 928,\n \"Rho\": 929,\n \"Sigma\": 931,\n \"Tau\": 932,\n \"Upsilon\": 933,\n \"Phi\": 934,\n \"Chi\": 935,\n \"Psi\": 936,\n \"Omega\": 937,\n \"alpha\": 945,\n \"beta\": 946,\n \"gamma\": 947,\n \"delta\": 948,\n \"epsilon\": 949,\n \"zeta\": 950,\n \"eta\": 951,\n \"theta\": 952,\n \"iota\": 953,\n \"kappa\": 954,\n \"lambda\": 955,\n \"mu\": 956,\n \"nu\": 957,\n \"xi\": 958,\n \"omicron\": 959,\n \"pi\": 960,\n \"rho\": 961,\n \"sigmaf\": 962,\n \"sigma\": 963,\n \"tau\": 964,\n \"upsilon\": 965,\n \"phi\": 966,\n \"chi\": 967,\n \"psi\": 968,\n \"omega\": 969,\n \"thetasym\": 977,\n \"upsih\": 978,\n \"piv\": 982,\n \"ensp\": 8194,\n \"emsp\": 8195,\n \"thinsp\": 8201,\n \"zwnj\": 8204,\n \"zwj\": 8205,\n \"lrm\": 8206,\n \"rlm\": 8207,\n \"ndash\": 8211,\n \"mdash\": 8212,\n \"lsquo\": 8216,\n \"rsquo\": 8217,\n \"sbquo\": 8218,\n \"ldquo\": 8220,\n \"rdquo\": 8221,\n \"bdquo\": 8222,\n \"dagger\": 8224,\n \"Dagger\": 8225,\n \"bull\": 8226,\n \"hellip\": 8230,\n \"permil\": 8240,\n \"prime\": 8242,\n \"Prime\": 8243,\n \"lsaquo\": 8249,\n \"rsaquo\": 8250,\n \"oline\": 8254,\n \"frasl\": 8260,\n \"euro\": 8364,\n \"image\": 8465,\n \"weierp\": 8472,\n \"real\": 8476,\n \"trade\": 8482,\n \"alefsym\": 8501,\n \"larr\": 8592,\n \"uarr\": 8593,\n \"rarr\": 8594,\n \"darr\": 8595,\n \"harr\": 8596,\n \"crarr\": 8629,\n \"lArr\": 8656,\n \"uArr\": 8657,\n \"rArr\": 8658,\n \"dArr\": 8659,\n \"hArr\": 8660,\n \"forall\": 8704,\n \"part\": 8706,\n \"exist\": 8707,\n \"empty\": 8709,\n \"nabla\": 8711,\n \"isin\": 8712,\n \"notin\": 8713,\n \"ni\": 8715,\n \"prod\": 8719,\n \"sum\": 8721,\n \"minus\": 8722,\n \"lowast\": 8727,\n \"radic\": 8730,\n \"prop\": 8733,\n \"infin\": 8734,\n \"ang\": 8736,\n \"and\": 8743,\n \"or\": 8744,\n \"cap\": 8745,\n \"cup\": 8746,\n \"int\": 8747,\n \"there4\": 8756,\n \"sim\": 8764,\n \"cong\": 8773,\n \"asymp\": 8776,\n \"ne\": 8800,\n \"equiv\": 8801,\n \"le\": 8804,\n \"ge\": 8805,\n \"sub\": 8834,\n \"sup\": 8835,\n \"nsub\": 8836,\n \"sube\": 8838,\n \"supe\": 8839,\n \"oplus\": 8853,\n \"otimes\": 8855,\n \"perp\": 8869,\n \"sdot\": 8901,\n \"lceil\": 8968,\n \"rceil\": 8969,\n \"lfloor\": 8970,\n \"rfloor\": 8971,\n \"lang\": 9001,\n \"rang\": 9002,\n \"loz\": 9674,\n \"spades\": 9824,\n \"clubs\": 9827,\n \"hearts\": 9829,\n \"diams\": 9830\n };\n Object.keys(sax2.ENTITIES).forEach(function(key) {\n var e = sax2.ENTITIES[key];\n var s2 = typeof e === \"number\" ? String.fromCharCode(e) : e;\n sax2.ENTITIES[key] = s2;\n });\n for (var s in sax2.STATE) {\n sax2.STATE[sax2.STATE[s]] = s;\n }\n S = sax2.STATE;\n function emit(parser, event, data) {\n parser[event] && parser[event](data);\n }\n function emitNode(parser, nodeType, data) {\n if (parser.textNode) closeText(parser);\n emit(parser, nodeType, data);\n }\n function closeText(parser) {\n parser.textNode = textopts(parser.opt, parser.textNode);\n if (parser.textNode) emit(parser, \"ontext\", parser.textNode);\n parser.textNode = \"\";\n }\n function textopts(opt, text) {\n if (opt.trim) text = text.trim();\n if (opt.normalize) text = text.replace(/\\s+/g, \" \");\n return text;\n }\n function error(parser, er) {\n closeText(parser);\n if (parser.trackPosition) {\n er += \"\\nLine: \" + parser.line + \"\\nColumn: \" + parser.column + \"\\nChar: \" + parser.c;\n }\n er = new Error(er);\n parser.error = er;\n emit(parser, \"onerror\", er);\n return parser;\n }\n function end(parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, \"Unclosed root tag\");\n if (parser.state !== S.BEGIN && parser.state !== S.BEGIN_WHITESPACE && parser.state !== S.TEXT) {\n error(parser, \"Unexpected end\");\n }\n closeText(parser);\n parser.c = \"\";\n parser.closed = true;\n emit(parser, \"onend\");\n SAXParser.call(parser, parser.strict, parser.opt);\n return parser;\n }\n function strictFail(parser, message) {\n if (typeof parser !== \"object\" || !(parser instanceof SAXParser)) {\n throw new Error(\"bad call to strictFail\");\n }\n if (parser.strict) {\n error(parser, message);\n }\n }\n function newTag(parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]();\n var parent = parser.tags[parser.tags.length - 1] || parser;\n var tag = parser.tag = { name: parser.tagName, attributes: {} };\n if (parser.opt.xmlns) {\n tag.ns = parent.ns;\n }\n parser.attribList.length = 0;\n emitNode(parser, \"onopentagstart\", tag);\n }\n function qname(name, attribute) {\n var i = name.indexOf(\":\");\n var qualName = i < 0 ? [\"\", name] : name.split(\":\");\n var prefix = qualName[0];\n var local = qualName[1];\n if (attribute && name === \"xmlns\") {\n prefix = \"xmlns\";\n local = \"\";\n }\n return { prefix, local };\n }\n function attrib(parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]();\n }\n if (parser.attribList.indexOf(parser.attribName) !== -1 || parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = \"\";\n return;\n }\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true);\n var prefix = qn.prefix;\n var local = qn.local;\n if (prefix === \"xmlns\") {\n if (local === \"xml\" && parser.attribValue !== XML_NAMESPACE) {\n strictFail(\n parser,\n \"xml: prefix must be bound to \" + XML_NAMESPACE + \"\\nActual: \" + parser.attribValue\n );\n } else if (local === \"xmlns\" && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(\n parser,\n \"xmlns: prefix must be bound to \" + XMLNS_NAMESPACE + \"\\nActual: \" + parser.attribValue\n );\n } else {\n var tag = parser.tag;\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns);\n }\n tag.ns[local] = parser.attribValue;\n }\n }\n parser.attribList.push([parser.attribName, parser.attribValue]);\n } else {\n parser.tag.attributes[parser.attribName] = parser.attribValue;\n emitNode(parser, \"onattribute\", {\n name: parser.attribName,\n value: parser.attribValue\n });\n }\n parser.attribName = parser.attribValue = \"\";\n }\n function openTag(parser, selfClosing) {\n if (parser.opt.xmlns) {\n var tag = parser.tag;\n var qn = qname(parser.tagName);\n tag.prefix = qn.prefix;\n tag.local = qn.local;\n tag.uri = tag.ns[qn.prefix] || \"\";\n if (tag.prefix && !tag.uri) {\n strictFail(parser, \"Unbound namespace prefix: \" + JSON.stringify(parser.tagName));\n tag.uri = qn.prefix;\n }\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function(p) {\n emitNode(parser, \"onopennamespace\", {\n prefix: p,\n uri: tag.ns[p]\n });\n });\n }\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i];\n var name = nv[0];\n var value = nv[1];\n var qualName = qname(name, true);\n var prefix = qualName.prefix;\n var local = qualName.local;\n var uri2 = prefix === \"\" ? \"\" : tag.ns[prefix] || \"\";\n var a = {\n name,\n value,\n prefix,\n local,\n uri: uri2\n };\n if (prefix && prefix !== \"xmlns\" && !uri2) {\n strictFail(parser, \"Unbound namespace prefix: \" + JSON.stringify(prefix));\n a.uri = prefix;\n }\n parser.tag.attributes[name] = a;\n emitNode(parser, \"onattribute\", a);\n }\n parser.attribList.length = 0;\n }\n parser.tag.isSelfClosing = !!selfClosing;\n parser.sawRoot = true;\n parser.tags.push(parser.tag);\n emitNode(parser, \"onopentag\", parser.tag);\n if (!selfClosing) {\n if (!parser.noscript && parser.tagName.toLowerCase() === \"script\") {\n parser.state = S.SCRIPT;\n } else {\n parser.state = S.TEXT;\n }\n parser.tag = null;\n parser.tagName = \"\";\n }\n parser.attribName = parser.attribValue = \"\";\n parser.attribList.length = 0;\n }\n function closeTag(parser) {\n if (!parser.tagName) {\n strictFail(parser, \"Weird empty close tag.\");\n parser.textNode += \"</>\";\n parser.state = S.TEXT;\n return;\n }\n if (parser.script) {\n if (parser.tagName !== \"script\") {\n parser.script += \"</\" + parser.tagName + \">\";\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n return;\n }\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n var t = parser.tags.length;\n var tagName = parser.tagName;\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]();\n }\n var closeTo = tagName;\n while (t--) {\n var close = parser.tags[t];\n if (close.name !== closeTo) {\n strictFail(parser, \"Unexpected close tag\");\n } else {\n break;\n }\n }\n if (t < 0) {\n strictFail(parser, \"Unmatched closing tag: \" + parser.tagName);\n parser.textNode += \"</\" + parser.tagName + \">\";\n parser.state = S.TEXT;\n return;\n }\n parser.tagName = tagName;\n var s2 = parser.tags.length;\n while (s2-- > t) {\n var tag = parser.tag = parser.tags.pop();\n parser.tagName = parser.tag.name;\n emitNode(parser, \"onclosetag\", parser.tagName);\n var x = {};\n for (var i in tag.ns) {\n x[i] = tag.ns[i];\n }\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n Object.keys(tag.ns).forEach(function(p) {\n var n = tag.ns[p];\n emitNode(parser, \"onclosenamespace\", { prefix: p, uri: n });\n });\n }\n }\n if (t === 0) parser.closedRoot = true;\n parser.tagName = parser.attribValue = parser.attribName = \"\";\n parser.attribList.length = 0;\n parser.state = S.TEXT;\n }\n function parseEntity(parser) {\n var entity = parser.entity;\n var entityLC = entity.toLowerCase();\n var num;\n var numStr = \"\";\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity];\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC];\n }\n entity = entityLC;\n if (entity.charAt(0) === \"#\") {\n if (entity.charAt(1) === \"x\") {\n entity = entity.slice(2);\n num = parseInt(entity, 16);\n numStr = num.toString(16);\n } else {\n entity = entity.slice(1);\n num = parseInt(entity, 10);\n numStr = num.toString(10);\n }\n }\n entity = entity.replace(/^0+/, \"\");\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, \"Invalid character entity\");\n return \"&\" + parser.entity + \";\";\n }\n return String.fromCodePoint(num);\n }\n function beginWhiteSpace(parser, c) {\n if (c === \"<\") {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else if (!isWhitespace(c)) {\n strictFail(parser, \"Non-whitespace before first tag.\");\n parser.textNode = c;\n parser.state = S.TEXT;\n }\n }\n function charAt(chunk, i) {\n var result = \"\";\n if (i < chunk.length) {\n result = chunk.charAt(i);\n }\n return result;\n }\n function write(chunk) {\n var parser = this;\n if (this.error) {\n throw this.error;\n }\n if (parser.closed) {\n return error(\n parser,\n \"Cannot write after close. Assign an onready handler.\"\n );\n }\n if (chunk === null) {\n return end(parser);\n }\n if (typeof chunk === \"object\") {\n chunk = chunk.toString();\n }\n var i = 0;\n var c = \"\";\n while (true) {\n c = charAt(chunk, i++);\n parser.c = c;\n if (!c) {\n break;\n }\n if (parser.trackPosition) {\n parser.position++;\n if (c === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE;\n if (c === \"\\uFEFF\") {\n continue;\n }\n beginWhiteSpace(parser, c);\n continue;\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c);\n continue;\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1;\n while (c && c !== \"<\" && c !== \"&\") {\n c = charAt(chunk, i++);\n if (c && parser.trackPosition) {\n parser.position++;\n if (c === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1);\n }\n if (c === \"<\" && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, \"Text data outside of root node.\");\n }\n if (c === \"&\") {\n parser.state = S.TEXT_ENTITY;\n } else {\n parser.textNode += c;\n }\n }\n continue;\n case S.SCRIPT:\n if (c === \"<\") {\n parser.state = S.SCRIPT_ENDING;\n } else {\n parser.script += c;\n }\n continue;\n case S.SCRIPT_ENDING:\n if (c === \"/\") {\n parser.state = S.CLOSE_TAG;\n } else {\n parser.script += \"<\" + c;\n parser.state = S.SCRIPT;\n }\n continue;\n case S.OPEN_WAKA:\n if (c === \"!\") {\n parser.state = S.SGML_DECL;\n parser.sgmlDecl = \"\";\n } else if (isWhitespace(c)) ;\n else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG;\n parser.tagName = c;\n } else if (c === \"/\") {\n parser.state = S.CLOSE_TAG;\n parser.tagName = \"\";\n } else if (c === \"?\") {\n parser.state = S.PROC_INST;\n parser.procInstName = parser.procInstBody = \"\";\n } else {\n strictFail(parser, \"Unencoded <\");\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition;\n c = new Array(pad).join(\" \") + c;\n }\n parser.textNode += \"<\" + c;\n parser.state = S.TEXT;\n }\n continue;\n case S.SGML_DECL:\n if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, \"onopencdata\");\n parser.state = S.CDATA;\n parser.sgmlDecl = \"\";\n parser.cdata = \"\";\n } else if (parser.sgmlDecl + c === \"--\") {\n parser.state = S.COMMENT;\n parser.comment = \"\";\n parser.sgmlDecl = \"\";\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE;\n if (parser.doctype || parser.sawRoot) {\n strictFail(\n parser,\n \"Inappropriately located doctype declaration\"\n );\n }\n parser.doctype = \"\";\n parser.sgmlDecl = \"\";\n } else if (c === \">\") {\n emitNode(parser, \"onsgmldeclaration\", parser.sgmlDecl);\n parser.sgmlDecl = \"\";\n parser.state = S.TEXT;\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED;\n parser.sgmlDecl += c;\n } else {\n parser.sgmlDecl += c;\n }\n continue;\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL;\n parser.q = \"\";\n }\n parser.sgmlDecl += c;\n continue;\n case S.DOCTYPE:\n if (c === \">\") {\n parser.state = S.TEXT;\n emitNode(parser, \"ondoctype\", parser.doctype);\n parser.doctype = true;\n } else {\n parser.doctype += c;\n if (c === \"[\") {\n parser.state = S.DOCTYPE_DTD;\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED;\n parser.q = c;\n }\n }\n continue;\n case S.DOCTYPE_QUOTED:\n parser.doctype += c;\n if (c === parser.q) {\n parser.q = \"\";\n parser.state = S.DOCTYPE;\n }\n continue;\n case S.DOCTYPE_DTD:\n parser.doctype += c;\n if (c === \"]\") {\n parser.state = S.DOCTYPE;\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_DTD_QUOTED;\n parser.q = c;\n }\n continue;\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c;\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD;\n parser.q = \"\";\n }\n continue;\n case S.COMMENT:\n if (c === \"-\") {\n parser.state = S.COMMENT_ENDING;\n } else {\n parser.comment += c;\n }\n continue;\n case S.COMMENT_ENDING:\n if (c === \"-\") {\n parser.state = S.COMMENT_ENDED;\n parser.comment = textopts(parser.opt, parser.comment);\n if (parser.comment) {\n emitNode(parser, \"oncomment\", parser.comment);\n }\n parser.comment = \"\";\n } else {\n parser.comment += \"-\" + c;\n parser.state = S.COMMENT;\n }\n continue;\n case S.COMMENT_ENDED:\n if (c !== \">\") {\n strictFail(parser, \"Malformed comment\");\n parser.comment += \"--\" + c;\n parser.state = S.COMMENT;\n } else {\n parser.state = S.TEXT;\n }\n continue;\n case S.CDATA:\n if (c === \"]\") {\n parser.state = S.CDATA_ENDING;\n } else {\n parser.cdata += c;\n }\n continue;\n case S.CDATA_ENDING:\n if (c === \"]\") {\n parser.state = S.CDATA_ENDING_2;\n } else {\n parser.cdata += \"]\" + c;\n parser.state = S.CDATA;\n }\n continue;\n case S.CDATA_ENDING_2:\n if (c === \">\") {\n if (parser.cdata) {\n emitNode(parser, \"oncdata\", parser.cdata);\n }\n emitNode(parser, \"onclosecdata\");\n parser.cdata = \"\";\n parser.state = S.TEXT;\n } else if (c === \"]\") {\n parser.cdata += \"]\";\n } else {\n parser.cdata += \"]]\" + c;\n parser.state = S.CDATA;\n }\n continue;\n case S.PROC_INST:\n if (c === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY;\n } else {\n parser.procInstName += c;\n }\n continue;\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue;\n } else if (c === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else {\n parser.procInstBody += c;\n }\n continue;\n case S.PROC_INST_ENDING:\n if (c === \">\") {\n emitNode(parser, \"onprocessinginstruction\", {\n name: parser.procInstName,\n body: parser.procInstBody\n });\n parser.procInstName = parser.procInstBody = \"\";\n parser.state = S.TEXT;\n } else {\n parser.procInstBody += \"?\" + c;\n parser.state = S.PROC_INST_BODY;\n }\n continue;\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c;\n } else {\n newTag(parser);\n if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, \"Invalid character in tag name\");\n }\n parser.state = S.ATTRIB;\n }\n }\n continue;\n case S.OPEN_TAG_SLASH:\n if (c === \">\") {\n openTag(parser, true);\n closeTag(parser);\n } else {\n strictFail(parser, \"Forward-slash in opening tag not followed by >\");\n parser.state = S.ATTRIB;\n }\n continue;\n case S.ATTRIB:\n if (isWhitespace(c)) {\n continue;\n } else if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c;\n parser.attribValue = \"\";\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n case S.ATTRIB_NAME:\n if (c === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (c === \">\") {\n strictFail(parser, \"Attribute without value\");\n parser.attribValue = parser.attribName;\n attrib(parser);\n openTag(parser);\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE;\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (isWhitespace(c)) {\n continue;\n } else {\n strictFail(parser, \"Attribute without value\");\n parser.tag.attributes[parser.attribName] = \"\";\n parser.attribValue = \"\";\n emitNode(parser, \"onattribute\", {\n name: parser.attribName,\n value: \"\"\n });\n parser.attribName = \"\";\n if (c === \">\") {\n openTag(parser);\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c;\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n parser.state = S.ATTRIB;\n }\n }\n continue;\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue;\n } else if (isQuote(c)) {\n parser.q = c;\n parser.state = S.ATTRIB_VALUE_QUOTED;\n } else {\n strictFail(parser, \"Unquoted attribute value\");\n parser.state = S.ATTRIB_VALUE_UNQUOTED;\n parser.attribValue = c;\n }\n continue;\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q;\n } else {\n parser.attribValue += c;\n }\n continue;\n }\n attrib(parser);\n parser.q = \"\";\n parser.state = S.ATTRIB_VALUE_CLOSED;\n continue;\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB;\n } else if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, \"No whitespace between attributes\");\n parser.attribName = c;\n parser.attribValue = \"\";\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_U;\n } else {\n parser.attribValue += c;\n }\n continue;\n }\n attrib(parser);\n if (c === \">\") {\n openTag(parser);\n } else {\n parser.state = S.ATTRIB;\n }\n continue;\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue;\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += \"</\" + c;\n parser.state = S.SCRIPT;\n } else {\n strictFail(parser, \"Invalid tagname in closing tag.\");\n }\n } else {\n parser.tagName = c;\n }\n } else if (c === \">\") {\n closeTag(parser);\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c;\n } else if (parser.script) {\n parser.script += \"</\" + parser.tagName;\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, \"Invalid tagname in closing tag\");\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE;\n }\n continue;\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue;\n }\n if (c === \">\") {\n closeTag(parser);\n } else {\n strictFail(parser, \"Invalid characters in closing tag\");\n }\n continue;\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState;\n var buffer2;\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT;\n buffer2 = \"textNode\";\n break;\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED;\n buffer2 = \"attribValue\";\n break;\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED;\n buffer2 = \"attribValue\";\n break;\n }\n if (c === \";\") {\n parser[buffer2] += parseEntity(parser);\n parser.entity = \"\";\n parser.state = returnState;\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c;\n } else {\n strictFail(parser, \"Invalid character in entity name\");\n parser[buffer2] += \"&\" + parser.entity + c;\n parser.entity = \"\";\n parser.state = returnState;\n }\n continue;\n default:\n throw new Error(parser, \"Unknown state: \" + parser.state);\n }\n }\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser);\n }\n return parser;\n }\n if (!String.fromCodePoint) {\n (function() {\n var stringFromCharCode = String.fromCharCode;\n var floor2 = Math.floor;\n var fromCodePoint = function() {\n var MAX_SIZE = 16384;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return \"\";\n }\n var result = \"\";\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 1114111 || // not a valid Unicode code point\n floor2(codePoint) !== codePoint) {\n throw RangeError(\"Invalid code point: \" + codePoint);\n }\n if (codePoint <= 65535) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 65536;\n highSurrogate = (codePoint >> 10) + 55296;\n lowSurrogate = codePoint % 1024 + 56320;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n if (Object.defineProperty) {\n Object.defineProperty(String, \"fromCodePoint\", {\n value: fromCodePoint,\n configurable: true,\n writable: true\n });\n } else {\n String.fromCodePoint = fromCodePoint;\n }\n })();\n }\n })(exports$1);\n })(sax);\n return sax;\n}\nvar arrayHelper;\nvar hasRequiredArrayHelper;\nfunction requireArrayHelper() {\n if (hasRequiredArrayHelper) return arrayHelper;\n hasRequiredArrayHelper = 1;\n arrayHelper = {\n isArray: function(value) {\n if (Array.isArray) {\n return Array.isArray(value);\n }\n return Object.prototype.toString.call(value) === \"[object Array]\";\n }\n };\n return arrayHelper;\n}\nvar optionsHelper;\nvar hasRequiredOptionsHelper;\nfunction requireOptionsHelper() {\n if (hasRequiredOptionsHelper) return optionsHelper;\n hasRequiredOptionsHelper = 1;\n var isArray = requireArrayHelper().isArray;\n optionsHelper = {\n copyOptions: function(options) {\n var key, copy = {};\n for (key in options) {\n if (options.hasOwnProperty(key)) {\n copy[key] = options[key];\n }\n }\n return copy;\n },\n ensureFlagExists: function(item, options) {\n if (!(item in options) || typeof options[item] !== \"boolean\") {\n options[item] = false;\n }\n },\n ensureSpacesExists: function(options) {\n if (!(\"spaces\" in options) || typeof options.spaces !== \"number\" && typeof options.spaces !== \"string\") {\n options.spaces = 0;\n }\n },\n ensureAlwaysArrayExists: function(options) {\n if (!(\"alwaysArray\" in options) || typeof options.alwaysArray !== \"boolean\" && !isArray(options.alwaysArray)) {\n options.alwaysArray = false;\n }\n },\n ensureKeyExists: function(key, options) {\n if (!(key + \"Key\" in options) || typeof options[key + \"Key\"] !== \"string\") {\n options[key + \"Key\"] = options.compact ? \"_\" + key : key;\n }\n },\n checkFnExists: function(key, options) {\n return key + \"Fn\" in options;\n }\n };\n return optionsHelper;\n}\nvar xml2js;\nvar hasRequiredXml2js;\nfunction requireXml2js() {\n if (hasRequiredXml2js) return xml2js;\n hasRequiredXml2js = 1;\n var sax2 = requireSax();\n var helper = requireOptionsHelper();\n var isArray = requireArrayHelper().isArray;\n var options;\n var currentElement;\n function validateOptions(userOptions) {\n options = helper.copyOptions(userOptions);\n helper.ensureFlagExists(\"ignoreDeclaration\", options);\n helper.ensureFlagExists(\"ignoreInstruction\", options);\n helper.ensureFlagExists(\"ignoreAttributes\", options);\n helper.ensureFlagExists(\"ignoreText\", options);\n helper.ensureFlagExists(\"ignoreComment\", options);\n helper.ensureFlagExists(\"ignoreCdata\", options);\n helper.ensureFlagExists(\"ignoreDoctype\", options);\n helper.ensureFlagExists(\"compact\", options);\n helper.ensureFlagExists(\"alwaysChildren\", options);\n helper.ensureFlagExists(\"addParent\", options);\n helper.ensureFlagExists(\"trim\", options);\n helper.ensureFlagExists(\"nativeType\", options);\n helper.ensureFlagExists(\"nativeTypeAttributes\", options);\n helper.ensureFlagExists(\"sanitize\", options);\n helper.ensureFlagExists(\"instructionHasAttributes\", options);\n helper.ensureFlagExists(\"captureSpacesBetweenElements\", options);\n helper.ensureAlwaysArrayExists(options);\n helper.ensureKeyExists(\"declaration\", options);\n helper.ensureKeyExists(\"instruction\", options);\n helper.ensureKeyExists(\"attributes\", options);\n helper.ensureKeyExists(\"text\", options);\n helper.ensureKeyExists(\"comment\", options);\n helper.ensureKeyExists(\"cdata\", options);\n helper.ensureKeyExists(\"doctype\", options);\n helper.ensureKeyExists(\"type\", options);\n helper.ensureKeyExists(\"name\", options);\n helper.ensureKeyExists(\"elements\", options);\n helper.ensureKeyExists(\"parent\", options);\n helper.checkFnExists(\"doctype\", options);\n helper.checkFnExists(\"instruction\", options);\n helper.checkFnExists(\"cdata\", options);\n helper.checkFnExists(\"comment\", options);\n helper.checkFnExists(\"text\", options);\n helper.checkFnExists(\"instructionName\", options);\n helper.checkFnExists(\"elementName\", options);\n helper.checkFnExists(\"attributeName\", options);\n helper.checkFnExists(\"attributeValue\", options);\n helper.checkFnExists(\"attributes\", options);\n return options;\n }\n function nativeType(value) {\n var nValue = Number(value);\n if (!isNaN(nValue)) {\n return nValue;\n }\n var bValue = value.toLowerCase();\n if (bValue === \"true\") {\n return true;\n } else if (bValue === \"false\") {\n return false;\n }\n return value;\n }\n function addField(type2, value) {\n var key;\n if (options.compact) {\n if (!currentElement[options[type2 + \"Key\"]] && (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(options[type2 + \"Key\"]) !== -1 : options.alwaysArray)) {\n currentElement[options[type2 + \"Key\"]] = [];\n }\n if (currentElement[options[type2 + \"Key\"]] && !isArray(currentElement[options[type2 + \"Key\"]])) {\n currentElement[options[type2 + \"Key\"]] = [currentElement[options[type2 + \"Key\"]]];\n }\n if (type2 + \"Fn\" in options && typeof value === \"string\") {\n value = options[type2 + \"Fn\"](value, currentElement);\n }\n if (type2 === \"instruction\" && (\"instructionFn\" in options || \"instructionNameFn\" in options)) {\n for (key in value) {\n if (value.hasOwnProperty(key)) {\n if (\"instructionFn\" in options) {\n value[key] = options.instructionFn(value[key], key, currentElement);\n } else {\n var temp = value[key];\n delete value[key];\n value[options.instructionNameFn(key, temp, currentElement)] = temp;\n }\n }\n }\n }\n if (isArray(currentElement[options[type2 + \"Key\"]])) {\n currentElement[options[type2 + \"Key\"]].push(value);\n } else {\n currentElement[options[type2 + \"Key\"]] = value;\n }\n } else {\n if (!currentElement[options.elementsKey]) {\n currentElement[options.elementsKey] = [];\n }\n var element = {};\n element[options.typeKey] = type2;\n if (type2 === \"instruction\") {\n for (key in value) {\n if (value.hasOwnProperty(key)) {\n break;\n }\n }\n element[options.nameKey] = \"instructionNameFn\" in options ? options.instructionNameFn(key, value, currentElement) : key;\n if (options.instructionHasAttributes) {\n element[options.attributesKey] = value[key][options.attributesKey];\n if (\"instructionFn\" in options) {\n element[options.attributesKey] = options.instructionFn(element[options.attributesKey], key, currentElement);\n }\n } else {\n if (\"instructionFn\" in options) {\n value[key] = options.instructionFn(value[key], key, currentElement);\n }\n element[options.instructionKey] = value[key];\n }\n } else {\n if (type2 + \"Fn\" in options) {\n value = options[type2 + \"Fn\"](value, currentElement);\n }\n element[options[type2 + \"Key\"]] = value;\n }\n if (options.addParent) {\n element[options.parentKey] = currentElement;\n }\n currentElement[options.elementsKey].push(element);\n }\n }\n function manipulateAttributes(attributes) {\n if (\"attributesFn\" in options && attributes) {\n attributes = options.attributesFn(attributes, currentElement);\n }\n if ((options.trim || \"attributeValueFn\" in options || \"attributeNameFn\" in options || options.nativeTypeAttributes) && attributes) {\n var key;\n for (key in attributes) {\n if (attributes.hasOwnProperty(key)) {\n if (options.trim) attributes[key] = attributes[key].trim();\n if (options.nativeTypeAttributes) {\n attributes[key] = nativeType(attributes[key]);\n }\n if (\"attributeValueFn\" in options) attributes[key] = options.attributeValueFn(attributes[key], key, currentElement);\n if (\"attributeNameFn\" in options) {\n var temp = attributes[key];\n delete attributes[key];\n attributes[options.attributeNameFn(key, attributes[key], currentElement)] = temp;\n }\n }\n }\n }\n return attributes;\n }\n function onInstruction(instruction) {\n var attributes = {};\n if (instruction.body && (instruction.name.toLowerCase() === \"xml\" || options.instructionHasAttributes)) {\n var attrsRegExp = /([\\w:-]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|(\\w+))\\s*/g;\n var match;\n while ((match = attrsRegExp.exec(instruction.body)) !== null) {\n attributes[match[1]] = match[2] || match[3] || match[4];\n }\n attributes = manipulateAttributes(attributes);\n }\n if (instruction.name.toLowerCase() === \"xml\") {\n if (options.ignoreDeclaration) {\n return;\n }\n currentElement[options.declarationKey] = {};\n if (Object.keys(attributes).length) {\n currentElement[options.declarationKey][options.attributesKey] = attributes;\n }\n if (options.addParent) {\n currentElement[options.declarationKey][options.parentKey] = currentElement;\n }\n } else {\n if (options.ignoreInstruction) {\n return;\n }\n if (options.trim) {\n instruction.body = instruction.body.trim();\n }\n var value = {};\n if (options.instructionHasAttributes && Object.keys(attributes).length) {\n value[instruction.name] = {};\n value[instruction.name][options.attributesKey] = attributes;\n } else {\n value[instruction.name] = instruction.body;\n }\n addField(\"instruction\", value);\n }\n }\n function onStartElement(name, attributes) {\n var element;\n if (typeof name === \"object\") {\n attributes = name.attributes;\n name = name.name;\n }\n attributes = manipulateAttributes(attributes);\n if (\"elementNameFn\" in options) {\n name = options.elementNameFn(name, currentElement);\n }\n if (options.compact) {\n element = {};\n if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {\n element[options.attributesKey] = {};\n var key;\n for (key in attributes) {\n if (attributes.hasOwnProperty(key)) {\n element[options.attributesKey][key] = attributes[key];\n }\n }\n }\n if (!(name in currentElement) && (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(name) !== -1 : options.alwaysArray)) {\n currentElement[name] = [];\n }\n if (currentElement[name] && !isArray(currentElement[name])) {\n currentElement[name] = [currentElement[name]];\n }\n if (isArray(currentElement[name])) {\n currentElement[name].push(element);\n } else {\n currentElement[name] = element;\n }\n } else {\n if (!currentElement[options.elementsKey]) {\n currentElement[options.elementsKey] = [];\n }\n element = {};\n element[options.typeKey] = \"element\";\n element[options.nameKey] = name;\n if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {\n element[options.attributesKey] = attributes;\n }\n if (options.alwaysChildren) {\n element[options.elementsKey] = [];\n }\n currentElement[options.elementsKey].push(element);\n }\n element[options.parentKey] = currentElement;\n currentElement = element;\n }\n function onText(text) {\n if (options.ignoreText) {\n return;\n }\n if (!text.trim() && !options.captureSpacesBetweenElements) {\n return;\n }\n if (options.trim) {\n text = text.trim();\n }\n if (options.nativeType) {\n text = nativeType(text);\n }\n if (options.sanitize) {\n text = text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n }\n addField(\"text\", text);\n }\n function onComment(comment) {\n if (options.ignoreComment) {\n return;\n }\n if (options.trim) {\n comment = comment.trim();\n }\n addField(\"comment\", comment);\n }\n function onEndElement(name) {\n var parentElement = currentElement[options.parentKey];\n if (!options.addParent) {\n delete currentElement[options.parentKey];\n }\n currentElement = parentElement;\n }\n function onCdata(cdata) {\n if (options.ignoreCdata) {\n return;\n }\n if (options.trim) {\n cdata = cdata.trim();\n }\n addField(\"cdata\", cdata);\n }\n function onDoctype(doctype) {\n if (options.ignoreDoctype) {\n return;\n }\n doctype = doctype.replace(/^ /, \"\");\n if (options.trim) {\n doctype = doctype.trim();\n }\n addField(\"doctype\", doctype);\n }\n function onError(error) {\n error.note = error;\n }\n xml2js = function(xml2, userOptions) {\n var parser = sax2.parser(true, {});\n var result = {};\n currentElement = result;\n options = validateOptions(userOptions);\n {\n parser.opt = { strictEntities: true };\n parser.onopentag = onStartElement;\n parser.ontext = onText;\n parser.oncomment = onComment;\n parser.onclosetag = onEndElement;\n parser.onerror = onError;\n parser.oncdata = onCdata;\n parser.ondoctype = onDoctype;\n parser.onprocessinginstruction = onInstruction;\n }\n {\n parser.write(xml2).close();\n }\n if (result[options.elementsKey]) {\n var temp = result[options.elementsKey];\n delete result[options.elementsKey];\n result[options.elementsKey] = temp;\n delete result.text;\n }\n return result;\n };\n return xml2js;\n}\nvar xml2json;\nvar hasRequiredXml2json;\nfunction requireXml2json() {\n if (hasRequiredXml2json) return xml2json;\n hasRequiredXml2json = 1;\n var helper = requireOptionsHelper();\n var xml2js2 = requireXml2js();\n function validateOptions(userOptions) {\n var options = helper.copyOptions(userOptions);\n helper.ensureSpacesExists(options);\n return options;\n }\n xml2json = function(xml2, userOptions) {\n var options, js, json, parentKey;\n options = validateOptions(userOptions);\n js = xml2js2(xml2, options);\n parentKey = \"compact\" in options && options.compact ? \"_parent\" : \"parent\";\n if (\"addParent\" in options && options.addParent) {\n json = JSON.stringify(js, function(k, v) {\n return k === parentKey ? \"_\" : v;\n }, options.spaces);\n } else {\n json = JSON.stringify(js, null, options.spaces);\n }\n return json.replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\");\n };\n return xml2json;\n}\nvar js2xml;\nvar hasRequiredJs2xml;\nfunction requireJs2xml() {\n if (hasRequiredJs2xml) return js2xml;\n hasRequiredJs2xml = 1;\n var helper = requireOptionsHelper();\n var isArray = requireArrayHelper().isArray;\n var currentElement, currentElementName;\n function validateOptions(userOptions) {\n var options = helper.copyOptions(userOptions);\n helper.ensureFlagExists(\"ignoreDeclaration\", options);\n helper.ensureFlagExists(\"ignoreInstruction\", options);\n helper.ensureFlagExists(\"ignoreAttributes\", options);\n helper.ensureFlagExists(\"ignoreText\", options);\n helper.ensureFlagExists(\"ignoreComment\", options);\n helper.ensureFlagExists(\"ignoreCdata\", options);\n helper.ensureFlagExists(\"ignoreDoctype\", options);\n helper.ensureFlagExists(\"compact\", options);\n helper.ensureFlagExists(\"indentText\", options);\n helper.ensureFlagExists(\"indentCdata\", options);\n helper.ensureFlagExists(\"indentAttributes\", options);\n helper.ensureFlagExists(\"indentInstruction\", options);\n helper.ensureFlagExists(\"fullTagEmptyElement\", options);\n helper.ensureFlagExists(\"noQuotesForNativeAttributes\", options);\n helper.ensureSpacesExists(options);\n if (typeof options.spaces === \"number\") {\n options.spaces = Array(options.spaces + 1).join(\" \");\n }\n helper.ensureKeyExists(\"declaration\", options);\n helper.ensureKeyExists(\"instruction\", options);\n helper.ensureKeyExists(\"attributes\", options);\n helper.ensureKeyExists(\"text\", options);\n helper.ensureKeyExists(\"comment\", options);\n helper.ensureKeyExists(\"cdata\", options);\n helper.ensureKeyExists(\"doctype\", options);\n helper.ensureKeyExists(\"type\", options);\n helper.ensureKeyExists(\"name\", options);\n helper.ensureKeyExists(\"elements\", options);\n helper.checkFnExists(\"doctype\", options);\n helper.checkFnExists(\"instruction\", options);\n helper.checkFnExists(\"cdata\", options);\n helper.checkFnExists(\"comment\", options);\n helper.checkFnExists(\"text\", options);\n helper.checkFnExists(\"instructionName\", options);\n helper.checkFnExists(\"elementName\", options);\n helper.checkFnExists(\"attributeName\", options);\n helper.checkFnExists(\"attributeValue\", options);\n helper.checkFnExists(\"attributes\", options);\n helper.checkFnExists(\"fullTagEmptyElement\", options);\n return options;\n }\n function writeIndentation(options, depth, firstLine) {\n return (!firstLine && options.spaces ? \"\\n\" : \"\") + Array(depth + 1).join(options.spaces);\n }\n function writeAttributes(attributes, options, depth) {\n if (options.ignoreAttributes) {\n return \"\";\n }\n if (\"attributesFn\" in options) {\n attributes = options.attributesFn(attributes, currentElementName, currentElement);\n }\n var key, attr, attrName, quote, result = [];\n for (key in attributes) {\n if (attributes.hasOwnProperty(key) && attributes[key] !== null && attributes[key] !== void 0) {\n quote = options.noQuotesForNativeAttributes && typeof attributes[key] !== \"string\" ? \"\" : '\"';\n attr = \"\" + attributes[key];\n attr = attr.replace(/\"/g, \"&quot;\");\n attrName = \"attributeNameFn\" in options ? options.attributeNameFn(key, attr, currentElementName, currentElement) : key;\n result.push(options.spaces && options.indentAttributes ? writeIndentation(options, depth + 1, false) : \" \");\n result.push(attrName + \"=\" + quote + (\"attributeValueFn\" in options ? options.attributeValueFn(attr, key, currentElementName, currentElement) : attr) + quote);\n }\n }\n if (attributes && Object.keys(attributes).length && options.spaces && options.indentAttributes) {\n result.push(writeIndentation(options, depth, false));\n }\n return result.join(\"\");\n }\n function writeDeclaration(declaration, options, depth) {\n currentElement = declaration;\n currentElementName = \"xml\";\n return options.ignoreDeclaration ? \"\" : \"<?xml\" + writeAttributes(declaration[options.attributesKey], options, depth) + \"?>\";\n }\n function writeInstruction(instruction, options, depth) {\n if (options.ignoreInstruction) {\n return \"\";\n }\n var key;\n for (key in instruction) {\n if (instruction.hasOwnProperty(key)) {\n break;\n }\n }\n var instructionName = \"instructionNameFn\" in options ? options.instructionNameFn(key, instruction[key], currentElementName, currentElement) : key;\n if (typeof instruction[key] === \"object\") {\n currentElement = instruction;\n currentElementName = instructionName;\n return \"<?\" + instructionName + writeAttributes(instruction[key][options.attributesKey], options, depth) + \"?>\";\n } else {\n var instructionValue = instruction[key] ? instruction[key] : \"\";\n if (\"instructionFn\" in options) instructionValue = options.instructionFn(instructionValue, key, currentElementName, currentElement);\n return \"<?\" + instructionName + (instructionValue ? \" \" + instructionValue : \"\") + \"?>\";\n }\n }\n function writeComment(comment, options) {\n return options.ignoreComment ? \"\" : \"<!--\" + (\"commentFn\" in options ? options.commentFn(comment, currentElementName, currentElement) : comment) + \"-->\";\n }\n function writeCdata(cdata, options) {\n return options.ignoreCdata ? \"\" : \"<![CDATA[\" + (\"cdataFn\" in options ? options.cdataFn(cdata, currentElementName, currentElement) : cdata.replace(\"]]>\", \"]]]]><![CDATA[>\")) + \"]]>\";\n }\n function writeDoctype(doctype, options) {\n return options.ignoreDoctype ? \"\" : \"<!DOCTYPE \" + (\"doctypeFn\" in options ? options.doctypeFn(doctype, currentElementName, currentElement) : doctype) + \">\";\n }\n function writeText(text, options) {\n if (options.ignoreText) return \"\";\n text = \"\" + text;\n text = text.replace(/&amp;/g, \"&\");\n text = text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n return \"textFn\" in options ? options.textFn(text, currentElementName, currentElement) : text;\n }\n function hasContent(element, options) {\n var i;\n if (element.elements && element.elements.length) {\n for (i = 0; i < element.elements.length; ++i) {\n switch (element.elements[i][options.typeKey]) {\n case \"text\":\n if (options.indentText) {\n return true;\n }\n break;\n // skip to next key\n case \"cdata\":\n if (options.indentCdata) {\n return true;\n }\n break;\n // skip to next key\n case \"instruction\":\n if (options.indentInstruction) {\n return true;\n }\n break;\n // skip to next key\n case \"doctype\":\n case \"comment\":\n case \"element\":\n return true;\n default:\n return true;\n }\n }\n }\n return false;\n }\n function writeElement(element, options, depth) {\n currentElement = element;\n currentElementName = element.name;\n var xml2 = [], elementName = \"elementNameFn\" in options ? options.elementNameFn(element.name, element) : element.name;\n xml2.push(\"<\" + elementName);\n if (element[options.attributesKey]) {\n xml2.push(writeAttributes(element[options.attributesKey], options, depth));\n }\n var withClosingTag = element[options.elementsKey] && element[options.elementsKey].length || element[options.attributesKey] && element[options.attributesKey][\"xml:space\"] === \"preserve\";\n if (!withClosingTag) {\n if (\"fullTagEmptyElementFn\" in options) {\n withClosingTag = options.fullTagEmptyElementFn(element.name, element);\n } else {\n withClosingTag = options.fullTagEmptyElement;\n }\n }\n if (withClosingTag) {\n xml2.push(\">\");\n if (element[options.elementsKey] && element[options.elementsKey].length) {\n xml2.push(writeElements(element[options.elementsKey], options, depth + 1));\n currentElement = element;\n currentElementName = element.name;\n }\n xml2.push(options.spaces && hasContent(element, options) ? \"\\n\" + Array(depth + 1).join(options.spaces) : \"\");\n xml2.push(\"</\" + elementName + \">\");\n } else {\n xml2.push(\"/>\");\n }\n return xml2.join(\"\");\n }\n function writeElements(elements, options, depth, firstLine) {\n return elements.reduce(function(xml2, element) {\n var indent = writeIndentation(options, depth, firstLine && !xml2);\n switch (element.type) {\n case \"element\":\n return xml2 + indent + writeElement(element, options, depth);\n case \"comment\":\n return xml2 + indent + writeComment(element[options.commentKey], options);\n case \"doctype\":\n return xml2 + indent + writeDoctype(element[options.doctypeKey], options);\n case \"cdata\":\n return xml2 + (options.indentCdata ? indent : \"\") + writeCdata(element[options.cdataKey], options);\n case \"text\":\n return xml2 + (options.indentText ? indent : \"\") + writeText(element[options.textKey], options);\n case \"instruction\":\n var instruction = {};\n instruction[element[options.nameKey]] = element[options.attributesKey] ? element : element[options.instructionKey];\n return xml2 + (options.indentInstruction ? indent : \"\") + writeInstruction(instruction, options, depth);\n }\n }, \"\");\n }\n function hasContentCompact(element, options, anyContent) {\n var key;\n for (key in element) {\n if (element.hasOwnProperty(key)) {\n switch (key) {\n case options.parentKey:\n case options.attributesKey:\n break;\n // skip to next key\n case options.textKey:\n if (options.indentText || anyContent) {\n return true;\n }\n break;\n // skip to next key\n case options.cdataKey:\n if (options.indentCdata || anyContent) {\n return true;\n }\n break;\n // skip to next key\n case options.instructionKey:\n if (options.indentInstruction || anyContent) {\n return true;\n }\n break;\n // skip to next key\n case options.doctypeKey:\n case options.commentKey:\n return true;\n default:\n return true;\n }\n }\n }\n return false;\n }\n function writeElementCompact(element, name, options, depth, indent) {\n currentElement = element;\n currentElementName = name;\n var elementName = \"elementNameFn\" in options ? options.elementNameFn(name, element) : name;\n if (typeof element === \"undefined\" || element === null || element === \"\") {\n return \"fullTagEmptyElementFn\" in options && options.fullTagEmptyElementFn(name, element) || options.fullTagEmptyElement ? \"<\" + elementName + \"></\" + elementName + \">\" : \"<\" + elementName + \"/>\";\n }\n var xml2 = [];\n if (name) {\n xml2.push(\"<\" + elementName);\n if (typeof element !== \"object\") {\n xml2.push(\">\" + writeText(element, options) + \"</\" + elementName + \">\");\n return xml2.join(\"\");\n }\n if (element[options.attributesKey]) {\n xml2.push(writeAttributes(element[options.attributesKey], options, depth));\n }\n var withClosingTag = hasContentCompact(element, options, true) || element[options.attributesKey] && element[options.attributesKey][\"xml:space\"] === \"preserve\";\n if (!withClosingTag) {\n if (\"fullTagEmptyElementFn\" in options) {\n withClosingTag = options.fullTagEmptyElementFn(name, element);\n } else {\n withClosingTag = options.fullTagEmptyElement;\n }\n }\n if (withClosingTag) {\n xml2.push(\">\");\n } else {\n xml2.push(\"/>\");\n return xml2.join(\"\");\n }\n }\n xml2.push(writeElementsCompact(element, options, depth + 1, false));\n currentElement = element;\n currentElementName = name;\n if (name) {\n xml2.push((indent ? writeIndentation(options, depth, false) : \"\") + \"</\" + elementName + \">\");\n }\n return xml2.join(\"\");\n }\n function writeElementsCompact(element, options, depth, firstLine) {\n var i, key, nodes, xml2 = [];\n for (key in element) {\n if (element.hasOwnProperty(key)) {\n nodes = isArray(element[key]) ? element[key] : [element[key]];\n for (i = 0; i < nodes.length; ++i) {\n switch (key) {\n case options.declarationKey:\n xml2.push(writeDeclaration(nodes[i], options, depth));\n break;\n case options.instructionKey:\n xml2.push((options.indentInstruction ? writeIndentation(options, depth, firstLine) : \"\") + writeInstruction(nodes[i], options, depth));\n break;\n case options.attributesKey:\n case options.parentKey:\n break;\n // skip\n case options.textKey:\n xml2.push((options.indentText ? writeIndentation(options, depth, firstLine) : \"\") + writeText(nodes[i], options));\n break;\n case options.cdataKey:\n xml2.push((options.indentCdata ? writeIndentation(options, depth, firstLine) : \"\") + writeCdata(nodes[i], options));\n break;\n case options.doctypeKey:\n xml2.push(writeIndentation(options, depth, firstLine) + writeDoctype(nodes[i], options));\n break;\n case options.commentKey:\n xml2.push(writeIndentation(options, depth, firstLine) + writeComment(nodes[i], options));\n break;\n default:\n xml2.push(writeIndentation(options, depth, firstLine) + writeElementCompact(nodes[i], key, options, depth, hasContentCompact(nodes[i], options)));\n }\n firstLine = firstLine && !xml2.length;\n }\n }\n }\n return xml2.join(\"\");\n }\n js2xml = function(js, options) {\n options = validateOptions(options);\n var xml2 = [];\n currentElement = js;\n currentElementName = \"_root_\";\n if (options.compact) {\n xml2.push(writeElementsCompact(js, options, 0, true));\n } else {\n if (js[options.declarationKey]) {\n xml2.push(writeDeclaration(js[options.declarationKey], options, 0));\n }\n if (js[options.elementsKey] && js[options.elementsKey].length) {\n xml2.push(writeElements(js[options.elementsKey], options, 0, !xml2.length));\n }\n }\n return xml2.join(\"\");\n };\n return js2xml;\n}\nvar json2xml;\nvar hasRequiredJson2xml;\nfunction requireJson2xml() {\n if (hasRequiredJson2xml) return json2xml;\n hasRequiredJson2xml = 1;\n var js2xml2 = requireJs2xml();\n json2xml = function(json, options) {\n if (json instanceof Buffer) {\n json = json.toString();\n }\n var js = null;\n if (typeof json === \"string\") {\n try {\n js = JSON.parse(json);\n } catch (e) {\n throw new Error(\"The JSON structure is invalid\");\n }\n } else {\n js = json;\n }\n return js2xml2(js, options);\n };\n return json2xml;\n}\nvar lib;\nvar hasRequiredLib;\nfunction requireLib() {\n if (hasRequiredLib) return lib;\n hasRequiredLib = 1;\n var xml2js2 = requireXml2js();\n var xml2json2 = requireXml2json();\n var js2xml2 = requireJs2xml();\n var json2xml2 = requireJson2xml();\n lib = {\n xml2js: xml2js2,\n xml2json: xml2json2,\n js2xml: js2xml2,\n json2xml: json2xml2\n };\n return lib;\n}\nvar libExports = requireLib();\nconst convertToXmlComponent = (element) => {\n switch (element.type) {\n case void 0:\n case \"element\":\n const xmlComponent = new ImportedXmlComponent(element.name, element.attributes);\n const childElements = element.elements || [];\n for (const childElm of childElements) {\n const child = convertToXmlComponent(childElm);\n if (child !== void 0) {\n xmlComponent.push(child);\n }\n }\n return xmlComponent;\n case \"text\":\n return element.text;\n default:\n return void 0;\n }\n};\nclass ImportedXmlComponentAttributes extends XmlAttributeComponent {\n // noop\n}\nclass ImportedXmlComponent extends XmlComponent {\n /**\n * Parses an XML string and converts it to an ImportedXmlComponent tree.\n *\n * This static method is the primary way to import external XML content.\n * It uses xml-js to parse the XML string into a JSON representation,\n * then converts that into a tree of XmlComponent objects.\n *\n * @param importedContent - The XML content as a string\n * @returns An ImportedXmlComponent representing the parsed XML\n *\n * @example\n * ```typescript\n * const xml = '<w:p><w:r><w:t>Hello</w:t></w:r></w:p>';\n * const component = ImportedXmlComponent.fromXmlString(xml);\n * ```\n */\n static fromXmlString(importedContent) {\n const xmlObj = libExports.xml2js(importedContent, { compact: false });\n return convertToXmlComponent(xmlObj);\n }\n /**\n * Creates an ImportedXmlComponent.\n *\n * @param rootKey - The XML element name\n * @param _attr - Optional attributes for the root element\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(rootKey, _attr) {\n super(rootKey);\n if (_attr) {\n this.root.push(new ImportedXmlComponentAttributes(_attr));\n }\n }\n /**\n * Adds a child component or text to this element.\n *\n * @param xmlComponent - The child component or text string to add\n */\n push(xmlComponent) {\n this.root.push(xmlComponent);\n }\n}\nclass ImportedRootElementAttributes extends XmlComponent {\n /**\n * Creates an ImportedRootElementAttributes component.\n *\n * @param _attr - The attributes object to pass through\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(_attr) {\n super(\"\");\n this._attr = _attr;\n }\n /**\n * Prepares the attributes for XML serialization.\n *\n * @param _ - Context (unused)\n * @returns Object with _attr key containing the raw attributes\n */\n prepForXml(_) {\n return {\n _attr: this._attr\n };\n }\n}\nconst WORKAROUND3 = \"\";\nclass InitializableXmlComponent extends XmlComponent {\n /**\n * Creates a new InitializableXmlComponent.\n *\n * @param rootKey - The XML element name\n * @param initComponent - Optional component to copy children from\n */\n constructor(rootKey, initComponent) {\n super(rootKey);\n if (initComponent) {\n this.root = initComponent.root;\n }\n }\n}\nconst decimalNumber = (val) => {\n if (isNaN(val)) {\n throw new Error(`Invalid value '${val}' specified. Must be an integer.`);\n }\n return Math.floor(val);\n};\nconst unsignedDecimalNumber = (val) => {\n const value = decimalNumber(val);\n if (value < 0) {\n throw new Error(`Invalid value '${val}' specified. Must be a positive integer.`);\n }\n return value;\n};\nconst hexBinary = (val, length) => {\n const expectedLength = length * 2;\n if (val.length !== expectedLength || isNaN(Number(`0x${val}`))) {\n throw new Error(`Invalid hex value '${val}'. Expected ${expectedLength} digit hex value`);\n }\n return val;\n};\nconst longHexNumber = (val) => hexBinary(val, 4);\nconst shortHexNumber = (val) => hexBinary(val, 2);\nconst uCharHexNumber = (val) => hexBinary(val, 1);\nconst universalMeasureValue = (val) => {\n const unit = val.slice(-2);\n const amount = val.substring(0, val.length - 2);\n return `${Number(amount)}${unit}`;\n};\nconst positiveUniversalMeasureValue = (val) => {\n const value = universalMeasureValue(val);\n if (parseFloat(value) < 0) {\n throw new Error(`Invalid value '${value}' specified. Expected a positive number.`);\n }\n return value;\n};\nconst hexColorValue = (val) => {\n if (val === \"auto\") {\n return val;\n }\n const color = val.charAt(0) === \"#\" ? val.substring(1) : val;\n return hexBinary(color, 3);\n};\nconst signedTwipsMeasureValue = (val) => typeof val === \"string\" ? universalMeasureValue(val) : decimalNumber(val);\nconst hpsMeasureValue = (val) => typeof val === \"string\" ? positiveUniversalMeasureValue(val) : unsignedDecimalNumber(val);\nconst signedHpsMeasureValue = (val) => typeof val === \"string\" ? universalMeasureValue(val) : decimalNumber(val);\nconst twipsMeasureValue = (val) => typeof val === \"string\" ? positiveUniversalMeasureValue(val) : unsignedDecimalNumber(val);\nconst percentageValue = (val) => {\n const percent = val.substring(0, val.length - 1);\n return `${Number(percent)}%`;\n};\nconst measurementOrPercentValue = (val) => {\n if (typeof val === \"number\") {\n return decimalNumber(val);\n }\n if (val.slice(-1) === \"%\") {\n return percentageValue(val);\n }\n return universalMeasureValue(val);\n};\nconst eighthPointMeasureValue = unsignedDecimalNumber;\nconst pointMeasureValue = unsignedDecimalNumber;\nconst dateTimeValue = (val) => val.toISOString();\nclass OnOffElement extends XmlComponent {\n /**\n * Creates an OnOffElement.\n *\n * @param name - The XML element name (e.g., \"w:b\", \"w:i\")\n * @param val - The boolean value (defaults to true)\n */\n constructor(name, val = true) {\n super(name);\n if (val !== true) {\n this.root.push(new Attributes({ val }));\n }\n }\n}\nclass HpsMeasureElement extends XmlComponent {\n /**\n * Creates an HpsMeasureElement.\n *\n * @param name - The XML element name\n * @param val - The measurement value (number in half-points or string with units)\n */\n constructor(name, val) {\n super(name);\n this.root.push(new Attributes({ val: hpsMeasureValue(val) }));\n }\n}\nclass EmptyElement extends XmlComponent {\n}\nclass StringValueElement extends XmlComponent {\n /**\n * Creates a StringValueElement.\n *\n * @param name - The XML element name\n * @param val - The string value\n */\n constructor(name, val) {\n super(name);\n this.root.push(new Attributes({ val }));\n }\n}\nconst createStringElement = (name, value) => new BuilderElement({\n name,\n attributes: {\n value: { key: \"w:val\", value }\n }\n});\nclass NumberValueElement extends XmlComponent {\n /**\n * Creates a NumberValueElement.\n *\n * @param name - The XML element name\n * @param val - The numeric value\n */\n constructor(name, val) {\n super(name);\n this.root.push(new Attributes({ val }));\n }\n}\nclass StringEnumValueElement extends XmlComponent {\n /**\n * Creates a StringEnumValueElement.\n *\n * @param name - The XML element name\n * @param val - The enum value\n */\n constructor(name, val) {\n super(name);\n this.root.push(new Attributes({ val }));\n }\n}\nclass StringContainer extends XmlComponent {\n /**\n * Creates a StringContainer.\n *\n * @param name - The XML element name\n * @param val - The text content\n */\n constructor(name, val) {\n super(name);\n this.root.push(val);\n }\n}\nclass BuilderElement extends XmlComponent {\n /**\n * Creates a BuilderElement with the specified configuration.\n *\n * @param config - Element configuration\n * @param config.name - The XML element name\n * @param config.attributes - Optional attributes with explicit key-value pairs\n * @param config.children - Optional child elements\n */\n constructor({\n name,\n attributes,\n children\n }) {\n super(name);\n if (attributes) {\n this.root.push(new NextAttributeComponent(attributes));\n }\n if (children) {\n this.root.push(...children);\n }\n }\n}\nconst AlignmentType = {\n /** Align Start */\n START: \"start\",\n /** Align Center */\n CENTER: \"center\",\n /** End */\n END: \"end\",\n /** Justified */\n BOTH: \"both\",\n /** Medium Kashida Length */\n MEDIUM_KASHIDA: \"mediumKashida\",\n /** Distribute All Characters Equally */\n DISTRIBUTE: \"distribute\",\n /** Align to List Tab */\n NUM_TAB: \"numTab\",\n /** Widest Kashida Length */\n HIGH_KASHIDA: \"highKashida\",\n /** Low Kashida Length */\n LOW_KASHIDA: \"lowKashida\",\n /** Thai Language Justification */\n THAI_DISTRIBUTE: \"thaiDistribute\",\n /** Align Left */\n LEFT: \"left\",\n /** Align Right */\n RIGHT: \"right\",\n /** Justified */\n JUSTIFIED: \"both\"\n};\nconst createAlignment = (type2) => new BuilderElement({\n name: \"w:jc\",\n attributes: {\n val: { key: \"w:val\", value: type2 }\n }\n});\nconst createBorderElement = (elementName, { color, size, space, style }) => new BuilderElement({\n name: elementName,\n attributes: {\n style: { key: \"w:val\", value: style },\n color: { key: \"w:color\", value: color === void 0 ? void 0 : hexColorValue(color) },\n size: { key: \"w:sz\", value: size === void 0 ? void 0 : eighthPointMeasureValue(size) },\n space: { key: \"w:space\", value: space === void 0 ? void 0 : pointMeasureValue(space) }\n }\n});\nconst BorderStyle = {\n /** a single line */\n SINGLE: \"single\",\n /** a line with a series of alternating thin and thick strokes */\n DASH_DOT_STROKED: \"dashDotStroked\",\n /** a dashed line */\n DASHED: \"dashed\",\n /** a dashed line with small gaps */\n DASH_SMALL_GAP: \"dashSmallGap\",\n /** a line with alternating dots and dashes */\n DOT_DASH: \"dotDash\",\n /** a line with a repeating dot - dot - dash sequence */\n DOT_DOT_DASH: \"dotDotDash\",\n /** a dotted line */\n DOTTED: \"dotted\",\n /** a double line */\n DOUBLE: \"double\",\n /** a double wavy line */\n DOUBLE_WAVE: \"doubleWave\",\n /** an inset set of lines */\n INSET: \"inset\",\n /** no border */\n NIL: \"nil\",\n /** no border */\n NONE: \"none\",\n /** an outset set of lines */\n OUTSET: \"outset\",\n /** a single line */\n THICK: \"thick\",\n /** a thick line contained within a thin line with a large-sized intermediate gap */\n THICK_THIN_LARGE_GAP: \"thickThinLargeGap\",\n /** a thick line contained within a thin line with a medium-sized intermediate gap */\n THICK_THIN_MEDIUM_GAP: \"thickThinMediumGap\",\n /** a thick line contained within a thin line with a small intermediate gap */\n THICK_THIN_SMALL_GAP: \"thickThinSmallGap\",\n /** a thin line contained within a thick line with a large-sized intermediate gap */\n THIN_THICK_LARGE_GAP: \"thinThickLargeGap\",\n /** a thick line contained within a thin line with a medium-sized intermediate gap */\n THIN_THICK_MEDIUM_GAP: \"thinThickMediumGap\",\n /** a thick line contained within a thin line with a small intermediate gap */\n THIN_THICK_SMALL_GAP: \"thinThickSmallGap\",\n /** a thin-thick-thin line with a large gap */\n THIN_THICK_THIN_LARGE_GAP: \"thinThickThinLargeGap\",\n /** a thin-thick-thin line with a medium gap */\n THIN_THICK_THIN_MEDIUM_GAP: \"thinThickThinMediumGap\",\n /** a thin-thick-thin line with a small gap */\n THIN_THICK_THIN_SMALL_GAP: \"thinThickThinSmallGap\",\n /** a three-staged gradient line, getting darker towards the paragraph */\n THREE_D_EMBOSS: \"threeDEmboss\",\n /** a three-staged gradient like, getting darker away from the paragraph */\n THREE_D_ENGRAVE: \"threeDEngrave\",\n /** a triple line */\n TRIPLE: \"triple\",\n /** a wavy line */\n WAVE: \"wave\"\n};\nclass Border extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n super(\"w:pBdr\");\n if (options.top) {\n this.root.push(createBorderElement(\"w:top\", options.top));\n }\n if (options.bottom) {\n this.root.push(createBorderElement(\"w:bottom\", options.bottom));\n }\n if (options.left) {\n this.root.push(createBorderElement(\"w:left\", options.left));\n }\n if (options.right) {\n this.root.push(createBorderElement(\"w:right\", options.right));\n }\n if (options.between) {\n this.root.push(createBorderElement(\"w:between\", options.between));\n }\n }\n}\nclass ThematicBreak extends XmlComponent {\n constructor() {\n super(\"w:pBdr\");\n const bottom = createBorderElement(\"w:bottom\", {\n color: \"auto\",\n space: 1,\n style: BorderStyle.SINGLE,\n size: 6\n });\n this.root.push(bottom);\n }\n}\nconst createIndent = ({ start, end, left, right, hanging, firstLine }) => new BuilderElement({\n name: \"w:ind\",\n attributes: {\n start: { key: \"w:start\", value: start === void 0 ? void 0 : signedTwipsMeasureValue(start) },\n end: { key: \"w:end\", value: end === void 0 ? void 0 : signedTwipsMeasureValue(end) },\n left: { key: \"w:left\", value: left === void 0 ? void 0 : signedTwipsMeasureValue(left) },\n right: { key: \"w:right\", value: right === void 0 ? void 0 : signedTwipsMeasureValue(right) },\n hanging: { key: \"w:hanging\", value: hanging === void 0 ? void 0 : twipsMeasureValue(hanging) },\n firstLine: { key: \"w:firstLine\", value: firstLine === void 0 ? void 0 : twipsMeasureValue(firstLine) }\n }\n});\nconst createBreak = () => new BuilderElement({\n name: \"w:br\"\n});\nconst FieldCharacterType = {\n BEGIN: \"begin\",\n END: \"end\",\n SEPARATE: \"separate\"\n};\nconst createFieldChar = (type2, dirty) => new BuilderElement({\n name: \"w:fldChar\",\n attributes: {\n type: { key: \"w:fldCharType\", value: type2 },\n dirty: { key: \"w:dirty\", value: dirty }\n }\n});\nconst createBegin = (dirty) => createFieldChar(FieldCharacterType.BEGIN, dirty);\nconst createSeparate = (dirty) => createFieldChar(FieldCharacterType.SEPARATE, dirty);\nconst createEnd = (dirty) => createFieldChar(FieldCharacterType.END, dirty);\nconst HorizontalPositionAlign = {\n /** Center horizontally */\n CENTER: \"center\",\n /** Align to inside margin (left on odd, right on even pages) */\n INSIDE: \"inside\",\n /** Align to left */\n LEFT: \"left\",\n /** Align to outside margin (right on odd, left on even pages) */\n OUTSIDE: \"outside\",\n /** Align to right */\n RIGHT: \"right\"\n};\nconst VerticalPositionAlign = {\n /** Align to bottom */\n BOTTOM: \"bottom\",\n /** Center vertically */\n CENTER: \"center\",\n /** Align to inside margin */\n INSIDE: \"inside\",\n /** Align to outside margin */\n OUTSIDE: \"outside\",\n /** Align to top */\n TOP: \"top\"\n};\nconst NumberFormat$1 = {\n DECIMAL: \"decimal\",\n UPPER_ROMAN: \"upperRoman\",\n LOWER_ROMAN: \"lowerRoman\",\n UPPER_LETTER: \"upperLetter\",\n LOWER_LETTER: \"lowerLetter\",\n ORDINAL: \"ordinal\",\n CARDINAL_TEXT: \"cardinalText\",\n ORDINAL_TEXT: \"ordinalText\",\n HEX: \"hex\",\n CHICAGO: \"chicago\",\n IDEOGRAPH_DIGITAL: \"ideographDigital\",\n JAPANESE_COUNTING: \"japaneseCounting\",\n AIUEO: \"aiueo\",\n IROHA: \"iroha\",\n DECIMAL_FULL_WIDTH: \"decimalFullWidth\",\n DECIMAL_HALF_WIDTH: \"decimalHalfWidth\",\n JAPANESE_LEGAL: \"japaneseLegal\",\n JAPANESE_DIGITAL_TEN_THOUSAND: \"japaneseDigitalTenThousand\",\n DECIMAL_ENCLOSED_CIRCLE: \"decimalEnclosedCircle\",\n DECIMAL_FULL_WIDTH_2: \"decimalFullWidth2\",\n AIUEO_FULL_WIDTH: \"aiueoFullWidth\",\n IROHA_FULL_WIDTH: \"irohaFullWidth\",\n DECIMAL_ZERO: \"decimalZero\",\n BULLET: \"bullet\",\n GANADA: \"ganada\",\n CHOSUNG: \"chosung\",\n DECIMAL_ENCLOSED_FULL_STOP: \"decimalEnclosedFullstop\",\n DECIMAL_ENCLOSED_PAREN: \"decimalEnclosedParen\",\n DECIMAL_ENCLOSED_CIRCLE_CHINESE: \"decimalEnclosedCircleChinese\",\n IDEOGRAPH_ENCLOSED_CIRCLE: \"ideographEnclosedCircle\",\n IDEOGRAPH_TRADITIONAL: \"ideographTraditional\",\n IDEOGRAPH_ZODIAC: \"ideographZodiac\",\n IDEOGRAPH_ZODIAC_TRADITIONAL: \"ideographZodiacTraditional\",\n TAIWANESE_COUNTING: \"taiwaneseCounting\",\n IDEOGRAPH_LEGAL_TRADITIONAL: \"ideographLegalTraditional\",\n TAIWANESE_COUNTING_THOUSAND: \"taiwaneseCountingThousand\",\n TAIWANESE_DIGITAL: \"taiwaneseDigital\",\n CHINESE_COUNTING: \"chineseCounting\",\n CHINESE_LEGAL_SIMPLIFIED: \"chineseLegalSimplified\",\n CHINESE_COUNTING_TEN_THOUSAND: \"chineseCountingThousand\",\n KOREAN_DIGITAL: \"koreanDigital\",\n KOREAN_COUNTING: \"koreanCounting\",\n KOREAN_LEGAL: \"koreanLegal\",\n KOREAN_DIGITAL_2: \"koreanDigital2\",\n VIETNAMESE_COUNTING: \"vietnameseCounting\",\n RUSSIAN_LOWER: \"russianLower\",\n RUSSIAN_UPPER: \"russianUpper\",\n NONE: \"none\",\n NUMBER_IN_DASH: \"numberInDash\",\n HEBREW_1: \"hebrew1\",\n HEBREW_2: \"hebrew2\",\n ARABIC_ALPHA: \"arabicAlpha\",\n ARABIC_ABJAD: \"arabicAbjad\",\n HINDI_VOWELS: \"hindiVowels\",\n HINDI_CONSONANTS: \"hindiConsonants\",\n HINDI_NUMBERS: \"hindiNumbers\",\n HINDI_COUNTING: \"hindiCounting\",\n THAI_LETTERS: \"thaiLetters\",\n THAI_NUMBERS: \"thaiNumbers\",\n THAI_COUNTING: \"thaiCounting\",\n BAHT_TEXT: \"bahtText\",\n DOLLAR_TEXT: \"dollarText\"\n // <xsd:enumeration value=\"custom\"/>\n};\nconst SpaceType = {\n DEFAULT: \"default\",\n PRESERVE: \"preserve\"\n};\nclass TextAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { space: \"xml:space\" });\n }\n}\nclass Page extends XmlComponent {\n constructor() {\n super(\"w:instrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"PAGE\");\n }\n}\nclass NumberOfPages extends XmlComponent {\n constructor() {\n super(\"w:instrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"NUMPAGES\");\n }\n}\nclass NumberOfPagesSection extends XmlComponent {\n constructor() {\n super(\"w:instrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"SECTIONPAGES\");\n }\n}\nclass CurrentSection extends XmlComponent {\n constructor() {\n super(\"w:instrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"SECTION\");\n }\n}\nconst createShading = ({ fill, color, type: type2 }) => new BuilderElement({\n name: \"w:shd\",\n attributes: {\n fill: { key: \"w:fill\", value: fill === void 0 ? void 0 : hexColorValue(fill) },\n color: { key: \"w:color\", value: color === void 0 ? void 0 : hexColorValue(color) },\n type: { key: \"w:val\", value: type2 }\n }\n});\nconst ShadingType = {\n /** Clear shading - no pattern, fill color only */\n CLEAR: \"clear\",\n DIAGONAL_CROSS: \"diagCross\",\n DIAGONAL_STRIPE: \"diagStripe\",\n HORIZONTAL_CROSS: \"horzCross\",\n HORIZONTAL_STRIPE: \"horzStripe\",\n NIL: \"nil\",\n PERCENT_5: \"pct5\",\n PERCENT_10: \"pct10\",\n PERCENT_12: \"pct12\",\n PERCENT_15: \"pct15\",\n PERCENT_20: \"pct20\",\n PERCENT_25: \"pct25\",\n PERCENT_30: \"pct30\",\n PERCENT_35: \"pct35\",\n PERCENT_37: \"pct37\",\n PERCENT_40: \"pct40\",\n PERCENT_45: \"pct45\",\n PERCENT_50: \"pct50\",\n PERCENT_55: \"pct55\",\n PERCENT_60: \"pct60\",\n PERCENT_62: \"pct62\",\n PERCENT_65: \"pct65\",\n PERCENT_70: \"pct70\",\n PERCENT_75: \"pct75\",\n PERCENT_80: \"pct80\",\n PERCENT_85: \"pct85\",\n PERCENT_87: \"pct87\",\n PERCENT_90: \"pct90\",\n PERCENT_95: \"pct95\",\n REVERSE_DIAGONAL_STRIPE: \"reverseDiagStripe\",\n SOLID: \"solid\",\n THIN_DIAGONAL_CROSS: \"thinDiagCross\",\n THIN_DIAGONAL_STRIPE: \"thinDiagStripe\",\n THIN_HORIZONTAL_CROSS: \"thinHorzCross\",\n THIN_REVERSE_DIAGONAL_STRIPE: \"thinReverseDiagStripe\",\n THIN_VERTICAL_STRIPE: \"thinVertStripe\",\n VERTICAL_STRIPE: \"vertStripe\"\n};\nclass ChangeAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"w:id\",\n author: \"w:author\",\n date: \"w:date\"\n });\n }\n}\nclass DeletionTrackChange extends XmlComponent {\n constructor(options) {\n super(\"w:del\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n }\n}\nclass InsertionTrackChange extends XmlComponent {\n constructor(options) {\n super(\"w:ins\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n }\n}\nconst EmphasisMarkType = {\n /** Dot emphasis mark */\n DOT: \"dot\"\n};\nconst createEmphasisMark = (emphasisMarkType = EmphasisMarkType.DOT) => new BuilderElement({\n name: \"w:em\",\n attributes: {\n val: { key: \"w:val\", value: emphasisMarkType }\n }\n});\nconst createDotEmphasisMark = () => createEmphasisMark(EmphasisMarkType.DOT);\nclass CharacterSpacing extends XmlComponent {\n constructor(value) {\n super(\"w:spacing\");\n this.root.push(\n new Attributes({\n val: signedTwipsMeasureValue(value)\n })\n );\n }\n}\nclass Color extends XmlComponent {\n constructor(color) {\n super(\"w:color\");\n this.root.push(\n new Attributes({\n val: hexColorValue(color)\n })\n );\n }\n}\nclass Highlight extends XmlComponent {\n constructor(color) {\n super(\"w:highlight\");\n this.root.push(\n new Attributes({\n val: color\n })\n );\n }\n}\nclass HighlightComplexScript extends XmlComponent {\n constructor(color) {\n super(\"w:highlightCs\");\n this.root.push(\n new Attributes({\n val: color\n })\n );\n }\n}\nconst createLanguageComponent = (options) => new BuilderElement({\n name: \"w:lang\",\n attributes: {\n value: {\n key: \"w:val\",\n value: options.value\n },\n eastAsia: {\n key: \"w:eastAsia\",\n value: options.eastAsia\n },\n bidirectional: {\n key: \"w:bidi\",\n value: options.bidirectional\n }\n }\n});\nconst createRunFonts = (nameOrAttrs, hint) => {\n if (typeof nameOrAttrs === \"string\") {\n const name = nameOrAttrs;\n return new BuilderElement({\n name: \"w:rFonts\",\n attributes: {\n ascii: { key: \"w:ascii\", value: name },\n cs: { key: \"w:cs\", value: name },\n eastAsia: { key: \"w:eastAsia\", value: name },\n hAnsi: { key: \"w:hAnsi\", value: name },\n hint: { key: \"w:hint\", value: hint }\n }\n });\n }\n const attrs = nameOrAttrs;\n return new BuilderElement({\n name: \"w:rFonts\",\n attributes: {\n ascii: { key: \"w:ascii\", value: attrs.ascii },\n cs: { key: \"w:cs\", value: attrs.cs },\n eastAsia: { key: \"w:eastAsia\", value: attrs.eastAsia },\n hAnsi: { key: \"w:hAnsi\", value: attrs.hAnsi },\n hint: { key: \"w:hint\", value: attrs.hint }\n }\n });\n};\nconst createVerticalAlignRun = (type2) => new BuilderElement({\n name: \"w:vertAlign\",\n attributes: {\n val: { key: \"w:val\", value: type2 }\n }\n});\nconst createSuperScript = () => createVerticalAlignRun(\"superscript\");\nconst createSubScript = () => createVerticalAlignRun(\"subscript\");\nconst UnderlineType = {\n /** Single underline */\n SINGLE: \"single\",\n /** Underline words only (not spaces) */\n WORDS: \"words\",\n /** Double underline */\n DOUBLE: \"double\",\n /** Thick single underline */\n THICK: \"thick\",\n /** Dotted underline */\n DOTTED: \"dotted\",\n /** Heavy dotted underline */\n DOTTEDHEAVY: \"dottedHeavy\",\n /** Dashed underline */\n DASH: \"dash\",\n /** Heavy dashed underline */\n DASHEDHEAVY: \"dashedHeavy\",\n /** Long dashed underline */\n DASHLONG: \"dashLong\",\n /** Heavy long dashed underline */\n DASHLONGHEAVY: \"dashLongHeavy\",\n /** Dot-dash underline */\n DOTDASH: \"dotDash\",\n /** Heavy dot-dash underline */\n DASHDOTHEAVY: \"dashDotHeavy\",\n /** Dot-dot-dash underline */\n DOTDOTDASH: \"dotDotDash\",\n /** Heavy dot-dot-dash underline */\n DASHDOTDOTHEAVY: \"dashDotDotHeavy\",\n /** Wave underline */\n WAVE: \"wave\",\n /** Heavy wave underline */\n WAVYHEAVY: \"wavyHeavy\",\n /** Double wave underline */\n WAVYDOUBLE: \"wavyDouble\",\n /** No underline */\n NONE: \"none\"\n};\nconst createUnderline = (underlineType = UnderlineType.SINGLE, color) => new BuilderElement({\n name: \"w:u\",\n attributes: {\n val: { key: \"w:val\", value: underlineType },\n color: { key: \"w:color\", value: color === void 0 ? void 0 : hexColorValue(color) }\n }\n});\nconst TextEffect = {\n /** Blinking background animation */\n BLINK_BACKGROUND: \"blinkBackground\",\n /** Lights animation effect */\n LIGHTS: \"lights\",\n /** Black marching ants animation */\n ANTS_BLACK: \"antsBlack\",\n /** Red marching ants animation */\n ANTS_RED: \"antsRed\",\n /** Shimmer animation effect */\n SHIMMER: \"shimmer\",\n /** Sparkle animation effect */\n SPARKLE: \"sparkle\",\n /** No text effect */\n NONE: \"none\"\n};\nconst HighlightColor = {\n /** Black highlight */\n BLACK: \"black\",\n /** Blue highlight */\n BLUE: \"blue\",\n /** Cyan highlight */\n CYAN: \"cyan\",\n /** Dark blue highlight */\n DARK_BLUE: \"darkBlue\",\n /** Dark cyan highlight */\n DARK_CYAN: \"darkCyan\",\n /** Dark gray highlight */\n DARK_GRAY: \"darkGray\",\n /** Dark green highlight */\n DARK_GREEN: \"darkGreen\",\n /** Dark magenta highlight */\n DARK_MAGENTA: \"darkMagenta\",\n /** Dark red highlight */\n DARK_RED: \"darkRed\",\n /** Dark yellow highlight */\n DARK_YELLOW: \"darkYellow\",\n /** Green highlight */\n GREEN: \"green\",\n /** Light gray highlight */\n LIGHT_GRAY: \"lightGray\",\n /** Magenta highlight */\n MAGENTA: \"magenta\",\n /** No highlight */\n NONE: \"none\",\n /** Red highlight */\n RED: \"red\",\n /** White highlight */\n WHITE: \"white\",\n /** Yellow highlight */\n YELLOW: \"yellow\"\n};\nclass RunProperties extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n var _a, _b;\n super(\"w:rPr\");\n if (!options) {\n return;\n }\n if (options.style) {\n this.push(new StringValueElement(\"w:rStyle\", options.style));\n }\n if (options.font) {\n if (typeof options.font === \"string\") {\n this.push(createRunFonts(options.font));\n } else if (\"name\" in options.font) {\n this.push(createRunFonts(options.font.name, options.font.hint));\n } else {\n this.push(createRunFonts(options.font));\n }\n }\n if (options.bold !== void 0) {\n this.push(new OnOffElement(\"w:b\", options.bold));\n }\n if (options.boldComplexScript === void 0 && options.bold !== void 0 || options.boldComplexScript) {\n this.push(new OnOffElement(\"w:bCs\", (_a = options.boldComplexScript) != null ? _a : options.bold));\n }\n if (options.italics !== void 0) {\n this.push(new OnOffElement(\"w:i\", options.italics));\n }\n if (options.italicsComplexScript === void 0 && options.italics !== void 0 || options.italicsComplexScript) {\n this.push(new OnOffElement(\"w:iCs\", (_b = options.italicsComplexScript) != null ? _b : options.italics));\n }\n if (options.smallCaps !== void 0) {\n this.push(new OnOffElement(\"w:smallCaps\", options.smallCaps));\n } else if (options.allCaps !== void 0) {\n this.push(new OnOffElement(\"w:caps\", options.allCaps));\n }\n if (options.strike !== void 0) {\n this.push(new OnOffElement(\"w:strike\", options.strike));\n }\n if (options.doubleStrike !== void 0) {\n this.push(new OnOffElement(\"w:dstrike\", options.doubleStrike));\n }\n if (options.emboss !== void 0) {\n this.push(new OnOffElement(\"w:emboss\", options.emboss));\n }\n if (options.imprint !== void 0) {\n this.push(new OnOffElement(\"w:imprint\", options.imprint));\n }\n if (options.noProof !== void 0) {\n this.push(new OnOffElement(\"w:noProof\", options.noProof));\n }\n if (options.snapToGrid !== void 0) {\n this.push(new OnOffElement(\"w:snapToGrid\", options.snapToGrid));\n }\n if (options.vanish) {\n this.push(new OnOffElement(\"w:vanish\", options.vanish));\n }\n if (options.color) {\n this.push(new Color(options.color));\n }\n if (options.characterSpacing) {\n this.push(new CharacterSpacing(options.characterSpacing));\n }\n if (options.scale !== void 0) {\n this.push(new NumberValueElement(\"w:w\", options.scale));\n }\n if (options.kern) {\n this.push(new HpsMeasureElement(\"w:kern\", options.kern));\n }\n if (options.position) {\n this.push(new StringValueElement(\"w:position\", options.position));\n }\n if (options.size !== void 0) {\n this.push(new HpsMeasureElement(\"w:sz\", options.size));\n }\n const szCs = options.sizeComplexScript === void 0 || options.sizeComplexScript === true ? options.size : options.sizeComplexScript;\n if (szCs) {\n this.push(new HpsMeasureElement(\"w:szCs\", szCs));\n }\n if (options.highlight) {\n this.push(new Highlight(options.highlight));\n }\n const highlightCs = options.highlightComplexScript === void 0 || options.highlightComplexScript === true ? options.highlight : options.highlightComplexScript;\n if (highlightCs) {\n this.push(new HighlightComplexScript(highlightCs));\n }\n if (options.underline) {\n this.push(createUnderline(options.underline.type, options.underline.color));\n }\n if (options.effect) {\n this.push(new StringValueElement(\"w:effect\", options.effect));\n }\n if (options.border) {\n this.push(createBorderElement(\"w:bdr\", options.border));\n }\n if (options.shading) {\n this.push(createShading(options.shading));\n }\n if (options.subScript) {\n this.push(createSubScript());\n }\n if (options.superScript) {\n this.push(createSuperScript());\n }\n if (options.rightToLeft !== void 0) {\n this.push(new OnOffElement(\"w:rtl\", options.rightToLeft));\n }\n if (options.emphasisMark) {\n this.push(createEmphasisMark(options.emphasisMark.type));\n }\n if (options.language) {\n this.push(createLanguageComponent(options.language));\n }\n if (options.specVanish) {\n this.push(new OnOffElement(\"w:specVanish\", options.vanish));\n }\n if (options.math) {\n this.push(new OnOffElement(\"w:oMath\", options.math));\n }\n if (options.revision) {\n this.push(new RunPropertiesChange(options.revision));\n }\n }\n push(item) {\n this.root.push(item);\n }\n}\nclass ParagraphRunProperties extends RunProperties {\n constructor(options) {\n super(options);\n if (options == null ? void 0 : options.insertion) {\n this.push(new InsertionTrackChange(options.insertion));\n }\n if (options == null ? void 0 : options.deletion) {\n this.push(new DeletionTrackChange(options.deletion));\n }\n }\n}\nclass RunPropertiesChange extends XmlComponent {\n constructor(options) {\n super(\"w:rPrChange\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.addChildElement(new RunProperties(options));\n }\n}\nclass Text extends XmlComponent {\n constructor(options) {\n var _a;\n super(\"w:t\");\n if (typeof options === \"string\") {\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(options);\n } else {\n this.root.push(new TextAttributes({ space: (_a = options.space) != null ? _a : SpaceType.DEFAULT }));\n this.root.push(options.text);\n }\n }\n}\nconst PageNumber = {\n /** Inserts the current page number */\n CURRENT: \"CURRENT\",\n /** Inserts the total number of pages in the document */\n TOTAL_PAGES: \"TOTAL_PAGES\",\n /** Inserts the total number of pages in the current section */\n TOTAL_PAGES_IN_SECTION: \"TOTAL_PAGES_IN_SECTION\",\n /** Inserts the current section number */\n CURRENT_SECTION: \"SECTION\"\n};\nclass Run extends XmlComponent {\n constructor(options) {\n super(\"w:r\");\n __publicField(this, \"properties\");\n this.properties = new RunProperties(options);\n this.root.push(this.properties);\n if (options.break) {\n for (let i = 0; i < options.break; i++) {\n this.root.push(createBreak());\n }\n }\n if (options.children) {\n for (const child of options.children) {\n if (typeof child === \"string\") {\n switch (child) {\n case PageNumber.CURRENT:\n this.root.push(createBegin());\n this.root.push(new Page());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n case PageNumber.TOTAL_PAGES:\n this.root.push(createBegin());\n this.root.push(new NumberOfPages());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n case PageNumber.TOTAL_PAGES_IN_SECTION:\n this.root.push(createBegin());\n this.root.push(new NumberOfPagesSection());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n case PageNumber.CURRENT_SECTION:\n this.root.push(createBegin());\n this.root.push(new CurrentSection());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n default:\n this.root.push(new Text(child));\n break;\n }\n continue;\n }\n this.root.push(child);\n }\n } else if (options.text !== void 0) {\n this.root.push(new Text(options.text));\n }\n }\n}\nclass TextRun extends Run {\n constructor(options) {\n super(typeof options === \"string\" ? { text: options } : options);\n }\n}\nclass SymbolAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n char: \"w:char\",\n symbolfont: \"w:font\"\n });\n }\n}\nlet Symbol$1 = class Symbol2 extends XmlComponent {\n constructor(char = \"\", symbolfont = \"Wingdings\") {\n super(\"w:sym\");\n this.root.push(new SymbolAttributes({ char, symbolfont }));\n }\n};\nclass SymbolRun extends Run {\n constructor(options) {\n if (typeof options === \"string\") {\n super({});\n this.root.push(new Symbol$1(options));\n return this;\n }\n super(options);\n this.root.push(new Symbol$1(options.char, options.symbolfont));\n }\n}\nvar hash$1 = {};\nvar utils = {};\nvar minimalisticAssert;\nvar hasRequiredMinimalisticAssert;\nfunction requireMinimalisticAssert() {\n if (hasRequiredMinimalisticAssert) return minimalisticAssert;\n hasRequiredMinimalisticAssert = 1;\n minimalisticAssert = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n return minimalisticAssert;\n}\nvar hasRequiredUtils;\nfunction requireUtils() {\n if (hasRequiredUtils) return utils;\n hasRequiredUtils = 1;\n var assert = requireMinimalisticAssert();\n var inherits = requireInherits_browser();\n utils.inherits = inherits;\n function isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 64512) !== 55296) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === \"string\") {\n if (!enc) {\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = c >> 6 | 192;\n res[p++] = c & 63 | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023);\n res[p++] = c >> 18 | 240;\n res[p++] = c >> 12 & 63 | 128;\n res[p++] = c >> 6 & 63 | 128;\n res[p++] = c & 63 | 128;\n } else {\n res[p++] = c >> 12 | 224;\n res[p++] = c >> 6 & 63 | 128;\n res[p++] = c & 63 | 128;\n }\n }\n } else if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/ig, \"\");\n if (msg.length % 2 !== 0)\n msg = \"0\" + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n }\n utils.toArray = toArray;\n function toHex(msg) {\n var res = \"\";\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n utils.htonl = htonl;\n function toHex32(msg, endian) {\n var res = \"\";\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === \"little\")\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n }\n utils.toHex32 = toHex32;\n function zero2(word) {\n if (word.length === 1)\n return \"0\" + word;\n else\n return word;\n }\n utils.zero2 = zero2;\n function zero8(word) {\n if (word.length === 7)\n return \"0\" + word;\n else if (word.length === 6)\n return \"00\" + word;\n else if (word.length === 5)\n return \"000\" + word;\n else if (word.length === 4)\n return \"0000\" + word;\n else if (word.length === 3)\n return \"00000\" + word;\n else if (word.length === 2)\n return \"000000\" + word;\n else if (word.length === 1)\n return \"0000000\" + word;\n else\n return word;\n }\n utils.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === \"big\")\n w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3];\n else\n w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n }\n utils.join32 = join32;\n function split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === \"big\") {\n res[k] = m >>> 24;\n res[k + 1] = m >>> 16 & 255;\n res[k + 2] = m >>> 8 & 255;\n res[k + 3] = m & 255;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = m >>> 16 & 255;\n res[k + 1] = m >>> 8 & 255;\n res[k] = m & 255;\n }\n }\n return res;\n }\n utils.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n utils.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n utils.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n utils.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n utils.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n utils.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n utils.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n var lo = al + bl >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n }\n utils.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n utils.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n utils.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = lo + bl >>> 0;\n carry += lo < al ? 1 : 0;\n lo = lo + cl >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = lo + dl >>> 0;\n carry += lo < dl ? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n utils.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n utils.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = lo + bl >>> 0;\n carry += lo < al ? 1 : 0;\n lo = lo + cl >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = lo + dl >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = lo + el >>> 0;\n carry += lo < el ? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n utils.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n utils.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n utils.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n utils.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n utils.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n utils.shr64_lo = shr64_lo;\n return utils;\n}\nvar common$1 = {};\nvar hasRequiredCommon$1;\nfunction requireCommon$1() {\n if (hasRequiredCommon$1) return common$1;\n hasRequiredCommon$1 = 1;\n var utils2 = requireUtils();\n var assert = requireMinimalisticAssert();\n function BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = \"big\";\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n }\n common$1.BlockHash = BlockHash;\n BlockHash.prototype.update = function update(msg, enc) {\n msg = utils2.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n msg = utils2.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n };\n BlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n return this._digest(enc);\n };\n BlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - (len + this.padLength) % bytes;\n var res = new Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n len <<= 3;\n if (this.endian === \"big\") {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = len >>> 24 & 255;\n res[i++] = len >>> 16 & 255;\n res[i++] = len >>> 8 & 255;\n res[i++] = len & 255;\n } else {\n res[i++] = len & 255;\n res[i++] = len >>> 8 & 255;\n res[i++] = len >>> 16 & 255;\n res[i++] = len >>> 24 & 255;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n return res;\n };\n return common$1;\n}\nvar sha = {};\nvar common = {};\nvar hasRequiredCommon;\nfunction requireCommon() {\n if (hasRequiredCommon) return common;\n hasRequiredCommon = 1;\n var utils2 = requireUtils();\n var rotr32 = utils2.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n common.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n common.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n common.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n common.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n common.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n common.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n common.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n common.g1_256 = g1_256;\n return common;\n}\nvar _1;\nvar hasRequired_1;\nfunction require_1() {\n if (hasRequired_1) return _1;\n hasRequired_1 = 1;\n var utils2 = requireUtils();\n var common2 = requireCommon$1();\n var shaCommon = requireCommon();\n var rotl32 = utils2.rotl32;\n var sum32 = utils2.sum32;\n var sum32_5 = utils2.sum32_5;\n var ft_1 = shaCommon.ft_1;\n var BlockHash = common2.BlockHash;\n var sha1_K = [\n 1518500249,\n 1859775393,\n 2400959708,\n 3395469782\n ];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n BlockHash.call(this);\n this.h = [\n 1732584193,\n 4023233417,\n 2562383102,\n 271733878,\n 3285377520\n ];\n this.W = new Array(80);\n }\n utils2.inherits(SHA1, BlockHash);\n _1 = SHA1;\n SHA1.blockSize = 512;\n SHA1.outSize = 160;\n SHA1.hmacStrength = 80;\n SHA1.padLength = 64;\n SHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n };\n SHA1.prototype._digest = function digest(enc) {\n if (enc === \"hex\")\n return utils2.toHex32(this.h, \"big\");\n else\n return utils2.split32(this.h, \"big\");\n };\n return _1;\n}\nvar _256;\nvar hasRequired_256;\nfunction require_256() {\n if (hasRequired_256) return _256;\n hasRequired_256 = 1;\n var utils2 = requireUtils();\n var common2 = requireCommon$1();\n var shaCommon = requireCommon();\n var assert = requireMinimalisticAssert();\n var sum32 = utils2.sum32;\n var sum32_4 = utils2.sum32_4;\n var sum32_5 = utils2.sum32_5;\n var ch32 = shaCommon.ch32;\n var maj32 = shaCommon.maj32;\n var s0_256 = shaCommon.s0_256;\n var s1_256 = shaCommon.s1_256;\n var g0_256 = shaCommon.g0_256;\n var g1_256 = shaCommon.g1_256;\n var BlockHash = common2.BlockHash;\n var sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n BlockHash.call(this);\n this.h = [\n 1779033703,\n 3144134277,\n 1013904242,\n 2773480762,\n 1359893119,\n 2600822924,\n 528734635,\n 1541459225\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n }\n utils2.inherits(SHA256, BlockHash);\n _256 = SHA256;\n SHA256.blockSize = 512;\n SHA256.outSize = 256;\n SHA256.hmacStrength = 192;\n SHA256.padLength = 64;\n SHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n };\n SHA256.prototype._digest = function digest(enc) {\n if (enc === \"hex\")\n return utils2.toHex32(this.h, \"big\");\n else\n return utils2.split32(this.h, \"big\");\n };\n return _256;\n}\nvar _224;\nvar hasRequired_224;\nfunction require_224() {\n if (hasRequired_224) return _224;\n hasRequired_224 = 1;\n var utils2 = requireUtils();\n var SHA256 = require_256();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n SHA256.call(this);\n this.h = [\n 3238371032,\n 914150663,\n 812702999,\n 4144912697,\n 4290775857,\n 1750603025,\n 1694076839,\n 3204075428\n ];\n }\n utils2.inherits(SHA224, SHA256);\n _224 = SHA224;\n SHA224.blockSize = 512;\n SHA224.outSize = 224;\n SHA224.hmacStrength = 192;\n SHA224.padLength = 64;\n SHA224.prototype._digest = function digest(enc) {\n if (enc === \"hex\")\n return utils2.toHex32(this.h.slice(0, 7), \"big\");\n else\n return utils2.split32(this.h.slice(0, 7), \"big\");\n };\n return _224;\n}\nvar _512;\nvar hasRequired_512;\nfunction require_512() {\n if (hasRequired_512) return _512;\n hasRequired_512 = 1;\n var utils2 = requireUtils();\n var common2 = requireCommon$1();\n var assert = requireMinimalisticAssert();\n var rotr64_hi = utils2.rotr64_hi;\n var rotr64_lo = utils2.rotr64_lo;\n var shr64_hi = utils2.shr64_hi;\n var shr64_lo = utils2.shr64_lo;\n var sum64 = utils2.sum64;\n var sum64_hi = utils2.sum64_hi;\n var sum64_lo = utils2.sum64_lo;\n var sum64_4_hi = utils2.sum64_4_hi;\n var sum64_4_lo = utils2.sum64_4_lo;\n var sum64_5_hi = utils2.sum64_5_hi;\n var sum64_5_lo = utils2.sum64_5_lo;\n var BlockHash = common2.BlockHash;\n var sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n BlockHash.call(this);\n this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ];\n this.k = sha512_K;\n this.W = new Array(160);\n }\n utils2.inherits(SHA512, BlockHash);\n _512 = SHA512;\n SHA512.blockSize = 1024;\n SHA512.outSize = 512;\n SHA512.hmacStrength = 192;\n SHA512.padLength = 128;\n SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]);\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14];\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]);\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32];\n var c3_lo = W[i - 31];\n W[i] = sum64_4_hi(\n c0_hi,\n c0_lo,\n c1_hi,\n c1_lo,\n c2_hi,\n c2_lo,\n c3_hi,\n c3_lo\n );\n W[i + 1] = sum64_4_lo(\n c0_hi,\n c0_lo,\n c1_hi,\n c1_lo,\n c2_hi,\n c2_lo,\n c3_hi,\n c3_lo\n );\n }\n };\n SHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W;\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n var T1_hi = sum64_5_hi(\n c0_hi,\n c0_lo,\n c1_hi,\n c1_lo,\n c2_hi,\n c2_lo,\n c3_hi,\n c3_lo,\n c4_hi,\n c4_lo\n );\n var T1_lo = sum64_5_lo(\n c0_hi,\n c0_lo,\n c1_hi,\n c1_lo,\n c2_hi,\n c2_lo,\n c3_hi,\n c3_lo,\n c4_hi,\n c4_lo\n );\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh;\n hl = gl;\n gh = fh;\n gl = fl;\n fh = eh;\n fl = el;\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n dh = ch;\n dl = cl;\n ch = bh;\n cl = bl;\n bh = ah;\n bl = al;\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n };\n SHA512.prototype._digest = function digest(enc) {\n if (enc === \"hex\")\n return utils2.toHex32(this.h, \"big\");\n else\n return utils2.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2);\n var c2_hi = rotr64_hi(xl, xh, 7);\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2);\n var c2_lo = rotr64_lo(xl, xh, 7);\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9);\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9);\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29);\n var c2_hi = shr64_hi(xh, xl, 6);\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29);\n var c2_lo = shr64_lo(xh, xl, 6);\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 4294967296;\n return r;\n }\n return _512;\n}\nvar _384;\nvar hasRequired_384;\nfunction require_384() {\n if (hasRequired_384) return _384;\n hasRequired_384 = 1;\n var utils2 = requireUtils();\n var SHA512 = require_512();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n SHA512.call(this);\n this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils2.inherits(SHA384, SHA512);\n _384 = SHA384;\n SHA384.blockSize = 1024;\n SHA384.outSize = 384;\n SHA384.hmacStrength = 192;\n SHA384.padLength = 128;\n SHA384.prototype._digest = function digest(enc) {\n if (enc === \"hex\")\n return utils2.toHex32(this.h.slice(0, 12), \"big\");\n else\n return utils2.split32(this.h.slice(0, 12), \"big\");\n };\n return _384;\n}\nvar hasRequiredSha;\nfunction requireSha() {\n if (hasRequiredSha) return sha;\n hasRequiredSha = 1;\n sha.sha1 = require_1();\n sha.sha224 = require_224();\n sha.sha256 = require_256();\n sha.sha384 = require_384();\n sha.sha512 = require_512();\n return sha;\n}\nvar ripemd = {};\nvar hasRequiredRipemd;\nfunction requireRipemd() {\n if (hasRequiredRipemd) return ripemd;\n hasRequiredRipemd = 1;\n var utils2 = requireUtils();\n var common2 = requireCommon$1();\n var rotl32 = utils2.rotl32;\n var sum32 = utils2.sum32;\n var sum32_3 = utils2.sum32_3;\n var sum32_4 = utils2.sum32_4;\n var BlockHash = common2.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n BlockHash.call(this);\n this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];\n this.endian = \"little\";\n }\n utils2.inherits(RIPEMD160, BlockHash);\n ripemd.ripemd160 = RIPEMD160;\n RIPEMD160.blockSize = 512;\n RIPEMD160.outSize = 160;\n RIPEMD160.hmacStrength = 192;\n RIPEMD160.padLength = 64;\n RIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]\n ),\n E\n );\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]\n ),\n Eh\n );\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n };\n RIPEMD160.prototype._digest = function digest(enc) {\n if (enc === \"hex\")\n return utils2.toHex32(this.h, \"little\");\n else\n return utils2.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return x & y | ~x & z;\n else if (j <= 47)\n return (x | ~y) ^ z;\n else if (j <= 63)\n return x & z | y & ~z;\n else\n return x ^ (y | ~z);\n }\n function K(j) {\n if (j <= 15)\n return 0;\n else if (j <= 31)\n return 1518500249;\n else if (j <= 47)\n return 1859775393;\n else if (j <= 63)\n return 2400959708;\n else\n return 2840853838;\n }\n function Kh(j) {\n if (j <= 15)\n return 1352829926;\n else if (j <= 31)\n return 1548603684;\n else if (j <= 47)\n return 1836072691;\n else if (j <= 63)\n return 2053994217;\n else\n return 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ];\n var rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ];\n var s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ];\n var sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n return ripemd;\n}\nvar hmac;\nvar hasRequiredHmac;\nfunction requireHmac() {\n if (hasRequiredHmac) return hmac;\n hasRequiredHmac = 1;\n var utils2 = requireUtils();\n var assert = requireMinimalisticAssert();\n function Hmac(hash2, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash2, key, enc);\n this.Hash = hash2;\n this.blockSize = hash2.blockSize / 8;\n this.outSize = hash2.outSize / 8;\n this.inner = null;\n this.outer = null;\n this._init(utils2.toArray(key, enc));\n }\n hmac = Hmac;\n Hmac.prototype._init = function init(key) {\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n for (i = 0; i < key.length; i++)\n key[i] ^= 54;\n this.inner = new this.Hash().update(key);\n for (i = 0; i < key.length; i++)\n key[i] ^= 106;\n this.outer = new this.Hash().update(key);\n };\n Hmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n };\n Hmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n };\n return hmac;\n}\nvar hasRequiredHash;\nfunction requireHash() {\n if (hasRequiredHash) return hash$1;\n hasRequiredHash = 1;\n (function(exports$1) {\n var hash2 = exports$1;\n hash2.utils = requireUtils();\n hash2.common = requireCommon$1();\n hash2.sha = requireSha();\n hash2.ripemd = requireRipemd();\n hash2.hmac = requireHmac();\n hash2.sha1 = hash2.sha.sha1;\n hash2.sha256 = hash2.sha.sha256;\n hash2.sha224 = hash2.sha.sha224;\n hash2.sha384 = hash2.sha.sha384;\n hash2.sha512 = hash2.sha.sha512;\n hash2.ripemd160 = hash2.ripemd.ripemd160;\n })(hash$1);\n return hash$1;\n}\nvar hashExports = requireHash();\nconst hash = /* @__PURE__ */ getDefaultExportFromCjs$1(hashExports);\nlet urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i = size | 0;\n while (i--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid = (size = 21) => {\n let id = \"\";\n let i = size | 0;\n while (i--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n};\nconst convertMillimetersToTwip = (millimeters) => Math.floor(millimeters / 25.4 * 72 * 20);\nconst convertInchesToTwip = (inches) => Math.floor(inches * 72 * 20);\nconst uniqueNumericIdCreator = (initial = 0) => {\n let currentCount = initial;\n return () => ++currentCount;\n};\nconst abstractNumUniqueNumericIdGen = () => uniqueNumericIdCreator();\nconst concreteNumUniqueNumericIdGen = () => uniqueNumericIdCreator(1);\nconst docPropertiesUniqueNumericIdGen = () => uniqueNumericIdCreator();\nconst bookmarkUniqueNumericIdGen = () => uniqueNumericIdCreator();\nconst uniqueId = () => nanoid().toLowerCase();\nconst hashedId = (data) => hash.sha1().update(data instanceof ArrayBuffer ? new Uint8Array(data) : data).digest(\"hex\");\nconst generateUuidPart = (count) => customAlphabet(\"1234567890abcdef\", count)();\nconst uniqueUuid = () => `${generateUuidPart(8)}-${generateUuidPart(4)}-${generateUuidPart(4)}-${generateUuidPart(4)}-${generateUuidPart(12)}`;\nconst encodeUtf8 = (str) => new Uint8Array(new TextEncoder().encode(str));\nconst HorizontalPositionRelativeFrom = {\n /**\n * ## Character\n *\n * Specifies that the horizontal positioning shall be relative to the position of the anchor within its run content.\n */\n CHARACTER: \"character\",\n /**\n * ## Column\n *\n * Specifies that the horizontal positioning shall be relative to the extents of the column which contains its anchor.\n */\n COLUMN: \"column\",\n /**\n * ## Inside Margin\n *\n * Specifies that the horizontal positioning shall be relative to the inside margin of the current page (the left margin on odd pages, right on even pages).\n */\n INSIDE_MARGIN: \"insideMargin\",\n /**\n * ## Left Margin\n *\n * Specifies that the horizontal positioning shall be relative to the left margin of the page.\n */\n LEFT_MARGIN: \"leftMargin\",\n /**\n * ## Page Margin\n *\n * Specifies that the horizontal positioning shall be relative to the page margins.\n */\n MARGIN: \"margin\",\n /**\n * ## Outside Margin\n *\n * Specifies that the horizontal positioning shall be relative to the outside margin of the current page (the right margin on odd pages, left on even pages).\n */\n OUTSIDE_MARGIN: \"outsideMargin\",\n /**\n * ## Page Edge\n *\n * Specifies that the horizontal positioning shall be relative to the edge of the page.\n */\n PAGE: \"page\",\n /**\n * ## Right Margin\n *\n * Specifies that the horizontal positioning shall be relative to the right margin of the page.\n */\n RIGHT_MARGIN: \"rightMargin\"\n};\nconst VerticalPositionRelativeFrom = {\n /**\n * ## Bottom Margin\n *\n * Specifies that the vertical positioning shall be relative to the bottom margin of the current page.\n */\n BOTTOM_MARGIN: \"bottomMargin\",\n /**\n * ## Inside Margin\n *\n * Specifies that the vertical positioning shall be relative to the inside margin of the current page.\n */\n INSIDE_MARGIN: \"insideMargin\",\n /**\n * ## Line\n *\n * Specifies that the vertical positioning shall be relative to the line containing the anchor character.\n */\n LINE: \"line\",\n /**\n * ## Page Margin\n *\n * Specifies that the vertical positioning shall be relative to the page margins.\n */\n MARGIN: \"margin\",\n /**\n * ## Outside Margin\n *\n * Specifies that the vertical positioning shall be relative to the outside margin of the current page.\n */\n OUTSIDE_MARGIN: \"outsideMargin\",\n /**\n * ## Page Edge\n *\n * Specifies that the vertical positioning shall be relative to the edge of the page.\n */\n PAGE: \"page\",\n /**\n * ## Paragraph\n *\n * Specifies that the vertical positioning shall be relative to the paragraph which contains the drawing anchor.\n */\n PARAGRAPH: \"paragraph\",\n /**\n * ## Top Margin\n *\n * Specifies that the vertical positioning shall be relative to the top margin of the current page.\n */\n TOP_MARGIN: \"topMargin\"\n};\nconst createSimplePos = () => new BuilderElement({\n name: \"wp:simplePos\",\n // NOTE: It's not fully supported in Microsoft Word, but this element is needed anyway\n attributes: {\n x: { key: \"x\", value: 0 },\n y: { key: \"y\", value: 0 }\n }\n});\nconst createAlign = (value) => new BuilderElement({\n name: \"wp:align\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n children: [value]\n});\nconst createPositionOffset = (offsetValue) => new BuilderElement({\n name: \"wp:posOffset\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n children: [offsetValue.toString()]\n});\nconst createHorizontalPosition = ({ relative, align, offset }) => new BuilderElement({\n name: \"wp:positionH\",\n attributes: {\n relativeFrom: { key: \"relativeFrom\", value: relative != null ? relative : HorizontalPositionRelativeFrom.PAGE }\n },\n children: [\n (() => {\n if (align) {\n return createAlign(align);\n } else if (offset !== void 0) {\n return createPositionOffset(offset);\n } else {\n throw new Error(\"There is no configuration provided for floating position (Align or offset)\");\n }\n })()\n ]\n});\nconst createVerticalPosition = ({ relative, align, offset }) => new BuilderElement({\n name: \"wp:positionV\",\n attributes: {\n relativeFrom: { key: \"relativeFrom\", value: relative != null ? relative : VerticalPositionRelativeFrom.PAGE }\n },\n children: [\n (() => {\n if (align) {\n return createAlign(align);\n } else if (offset !== void 0) {\n return createPositionOffset(offset);\n } else {\n throw new Error(\"There is no configuration provided for floating position (Align or offset)\");\n }\n })()\n ]\n});\nvar VerticalAnchor = /* @__PURE__ */ ((VerticalAnchor2) => {\n VerticalAnchor2[\"CENTER\"] = \"ctr\";\n VerticalAnchor2[\"TOP\"] = \"t\";\n VerticalAnchor2[\"BOTTOM\"] = \"b\";\n return VerticalAnchor2;\n})(VerticalAnchor || {});\nconst createBodyProperties = (options = {}) => {\n var _a, _b, _c, _d;\n return new BuilderElement({\n name: \"wps:bodyPr\",\n attributes: {\n lIns: { key: \"lIns\", value: (_a = options.margins) == null ? void 0 : _a.left },\n rIns: { key: \"rIns\", value: (_b = options.margins) == null ? void 0 : _b.right },\n tIns: { key: \"tIns\", value: (_c = options.margins) == null ? void 0 : _c.top },\n bIns: { key: \"bIns\", value: (_d = options.margins) == null ? void 0 : _d.bottom },\n anchor: { key: \"anchor\", value: options.verticalAnchor }\n },\n children: [...options.noAutoFit ? [new OnOffElement(\"a:noAutofit\", options.noAutoFit)] : []]\n });\n};\nconst createNonVisualShapeProperties = (options = { txBox: \"1\" }) => new BuilderElement({\n name: \"wps:cNvSpPr\",\n attributes: {\n txBox: { key: \"txBox\", value: options.txBox }\n }\n});\nconst createTextBoxContent = (children) => new BuilderElement({\n name: \"w:txbxContent\",\n children: [...children]\n});\nconst createWpsTextBox = (children) => new BuilderElement({\n name: \"wps:txbx\",\n children: [createTextBoxContent(children)]\n});\nclass ExtentsAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n cx: \"cx\",\n cy: \"cy\"\n });\n }\n}\nclass Extents extends XmlComponent {\n constructor(x, y) {\n super(\"a:ext\");\n __publicField(this, \"attributes\");\n this.attributes = new ExtentsAttributes({\n cx: x,\n cy: y\n });\n this.root.push(this.attributes);\n }\n}\nclass OffsetAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n x: \"x\",\n y: \"y\"\n });\n }\n}\nclass Offset extends XmlComponent {\n constructor(x, y) {\n super(\"a:off\");\n this.root.push(\n new OffsetAttributes({\n x: x != null ? x : 0,\n y: y != null ? y : 0\n })\n );\n }\n}\nclass FormAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n flipVertical: \"flipV\",\n flipHorizontal: \"flipH\",\n rotation: \"rot\"\n });\n }\n}\nclass Form extends XmlComponent {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f;\n super(\"a:xfrm\");\n __publicField(this, \"extents\");\n __publicField(this, \"offset\");\n this.root.push(\n new FormAttributes({\n flipVertical: (_a = options.flip) == null ? void 0 : _a.vertical,\n flipHorizontal: (_b = options.flip) == null ? void 0 : _b.horizontal,\n rotation: options.rotation\n })\n );\n this.offset = new Offset((_d = (_c = options.offset) == null ? void 0 : _c.emus) == null ? void 0 : _d.x, (_f = (_e = options.offset) == null ? void 0 : _e.emus) == null ? void 0 : _f.y);\n this.extents = new Extents(options.emus.x, options.emus.y);\n this.root.push(this.offset);\n this.root.push(this.extents);\n }\n}\nconst createNoFill = () => new BuilderElement({ name: \"a:noFill\" });\nconst createSolidRgbColor = (options) => new BuilderElement({\n name: \"a:srgbClr\",\n attributes: {\n value: {\n key: \"val\",\n value: options.value\n }\n }\n});\nconst createSchemeColor = (options) => new BuilderElement({\n name: \"a:schemeClr\",\n attributes: {\n value: {\n key: \"val\",\n value: options.value\n }\n }\n});\nconst createSolidFill = (options) => new BuilderElement({\n name: \"a:solidFill\",\n children: [options.type === \"rgb\" ? createSolidRgbColor(options) : createSchemeColor(options)]\n});\nconst createOutline = (options) => new BuilderElement({\n name: \"a:ln\",\n attributes: {\n width: {\n key: \"w\",\n value: options.width\n },\n cap: {\n key: \"cap\",\n value: options.cap\n },\n compoundLine: {\n key: \"cmpd\",\n value: options.compoundLine\n },\n align: {\n key: \"algn\",\n value: options.align\n }\n },\n children: [\n options.type === \"noFill\" ? createNoFill() : options.solidFillType === \"rgb\" ? createSolidFill({\n type: \"rgb\",\n value: options.value\n }) : createSolidFill({\n type: \"scheme\",\n value: options.value\n })\n ]\n});\nclass AdjustmentValues extends XmlComponent {\n constructor() {\n super(\"a:avLst\");\n }\n}\nclass PresetGeometryAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n prst: \"prst\"\n });\n }\n}\nclass PresetGeometry extends XmlComponent {\n constructor() {\n super(\"a:prstGeom\");\n this.root.push(\n new PresetGeometryAttributes({\n prst: \"rect\"\n })\n );\n this.root.push(new AdjustmentValues());\n }\n}\nclass ShapePropertiesAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n bwMode: \"bwMode\"\n });\n }\n}\nclass ShapeProperties extends XmlComponent {\n constructor({\n element,\n outline,\n solidFill,\n transform\n }) {\n super(`${element}:spPr`);\n __publicField(this, \"form\");\n this.root.push(\n new ShapePropertiesAttributes({\n bwMode: \"auto\"\n })\n );\n this.form = new Form(transform);\n this.root.push(this.form);\n this.root.push(new PresetGeometry());\n if (outline) {\n this.root.push(createNoFill());\n this.root.push(createOutline(outline));\n }\n if (solidFill) {\n this.root.push(createSolidFill(solidFill));\n }\n }\n}\nconst createWpsShape = (options) => new BuilderElement({\n name: \"wps:wsp\",\n children: [\n createNonVisualShapeProperties(options.nonVisualProperties),\n new ShapeProperties({\n element: \"wps\",\n transform: options.transformation,\n outline: options.outline,\n solidFill: options.solidFill\n }),\n createWpsTextBox(options.children),\n createBodyProperties(options.bodyProperties)\n ]\n});\nclass GraphicDataAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n uri: \"uri\"\n });\n }\n}\nconst createSvgBlip = (mediaData) => new BuilderElement({\n name: \"asvg:svgBlip\",\n attributes: {\n asvg: {\n key: \"xmlns:asvg\",\n value: \"http://schemas.microsoft.com/office/drawing/2016/SVG/main\"\n },\n embed: {\n key: \"r:embed\",\n value: `rId{${mediaData.fileName}}`\n }\n }\n});\nconst createExtention = (mediaData) => new BuilderElement({\n name: \"a:ext\",\n attributes: {\n uri: {\n key: \"uri\",\n value: \"{96DAC541-7B7A-43D3-8B79-37D633B846F1}\"\n }\n },\n children: [createSvgBlip(mediaData)]\n});\nconst createExtentionList = (mediaData) => new BuilderElement({\n name: \"a:extLst\",\n children: [createExtention(mediaData)]\n});\nconst createBlip = (mediaData) => new BuilderElement({\n name: \"a:blip\",\n attributes: {\n embed: {\n key: \"r:embed\",\n value: `rId{${mediaData.type === \"svg\" ? mediaData.fallback.fileName : mediaData.fileName}}`\n },\n cstate: {\n key: \"cstate\",\n value: \"none\"\n }\n },\n children: mediaData.type === \"svg\" ? [createExtentionList(mediaData)] : []\n});\nclass SourceRectangle extends XmlComponent {\n constructor() {\n super(\"a:srcRect\");\n }\n}\nclass FillRectangle extends XmlComponent {\n constructor() {\n super(\"a:fillRect\");\n }\n}\nclass Stretch extends XmlComponent {\n constructor() {\n super(\"a:stretch\");\n this.root.push(new FillRectangle());\n }\n}\nclass BlipFill extends XmlComponent {\n constructor(mediaData) {\n super(\"pic:blipFill\");\n this.root.push(createBlip(mediaData));\n this.root.push(new SourceRectangle());\n this.root.push(new Stretch());\n }\n}\nclass PicLocksAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n noChangeAspect: \"noChangeAspect\",\n noChangeArrowheads: \"noChangeArrowheads\"\n });\n }\n}\nclass PicLocks extends XmlComponent {\n constructor() {\n super(\"a:picLocks\");\n this.root.push(\n new PicLocksAttributes({\n noChangeAspect: 1,\n noChangeArrowheads: 1\n })\n );\n }\n}\nclass ChildNonVisualProperties extends XmlComponent {\n constructor() {\n super(\"pic:cNvPicPr\");\n this.root.push(new PicLocks());\n }\n}\nconst createHyperlinkClick = (linkId, hasXmlNs) => new BuilderElement({\n name: \"a:hlinkClick\",\n attributes: __spreadProps(__spreadValues({}, hasXmlNs ? {\n xmlns: {\n key: \"xmlns:a\",\n value: \"http://schemas.openxmlformats.org/drawingml/2006/main\"\n }\n } : {}), {\n id: {\n key: \"r:id\",\n value: `rId${linkId}`\n }\n })\n});\nclass NonVisualPropertiesAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"id\",\n name: \"name\",\n descr: \"descr\"\n });\n }\n}\nclass NonVisualProperties extends XmlComponent {\n constructor() {\n super(\"pic:cNvPr\");\n this.root.push(\n new NonVisualPropertiesAttributes({\n id: 0,\n name: \"\",\n descr: \"\"\n })\n );\n }\n prepForXml(context) {\n for (let i = context.stack.length - 1; i >= 0; i--) {\n const element = context.stack[i];\n if (!(element instanceof ConcreteHyperlink)) {\n continue;\n }\n this.root.push(createHyperlinkClick(element.linkId, false));\n break;\n }\n return super.prepForXml(context);\n }\n}\nclass NonVisualPicProperties extends XmlComponent {\n constructor() {\n super(\"pic:nvPicPr\");\n this.root.push(new NonVisualProperties());\n this.root.push(new ChildNonVisualProperties());\n }\n}\nclass PicAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n xmlns: \"xmlns:pic\"\n });\n }\n}\nclass Pic extends XmlComponent {\n constructor({\n mediaData,\n transform,\n outline\n }) {\n super(\"pic:pic\");\n this.root.push(\n new PicAttributes({\n xmlns: \"http://schemas.openxmlformats.org/drawingml/2006/picture\"\n })\n );\n this.root.push(new NonVisualPicProperties());\n this.root.push(new BlipFill(mediaData));\n this.root.push(new ShapeProperties({ element: \"pic\", transform, outline }));\n }\n}\nconst createGroupProperties = (transform) => new BuilderElement({\n name: \"wpg:grpSpPr\",\n children: [new Form(transform)]\n});\nconst createNonVisualGroupProperties = () => new BuilderElement({\n name: \"wpg:cNvGrpSpPr\"\n});\nconst createWpgGroup = (options) => new BuilderElement({\n name: \"wpg:wgp\",\n children: [createNonVisualGroupProperties(), createGroupProperties(options.transformation), ...options.children]\n});\nclass GraphicData extends XmlComponent {\n // private readonly pic: Pic;\n constructor({\n mediaData,\n transform,\n outline,\n solidFill\n }) {\n super(\"a:graphicData\");\n if (mediaData.type === \"wps\") {\n this.root.push(\n new GraphicDataAttributes({\n uri: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\"\n })\n );\n const wps = createWpsShape(__spreadProps(__spreadValues({}, mediaData.data), { transformation: transform, outline, solidFill }));\n this.root.push(wps);\n } else if (mediaData.type === \"wpg\") {\n this.root.push(\n new GraphicDataAttributes({\n uri: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\"\n })\n );\n const md = mediaData;\n const children = md.children.map((child) => {\n if (child.type === \"wps\") {\n return createWpsShape(__spreadProps(__spreadValues({}, child.data), {\n transformation: child.transformation,\n outline: child.outline,\n solidFill: child.solidFill\n }));\n } else {\n return new Pic({ mediaData: child, transform: child.transformation, outline: child.outline });\n }\n });\n const wpg = createWpgGroup({ children, transformation: transform });\n this.root.push(wpg);\n } else {\n this.root.push(\n new GraphicDataAttributes({\n uri: \"http://schemas.openxmlformats.org/drawingml/2006/picture\"\n })\n );\n const md = mediaData;\n const pic = new Pic({ mediaData: md, transform, outline });\n this.root.push(pic);\n }\n }\n}\nclass GraphicAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n a: \"xmlns:a\"\n });\n }\n}\nclass Graphic extends XmlComponent {\n constructor({\n mediaData,\n transform,\n outline,\n solidFill\n }) {\n super(\"a:graphic\");\n __publicField(this, \"data\");\n this.root.push(\n new GraphicAttributes({\n a: \"http://schemas.openxmlformats.org/drawingml/2006/main\"\n })\n );\n this.data = new GraphicData({ mediaData, transform, outline, solidFill });\n this.root.push(this.data);\n }\n}\nconst TextWrappingType = {\n NONE: 0,\n SQUARE: 1,\n TIGHT: 2,\n TOP_AND_BOTTOM: 3\n};\nconst TextWrappingSide = {\n /** Text wraps on both sides of the drawing */\n BOTH_SIDES: \"bothSides\",\n /** Text wraps only on the left side */\n LEFT: \"left\",\n /** Text wraps only on the right side */\n RIGHT: \"right\",\n /** Text wraps on the side with more space */\n LARGEST: \"largest\"\n};\nconst createWrapNone = () => new BuilderElement({\n name: \"wp:wrapNone\"\n});\nconst createWrapSquare = (textWrapping, margins = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n}) => new BuilderElement({\n name: \"wp:wrapSquare\",\n attributes: {\n wrapText: { key: \"wrapText\", value: textWrapping.side || TextWrappingSide.BOTH_SIDES },\n distT: { key: \"distT\", value: margins.top },\n distB: { key: \"distB\", value: margins.bottom },\n distL: { key: \"distL\", value: margins.left },\n distR: { key: \"distR\", value: margins.right }\n }\n});\nconst createWrapTight = (margins = {\n top: 0,\n bottom: 0\n}) => new BuilderElement({\n name: \"wp:wrapTight\",\n attributes: {\n distT: { key: \"distT\", value: margins.top },\n distB: { key: \"distB\", value: margins.bottom }\n }\n});\nconst createWrapTopAndBottom = (margins = {\n top: 0,\n bottom: 0\n}) => new BuilderElement({\n name: \"wp:wrapTopAndBottom\",\n attributes: {\n distT: { key: \"distT\", value: margins.top },\n distB: { key: \"distB\", value: margins.bottom }\n }\n});\nclass DocProperties extends XmlComponent {\n constructor({ name, description, title, id } = { name: \"\", description: \"\", title: \"\" }) {\n super(\"wp:docPr\");\n __publicField(this, \"docPropertiesUniqueNumericId\", docPropertiesUniqueNumericIdGen());\n const attributes = {\n id: {\n key: \"id\",\n value: id != null ? id : this.docPropertiesUniqueNumericId()\n },\n name: {\n key: \"name\",\n value: name\n }\n };\n if (description !== null && description !== void 0) {\n attributes.description = {\n key: \"descr\",\n value: description\n };\n }\n if (title !== null && title !== void 0) {\n attributes.title = {\n key: \"title\",\n value: title\n };\n }\n this.root.push(new NextAttributeComponent(attributes));\n }\n prepForXml(context) {\n for (let i = context.stack.length - 1; i >= 0; i--) {\n const element = context.stack[i];\n if (!(element instanceof ConcreteHyperlink)) {\n continue;\n }\n this.root.push(createHyperlinkClick(element.linkId, true));\n break;\n }\n return super.prepForXml(context);\n }\n}\nconst createEffectExtent = ({ top, right, bottom, left }) => new BuilderElement({\n name: \"wp:effectExtent\",\n attributes: {\n top: {\n key: \"t\",\n value: top\n },\n right: {\n key: \"r\",\n value: right\n },\n bottom: {\n key: \"b\",\n value: bottom\n },\n left: {\n key: \"l\",\n value: left\n }\n }\n});\nconst createExtent = ({ x, y }) => new BuilderElement({\n name: \"wp:extent\",\n attributes: {\n x: { key: \"cx\", value: x },\n y: { key: \"cy\", value: y }\n }\n});\nclass GraphicFrameLockAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n xmlns: \"xmlns:a\",\n noChangeAspect: \"noChangeAspect\"\n });\n }\n}\nclass GraphicFrameLocks extends XmlComponent {\n constructor() {\n super(\"a:graphicFrameLocks\");\n this.root.push(\n new GraphicFrameLockAttributes({\n xmlns: \"http://schemas.openxmlformats.org/drawingml/2006/main\",\n noChangeAspect: 1\n })\n );\n }\n}\nconst createGraphicFrameProperties = () => new BuilderElement({\n name: \"wp:cNvGraphicFramePr\",\n children: [new GraphicFrameLocks()]\n});\nclass AnchorAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n distT: \"distT\",\n distB: \"distB\",\n distL: \"distL\",\n distR: \"distR\",\n allowOverlap: \"allowOverlap\",\n behindDoc: \"behindDoc\",\n layoutInCell: \"layoutInCell\",\n locked: \"locked\",\n relativeHeight: \"relativeHeight\",\n simplePos: \"simplePos\"\n });\n }\n}\nclass Anchor extends XmlComponent {\n constructor({\n mediaData,\n transform,\n drawingOptions\n }) {\n super(\"wp:anchor\");\n const floating = __spreadValues({\n allowOverlap: true,\n behindDocument: false,\n lockAnchor: false,\n layoutInCell: true,\n verticalPosition: {},\n horizontalPosition: {}\n }, drawingOptions.floating);\n this.root.push(\n new AnchorAttributes({\n distT: floating.margins ? floating.margins.top || 0 : 0,\n distB: floating.margins ? floating.margins.bottom || 0 : 0,\n distL: floating.margins ? floating.margins.left || 0 : 0,\n distR: floating.margins ? floating.margins.right || 0 : 0,\n simplePos: \"0\",\n // note: word doesn't fully support - so we use 0\n allowOverlap: floating.allowOverlap === true ? \"1\" : \"0\",\n behindDoc: floating.behindDocument === true ? \"1\" : \"0\",\n locked: floating.lockAnchor === true ? \"1\" : \"0\",\n layoutInCell: floating.layoutInCell === true ? \"1\" : \"0\",\n relativeHeight: floating.zIndex ? floating.zIndex : transform.emus.y\n })\n );\n this.root.push(createSimplePos());\n this.root.push(createHorizontalPosition(floating.horizontalPosition));\n this.root.push(createVerticalPosition(floating.verticalPosition));\n this.root.push(createExtent({ x: transform.emus.x, y: transform.emus.y }));\n this.root.push(createEffectExtent({ top: 0, right: 0, bottom: 0, left: 0 }));\n if (drawingOptions.floating !== void 0 && drawingOptions.floating.wrap !== void 0) {\n switch (drawingOptions.floating.wrap.type) {\n case TextWrappingType.SQUARE:\n this.root.push(createWrapSquare(drawingOptions.floating.wrap, drawingOptions.floating.margins));\n break;\n case TextWrappingType.TIGHT:\n this.root.push(createWrapTight(drawingOptions.floating.margins));\n break;\n case TextWrappingType.TOP_AND_BOTTOM:\n this.root.push(createWrapTopAndBottom(drawingOptions.floating.margins));\n break;\n case TextWrappingType.NONE:\n default:\n this.root.push(createWrapNone());\n }\n } else {\n this.root.push(createWrapNone());\n }\n this.root.push(new DocProperties(drawingOptions.docProperties));\n this.root.push(createGraphicFrameProperties());\n this.root.push(new Graphic({ mediaData, transform, outline: drawingOptions.outline, solidFill: drawingOptions.solidFill }));\n }\n}\nconst createInline = ({ mediaData, transform, docProperties, outline, solidFill }) => {\n var _a, _b, _c, _d;\n return new BuilderElement({\n name: \"wp:inline\",\n attributes: {\n distanceTop: {\n key: \"distT\",\n value: 0\n },\n distanceBottom: {\n key: \"distB\",\n value: 0\n },\n distanceLeft: {\n key: \"distL\",\n value: 0\n },\n distanceRight: {\n key: \"distR\",\n value: 0\n }\n },\n children: [\n createExtent({ x: transform.emus.x, y: transform.emus.y }),\n createEffectExtent(\n outline ? {\n top: ((_a = outline.width) != null ? _a : 9525) * 2,\n right: ((_b = outline.width) != null ? _b : 9525) * 2,\n bottom: ((_c = outline.width) != null ? _c : 9525) * 2,\n left: ((_d = outline.width) != null ? _d : 9525) * 2\n } : { top: 0, right: 0, bottom: 0, left: 0 }\n ),\n new DocProperties(docProperties),\n createGraphicFrameProperties(),\n new Graphic({ mediaData, transform, outline, solidFill })\n ]\n });\n};\nclass Drawing extends XmlComponent {\n constructor(imageData, drawingOptions = {}) {\n super(\"w:drawing\");\n if (!drawingOptions.floating) {\n this.root.push(\n createInline({\n mediaData: imageData,\n transform: imageData.transformation,\n docProperties: drawingOptions.docProperties,\n outline: drawingOptions.outline,\n solidFill: drawingOptions.solidFill\n })\n );\n } else {\n this.root.push(new Anchor({ mediaData: imageData, transform: imageData.transformation, drawingOptions }));\n }\n }\n}\nconst convertDataURIToBinary = (dataURI) => {\n const BASE64_MARKER = \";base64,\";\n const base64Index = dataURI.indexOf(BASE64_MARKER);\n const base64IndexWithOffset = base64Index === -1 ? 0 : base64Index + BASE64_MARKER.length;\n return new Uint8Array(\n atob(dataURI.substring(base64IndexWithOffset)).split(\"\").map((c) => c.charCodeAt(0))\n );\n};\nconst standardizeData = (data) => typeof data === \"string\" ? convertDataURIToBinary(data) : data;\nconst createImageData = (options, key) => ({\n data: standardizeData(options.data),\n fileName: key,\n transformation: {\n pixels: {\n x: Math.round(options.transformation.width),\n y: Math.round(options.transformation.height)\n },\n emus: {\n x: Math.round(options.transformation.width * 9525),\n y: Math.round(options.transformation.height * 9525)\n },\n flip: options.transformation.flip,\n rotation: options.transformation.rotation ? options.transformation.rotation * 6e4 : void 0\n }\n});\nclass ImageRun extends Run {\n constructor(options) {\n super({});\n __publicField(this, \"imageData\");\n const hash2 = hashedId(options.data);\n const key = `${hash2}.${options.type}`;\n this.imageData = options.type === \"svg\" ? __spreadProps(__spreadValues({\n type: options.type\n }, createImageData(options, key)), {\n fallback: __spreadValues({\n type: options.fallback.type\n }, createImageData(\n __spreadProps(__spreadValues({}, options.fallback), {\n transformation: options.transformation\n }),\n `${hashedId(options.fallback.data)}.${options.fallback.type}`\n ))\n }) : __spreadValues({\n type: options.type\n }, createImageData(options, key));\n const drawing = new Drawing(this.imageData, {\n floating: options.floating,\n docProperties: options.altText,\n outline: options.outline\n });\n this.root.push(drawing);\n }\n prepForXml(context) {\n context.file.Media.addImage(this.imageData.fileName, this.imageData);\n if (this.imageData.type === \"svg\") {\n context.file.Media.addImage(this.imageData.fallback.fileName, this.imageData.fallback);\n }\n return super.prepForXml(context);\n }\n}\nconst createTransformation = (options) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n return {\n offset: {\n pixels: {\n x: Math.round((_b = (_a = options.offset) == null ? void 0 : _a.left) != null ? _b : 0),\n y: Math.round((_d = (_c = options.offset) == null ? void 0 : _c.top) != null ? _d : 0)\n },\n emus: {\n x: Math.round(((_f = (_e = options.offset) == null ? void 0 : _e.left) != null ? _f : 0) * 9525),\n y: Math.round(((_h = (_g = options.offset) == null ? void 0 : _g.top) != null ? _h : 0) * 9525)\n }\n },\n pixels: {\n x: Math.round(options.width),\n y: Math.round(options.height)\n },\n emus: {\n x: Math.round(options.width * 9525),\n y: Math.round(options.height * 9525)\n },\n flip: options.flip,\n rotation: options.rotation ? options.rotation * 6e4 : void 0\n };\n};\nclass WpsShapeRun extends Run {\n constructor(options) {\n super({});\n __publicField(this, \"wpsShapeData\");\n this.wpsShapeData = {\n type: options.type,\n transformation: createTransformation(options.transformation),\n data: __spreadValues({}, options)\n };\n const drawing = new Drawing(this.wpsShapeData, {\n floating: options.floating,\n docProperties: options.altText,\n outline: options.outline,\n solidFill: options.solidFill\n });\n this.root.push(drawing);\n }\n}\nclass WpgGroupRun extends Run {\n constructor(options) {\n super({});\n __publicField(this, \"wpgGroupData\");\n __publicField(this, \"mediaDatas\");\n this.wpgGroupData = {\n type: options.type,\n transformation: createTransformation(options.transformation),\n children: options.children\n };\n const drawing = new Drawing(this.wpgGroupData, {\n floating: options.floating,\n docProperties: options.altText\n });\n this.mediaDatas = options.children.filter((child) => child.type !== \"wps\").map((child) => child);\n this.root.push(drawing);\n }\n prepForXml(context) {\n this.mediaDatas.forEach((child) => {\n context.file.Media.addImage(child.fileName, child);\n if (child.type === \"svg\") {\n context.file.Media.addImage(child.fallback.fileName, child.fallback);\n }\n });\n return super.prepForXml(context);\n }\n}\nclass SequentialIdentifierInstruction extends XmlComponent {\n constructor(identifier) {\n super(\"w:instrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(`SEQ ${identifier}`);\n }\n}\nclass SequentialIdentifier extends Run {\n constructor(identifier) {\n super({});\n this.root.push(createBegin(true));\n this.root.push(new SequentialIdentifierInstruction(identifier));\n this.root.push(createSeparate());\n this.root.push(createEnd());\n }\n}\nclass FldSimpleAttrs extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { instr: \"w:instr\" });\n }\n}\nclass SimpleField extends XmlComponent {\n constructor(instruction, cachedValue) {\n super(\"w:fldSimple\");\n this.root.push(new FldSimpleAttrs({ instr: instruction }));\n if (cachedValue !== void 0) {\n this.root.push(new TextRun(cachedValue));\n }\n }\n}\nclass SimpleMailMergeField extends SimpleField {\n constructor(fieldName) {\n super(` MERGEFIELD ${fieldName} `, `«${fieldName}»`);\n }\n}\nclass RelationshipsAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n xmlns: \"xmlns\"\n });\n }\n}\nconst TargetModeType = {\n /** Target is external to the package (e.g., hyperlink to a URL) */\n EXTERNAL: \"External\"\n};\nconst createRelationship = (id, type2, target, targetMode) => new BuilderElement({\n name: \"Relationship\",\n attributes: {\n id: { key: \"Id\", value: id },\n type: { key: \"Type\", value: type2 },\n target: { key: \"Target\", value: target },\n targetMode: { key: \"TargetMode\", value: targetMode }\n }\n});\nclass Relationships extends XmlComponent {\n constructor() {\n super(\"Relationships\");\n this.root.push(\n new RelationshipsAttributes({\n xmlns: \"http://schemas.openxmlformats.org/package/2006/relationships\"\n })\n );\n }\n /**\n * Creates a new relationship to another part in the package.\n *\n * @param id - Unique identifier for this relationship (will be prefixed with \"rId\")\n * @param type - Relationship type URI (e.g., image, header, hyperlink)\n * @param target - Path to the target part\n * @param targetMode - Optional mode indicating if target is external\n */\n addRelationship(id, type2, target, targetMode) {\n this.root.push(createRelationship(`rId${id}`, type2, target, targetMode));\n }\n /**\n * Gets the count of relationships in this collection.\n * Excludes the attributes element from the count.\n */\n get RelationshipCount() {\n return this.root.length - 1;\n }\n}\nclass CommentAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { id: \"w:id\", initials: \"w:initials\", author: \"w:author\", date: \"w:date\" });\n }\n}\nclass CommentRangeAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { id: \"w:id\" });\n }\n}\nclass RootCommentsAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n \"xmlns:cx\": \"xmlns:cx\",\n \"xmlns:cx1\": \"xmlns:cx1\",\n \"xmlns:cx2\": \"xmlns:cx2\",\n \"xmlns:cx3\": \"xmlns:cx3\",\n \"xmlns:cx4\": \"xmlns:cx4\",\n \"xmlns:cx5\": \"xmlns:cx5\",\n \"xmlns:cx6\": \"xmlns:cx6\",\n \"xmlns:cx7\": \"xmlns:cx7\",\n \"xmlns:cx8\": \"xmlns:cx8\",\n \"xmlns:mc\": \"xmlns:mc\",\n \"xmlns:aink\": \"xmlns:aink\",\n \"xmlns:am3d\": \"xmlns:am3d\",\n \"xmlns:o\": \"xmlns:o\",\n \"xmlns:r\": \"xmlns:r\",\n \"xmlns:m\": \"xmlns:m\",\n \"xmlns:v\": \"xmlns:v\",\n \"xmlns:wp14\": \"xmlns:wp14\",\n \"xmlns:wp\": \"xmlns:wp\",\n \"xmlns:w10\": \"xmlns:w10\",\n \"xmlns:w\": \"xmlns:w\",\n \"xmlns:w14\": \"xmlns:w14\",\n \"xmlns:w15\": \"xmlns:w15\",\n \"xmlns:w16cex\": \"xmlns:w16cex\",\n \"xmlns:w16cid\": \"xmlns:w16cid\",\n \"xmlns:w16\": \"xmlns:w16\",\n \"xmlns:w16sdtdh\": \"xmlns:w16sdtdh\",\n \"xmlns:w16se\": \"xmlns:w16se\",\n \"xmlns:wpg\": \"xmlns:wpg\",\n \"xmlns:wpi\": \"xmlns:wpi\",\n \"xmlns:wne\": \"xmlns:wne\",\n \"xmlns:wps\": \"xmlns:wps\"\n });\n }\n}\nclass CommentRangeStart extends XmlComponent {\n constructor(id) {\n super(\"w:commentRangeStart\");\n this.root.push(new CommentRangeAttributes({ id }));\n }\n}\nclass CommentRangeEnd extends XmlComponent {\n constructor(id) {\n super(\"w:commentRangeEnd\");\n this.root.push(new CommentRangeAttributes({ id }));\n }\n}\nclass CommentReference extends XmlComponent {\n constructor(id) {\n super(\"w:commentReference\");\n this.root.push(new CommentRangeAttributes({ id }));\n }\n}\nclass Comment extends XmlComponent {\n constructor({ id, initials, author, date = /* @__PURE__ */ new Date(), children }) {\n super(\"w:comment\");\n this.root.push(\n new CommentAttributes({\n id,\n initials,\n author,\n date: date.toISOString()\n })\n );\n for (const child of children) {\n this.root.push(child);\n }\n }\n}\nclass Comments extends XmlComponent {\n constructor({ children }) {\n super(\"w:comments\");\n __publicField(this, \"relationships\");\n this.root.push(\n new RootCommentsAttributes({\n \"xmlns:cx\": \"http://schemas.microsoft.com/office/drawing/2014/chartex\",\n \"xmlns:cx1\": \"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\",\n \"xmlns:cx2\": \"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\",\n \"xmlns:cx3\": \"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\",\n \"xmlns:cx4\": \"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\",\n \"xmlns:cx5\": \"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\",\n \"xmlns:cx6\": \"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\",\n \"xmlns:cx7\": \"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\",\n \"xmlns:cx8\": \"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\",\n \"xmlns:mc\": \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n \"xmlns:aink\": \"http://schemas.microsoft.com/office/drawing/2016/ink\",\n \"xmlns:am3d\": \"http://schemas.microsoft.com/office/drawing/2017/model3d\",\n \"xmlns:o\": \"urn:schemas-microsoft-com:office:office\",\n \"xmlns:r\": \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n \"xmlns:m\": \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n \"xmlns:v\": \"urn:schemas-microsoft-com:vml\",\n \"xmlns:wp14\": \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n \"xmlns:wp\": \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n \"xmlns:w10\": \"urn:schemas-microsoft-com:office:word\",\n \"xmlns:w\": \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n \"xmlns:w14\": \"http://schemas.microsoft.com/office/word/2010/wordml\",\n \"xmlns:w15\": \"http://schemas.microsoft.com/office/word/2012/wordml\",\n \"xmlns:w16cex\": \"http://schemas.microsoft.com/office/word/2018/wordml/cex\",\n \"xmlns:w16cid\": \"http://schemas.microsoft.com/office/word/2016/wordml/cid\",\n \"xmlns:w16\": \"http://schemas.microsoft.com/office/word/2018/wordml\",\n \"xmlns:w16sdtdh\": \"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash\",\n \"xmlns:w16se\": \"http://schemas.microsoft.com/office/word/2015/wordml/symex\",\n \"xmlns:wpg\": \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n \"xmlns:wpi\": \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n \"xmlns:wne\": \"http://schemas.microsoft.com/office/word/2006/wordml\",\n \"xmlns:wps\": \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\"\n })\n );\n for (const child of children) {\n this.root.push(new Comment(child));\n }\n this.relationships = new Relationships();\n }\n get Relationships() {\n return this.relationships;\n }\n}\nclass NoBreakHyphen extends EmptyElement {\n constructor() {\n super(\"w:noBreakHyphen\");\n }\n}\nclass SoftHyphen extends EmptyElement {\n constructor() {\n super(\"w:softHyphen\");\n }\n}\nclass DayShort extends EmptyElement {\n constructor() {\n super(\"w:dayShort\");\n }\n}\nclass MonthShort extends EmptyElement {\n constructor() {\n super(\"w:monthShort\");\n }\n}\nclass YearShort extends EmptyElement {\n constructor() {\n super(\"w:yearShort\");\n }\n}\nclass DayLong extends EmptyElement {\n constructor() {\n super(\"w:dayLong\");\n }\n}\nclass MonthLong extends EmptyElement {\n constructor() {\n super(\"w:monthLong\");\n }\n}\nclass YearLong extends EmptyElement {\n constructor() {\n super(\"w:yearLong\");\n }\n}\nclass AnnotationReference extends EmptyElement {\n constructor() {\n super(\"w:annotationRef\");\n }\n}\nclass FootnoteReferenceElement extends EmptyElement {\n constructor() {\n super(\"w:footnoteRef\");\n }\n}\nclass EndnoteReference extends EmptyElement {\n constructor() {\n super(\"w:endnoteRef\");\n }\n}\nclass Separator extends EmptyElement {\n constructor() {\n super(\"w:separator\");\n }\n}\nclass ContinuationSeparator extends EmptyElement {\n constructor() {\n super(\"w:continuationSeparator\");\n }\n}\nclass PageNumberElement extends EmptyElement {\n constructor() {\n super(\"w:pgNum\");\n }\n}\nclass CarriageReturn extends EmptyElement {\n constructor() {\n super(\"w:cr\");\n }\n}\nclass Tab extends EmptyElement {\n constructor() {\n super(\"w:tab\");\n }\n}\nclass LastRenderedPageBreak extends EmptyElement {\n constructor() {\n super(\"w:lastRenderedPageBreak\");\n }\n}\nconst PositionalTabAlignment = {\n /** Left-aligned tab */\n LEFT: \"left\",\n /** Center-aligned tab */\n CENTER: \"center\",\n /** Right-aligned tab */\n RIGHT: \"right\"\n};\nconst PositionalTabRelativeTo = {\n /** Position relative to margin */\n MARGIN: \"margin\",\n /** Position relative to indent */\n INDENT: \"indent\"\n};\nconst PositionalTabLeader = {\n /** No leader character */\n NONE: \"none\",\n /** Dot leader (...) */\n DOT: \"dot\",\n /** Hyphen leader (---) */\n HYPHEN: \"hyphen\",\n /** Underscore leader (___) */\n UNDERSCORE: \"underscore\",\n /** Middle dot leader (···) */\n MIDDLE_DOT: \"middleDot\"\n};\nclass PositionalTabAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n alignment: \"w:alignment\",\n relativeTo: \"w:relativeTo\",\n leader: \"w:leader\"\n });\n }\n}\nclass PositionalTab extends XmlComponent {\n constructor(options) {\n super(\"w:ptab\");\n this.root.push(\n new PositionalTabAttributes({\n alignment: options.alignment,\n relativeTo: options.relativeTo,\n leader: options.leader\n })\n );\n }\n}\nconst BreakType = {\n /** Column break - text continues at the beginning of the next column */\n COLUMN: \"column\",\n /** Page break - text continues at the beginning of the next page */\n PAGE: \"page\"\n // textWrapping breaks are the default and already exposed via the \"Run\" class\n};\nclass Break extends XmlComponent {\n constructor(type2) {\n super(\"w:br\");\n this.root.push(\n new Attributes({\n type: type2\n })\n );\n }\n}\nclass PageBreak extends Run {\n constructor() {\n super({});\n this.root.push(new Break(BreakType.PAGE));\n }\n}\nclass ColumnBreak extends Run {\n constructor() {\n super({});\n this.root.push(new Break(BreakType.COLUMN));\n }\n}\nclass PageBreakBefore extends XmlComponent {\n constructor() {\n super(\"w:pageBreakBefore\");\n }\n}\nconst LineRuleType = {\n /** Line spacing is at least the specified value */\n AT_LEAST: \"atLeast\",\n /** Line spacing is exactly the specified value */\n EXACTLY: \"exactly\",\n /** Line spacing is exactly the specified value (alias for EXACTLY) */\n EXACT: \"exact\",\n /** Line spacing is automatically determined based on content */\n AUTO: \"auto\"\n};\nconst createSpacing = ({ after, before, line, lineRule, beforeAutoSpacing, afterAutoSpacing }) => new BuilderElement({\n name: \"w:spacing\",\n attributes: {\n after: { key: \"w:after\", value: after },\n before: { key: \"w:before\", value: before },\n line: { key: \"w:line\", value: line },\n lineRule: { key: \"w:lineRule\", value: lineRule },\n beforeAutoSpacing: { key: \"w:beforeAutospacing\", value: beforeAutoSpacing },\n afterAutoSpacing: { key: \"w:afterAutospacing\", value: afterAutoSpacing }\n }\n});\nconst HeadingLevel = {\n /** Heading 1 style */\n HEADING_1: \"Heading1\",\n /** Heading 2 style */\n HEADING_2: \"Heading2\",\n /** Heading 3 style */\n HEADING_3: \"Heading3\",\n /** Heading 4 style */\n HEADING_4: \"Heading4\",\n /** Heading 5 style */\n HEADING_5: \"Heading5\",\n /** Heading 6 style */\n HEADING_6: \"Heading6\",\n /** Title style */\n TITLE: \"Title\"\n};\nconst createParagraphStyle = (styleId) => new BuilderElement({\n name: \"w:pStyle\",\n attributes: {\n val: { key: \"w:val\", value: styleId }\n }\n});\nconst TabStopType = {\n /** Left-aligned tab stop */\n LEFT: \"left\",\n /** Right-aligned tab stop */\n RIGHT: \"right\",\n /** Center-aligned tab stop */\n CENTER: \"center\",\n /** Bar tab stop - inserts a vertical bar at the position */\n BAR: \"bar\",\n /** Clears a tab stop at the specified position */\n CLEAR: \"clear\",\n /** Decimal-aligned tab stop - aligns on decimal point */\n DECIMAL: \"decimal\",\n /** End-aligned tab stop (right-to-left equivalent) */\n END: \"end\",\n /** List tab stop for numbered lists */\n NUM: \"num\",\n /** Start-aligned tab stop (left-to-right equivalent) */\n START: \"start\"\n};\nconst LeaderType = {\n /** Dot leader (....) */\n DOT: \"dot\",\n /** Hyphen leader (----) */\n HYPHEN: \"hyphen\",\n /** Middle dot leader (····) */\n MIDDLE_DOT: \"middleDot\",\n /** No leader */\n NONE: \"none\",\n /** Underscore leader (____) */\n UNDERSCORE: \"underscore\"\n};\nconst TabStopPosition = {\n /** Maximum tab stop position (right margin) */\n MAX: 9026\n};\nconst createTabStopItem = ({ type: type2, position, leader }) => new BuilderElement({\n name: \"w:tab\",\n attributes: {\n val: { key: \"w:val\", value: type2 },\n pos: { key: \"w:pos\", value: position },\n leader: { key: \"w:leader\", value: leader }\n }\n});\nconst createTabStop = (tabDefinitions) => new BuilderElement({\n name: \"w:tabs\",\n children: tabDefinitions.map((tabDefinition) => createTabStopItem(tabDefinition))\n});\nclass NumberProperties extends XmlComponent {\n constructor(numberId, indentLevel) {\n super(\"w:numPr\");\n this.root.push(new IndentLevel(indentLevel));\n this.root.push(new NumberId(numberId));\n }\n}\nclass IndentLevel extends XmlComponent {\n constructor(level) {\n super(\"w:ilvl\");\n if (level > 9) {\n throw new Error(\n \"Level cannot be greater than 9. Read more here: https://answers.microsoft.com/en-us/msoffice/forum/all/does-word-support-more-than-9-list-levels/d130fdcd-1781-446d-8c84-c6c79124e4d7\"\n );\n }\n this.root.push(\n new Attributes({\n val: level\n })\n );\n }\n}\nclass NumberId extends XmlComponent {\n constructor(id) {\n super(\"w:numId\");\n this.root.push(\n new Attributes({\n val: typeof id === \"string\" ? `{${id}}` : id\n })\n );\n }\n}\nclass FileChild extends XmlComponent {\n constructor() {\n super(...arguments);\n /** Marker property identifying this as a FileChild */\n __publicField(this, \"fileChild\", /* @__PURE__ */ Symbol());\n }\n}\nclass HyperlinkAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"r:id\",\n history: \"w:history\",\n anchor: \"w:anchor\"\n });\n }\n}\nconst HyperlinkType = {\n /** Internal hyperlink to a bookmark within the document */\n INTERNAL: \"INTERNAL\",\n /** External hyperlink to a URL outside the document */\n EXTERNAL: \"EXTERNAL\"\n};\nclass ConcreteHyperlink extends XmlComponent {\n constructor(children, relationshipId, anchor) {\n super(\"w:hyperlink\");\n __publicField(this, \"linkId\");\n this.linkId = relationshipId;\n const props = {\n history: 1,\n anchor: anchor ? anchor : void 0,\n id: !anchor ? `rId${this.linkId}` : void 0\n };\n const attributes = new HyperlinkAttributes(props);\n this.root.push(attributes);\n children.forEach((child) => {\n this.root.push(child);\n });\n }\n}\nclass InternalHyperlink extends ConcreteHyperlink {\n constructor(options) {\n super(options.children, uniqueId(), options.anchor);\n }\n}\nclass ExternalHyperlink extends XmlComponent {\n constructor(options) {\n super(\"w:externalHyperlink\");\n this.options = options;\n }\n}\nclass BookmarkStartAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"w:id\",\n name: \"w:name\"\n });\n }\n}\nclass BookmarkEndAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"w:id\"\n });\n }\n}\nclass Bookmark {\n constructor(options) {\n __publicField(this, \"bookmarkUniqueNumericId\", bookmarkUniqueNumericIdGen());\n __publicField(this, \"start\");\n __publicField(this, \"children\");\n __publicField(this, \"end\");\n const linkId = this.bookmarkUniqueNumericId();\n this.start = new BookmarkStart(options.id, linkId);\n this.children = options.children;\n this.end = new BookmarkEnd(linkId);\n }\n}\nclass BookmarkStart extends XmlComponent {\n constructor(id, linkId) {\n super(\"w:bookmarkStart\");\n const attributes = new BookmarkStartAttributes({\n name: id,\n id: linkId\n });\n this.root.push(attributes);\n }\n}\nclass BookmarkEnd extends XmlComponent {\n constructor(linkId) {\n super(\"w:bookmarkEnd\");\n const attributes = new BookmarkEndAttributes({\n id: linkId\n });\n this.root.push(attributes);\n }\n}\nvar NumberedItemReferenceFormat = /* @__PURE__ */ ((NumberedItemReferenceFormat2) => {\n NumberedItemReferenceFormat2[\"NONE\"] = \"none\";\n NumberedItemReferenceFormat2[\"RELATIVE\"] = \"relative\";\n NumberedItemReferenceFormat2[\"NO_CONTEXT\"] = \"no_context\";\n NumberedItemReferenceFormat2[\"FULL_CONTEXT\"] = \"full_context\";\n return NumberedItemReferenceFormat2;\n})(NumberedItemReferenceFormat || {});\nconst SWITCH_MAP = {\n [\n \"relative\"\n /* RELATIVE */\n ]: \"\\\\r\",\n [\n \"no_context\"\n /* NO_CONTEXT */\n ]: \"\\\\n\",\n [\n \"full_context\"\n /* FULL_CONTEXT */\n ]: \"\\\\w\",\n [\n \"none\"\n /* NONE */\n ]: void 0\n};\nclass NumberedItemReference extends SimpleField {\n constructor(bookmarkId, cachedValue, options = {}) {\n const {\n hyperlink = true,\n referenceFormat = \"full_context\"\n /* FULL_CONTEXT */\n } = options;\n const baseInstruction = `REF ${bookmarkId}`;\n const switches = [...hyperlink ? [\"\\\\h\"] : [], ...[SWITCH_MAP[referenceFormat]].filter((a) => !!a)];\n const instruction = `${baseInstruction} ${switches.join(\" \")}`;\n super(instruction, cachedValue);\n }\n}\nconst createOutlineLevel = (level) => new BuilderElement({\n name: \"w:outlineLvl\",\n attributes: {\n val: { key: \"w:val\", value: level }\n }\n});\nclass PageReferenceFieldInstruction extends XmlComponent {\n constructor(bookmarkId, options = {}) {\n super(\"w:instrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n let instruction = `PAGEREF ${bookmarkId}`;\n if (options.hyperlink) {\n instruction = `${instruction} \\\\h`;\n }\n if (options.useRelativePosition) {\n instruction = `${instruction} \\\\p`;\n }\n this.root.push(instruction);\n }\n}\nclass PageReference extends Run {\n constructor(bookmarkId, options = {}) {\n super({\n children: [createBegin(true), new PageReferenceFieldInstruction(bookmarkId, options), createEnd()]\n });\n }\n}\nconst CharacterSet = {\n ANSI: \"00\",\n DEFAULT: \"01\",\n SYMBOL: \"02\",\n MAC: \"4D\",\n JIS: \"80\",\n HANGUL: \"81\",\n JOHAB: \"82\",\n GB_2312: \"86\",\n CHINESEBIG5: \"88\",\n GREEK: \"A1\",\n TURKISH: \"A2\",\n VIETNAMESE: \"A3\",\n HEBREW: \"B1\",\n ARABIC: \"B2\",\n BALTIC: \"BA\",\n RUSSIAN: \"CC\",\n THAI: \"DE\",\n EASTEUROPE: \"EE\",\n OEM: \"FF\"\n};\nconst createFontRelationship = ({ id, fontKey, subsetted }, name) => new BuilderElement({\n name,\n attributes: __spreadValues({\n id: { key: \"r:id\", value: id }\n }, fontKey ? { fontKey: { key: \"w:fontKey\", value: `{${fontKey}}` } } : {}),\n children: [...subsetted ? [new OnOffElement(\"w:subsetted\", subsetted)] : []]\n});\nconst createFont = ({\n name,\n altName,\n panose1,\n charset,\n family,\n notTrueType,\n pitch,\n sig,\n embedRegular,\n embedBold,\n embedItalic,\n embedBoldItalic\n}) => new BuilderElement({\n name: \"w:font\",\n attributes: {\n name: { key: \"w:name\", value: name }\n },\n children: [\n // http://www.datypic.com/sc/ooxml/e-w_altName-1.html\n ...altName ? [createStringElement(\"w:altName\", altName)] : [],\n // http://www.datypic.com/sc/ooxml/e-w_panose1-1.html\n ...panose1 ? [createStringElement(\"w:panose1\", panose1)] : [],\n // http://www.datypic.com/sc/ooxml/e-w_charset-1.html\n ...charset ? [createStringElement(\"w:charset\", charset)] : [],\n // http://www.datypic.com/sc/ooxml/e-w_family-1.html\n ...[createStringElement(\"w:family\", family)],\n // http://www.datypic.com/sc/ooxml/e-w_notTrueType-1.html\n ...notTrueType ? [new OnOffElement(\"w:notTrueType\", notTrueType)] : [],\n ...[createStringElement(\"w:pitch\", pitch)],\n // http://www.datypic.com/sc/ooxml/e-w_sig-1.html\n ...sig ? [\n new BuilderElement({\n name: \"w:sig\",\n attributes: {\n usb0: { key: \"w:usb0\", value: sig.usb0 },\n usb1: { key: \"w:usb1\", value: sig.usb1 },\n usb2: { key: \"w:usb2\", value: sig.usb2 },\n usb3: { key: \"w:usb3\", value: sig.usb3 },\n csb0: { key: \"w:csb0\", value: sig.csb0 },\n csb1: { key: \"w:csb1\", value: sig.csb1 }\n }\n })\n ] : [],\n // http://www.datypic.com/sc/ooxml/e-w_embedRegular-1.html\n ...embedRegular ? [createFontRelationship(embedRegular, \"w:embedRegular\")] : [],\n // http://www.datypic.com/sc/ooxml/e-w_embedBold-1.html\n ...embedBold ? [createFontRelationship(embedBold, \"w:embedBold\")] : [],\n // http://www.datypic.com/sc/ooxml/e-w_embedItalic-1.html\n ...embedItalic ? [createFontRelationship(embedItalic, \"w:embedItalic\")] : [],\n // http://www.datypic.com/sc/ooxml/e-w_embedBoldItalic-1.html\n ...embedBoldItalic ? [createFontRelationship(embedBoldItalic, \"w:embedBoldItalic\")] : []\n ]\n});\nconst createRegularFont = ({\n name,\n index,\n fontKey,\n characterSet\n}) => createFont({\n name,\n sig: {\n usb0: \"E0002AFF\",\n usb1: \"C000247B\",\n usb2: \"00000009\",\n usb3: \"00000000\",\n csb0: \"000001FF\",\n csb1: \"00000000\"\n },\n charset: characterSet,\n family: \"auto\",\n pitch: \"variable\",\n embedRegular: {\n fontKey,\n id: `rId${index}`\n }\n});\nconst createFontTable = (fonts) => (\n // https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_Font_topic_ID0ERNCU.html\n // http://www.datypic.com/sc/ooxml/e-w_fonts.html\n new BuilderElement({\n name: \"w:fonts\",\n attributes: {\n mc: { key: \"xmlns:mc\", value: \"http://schemas.openxmlformats.org/markup-compatibility/2006\" },\n r: { key: \"xmlns:r\", value: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" },\n w: { key: \"xmlns:w\", value: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" },\n w14: { key: \"xmlns:w14\", value: \"http://schemas.microsoft.com/office/word/2010/wordml\" },\n w15: { key: \"xmlns:w15\", value: \"http://schemas.microsoft.com/office/word/2012/wordml\" },\n w16cex: { key: \"xmlns:w16cex\", value: \"http://schemas.microsoft.com/office/word/2018/wordml/cex\" },\n w16cid: { key: \"xmlns:w16cid\", value: \"http://schemas.microsoft.com/office/word/2016/wordml/cid\" },\n w16: { key: \"xmlns:w16\", value: \"http://schemas.microsoft.com/office/word/2018/wordml\" },\n w16sdtdh: { key: \"xmlns:w16sdtdh\", value: \"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash\" },\n w16se: { key: \"xmlns:w16se\", value: \"http://schemas.microsoft.com/office/word/2015/wordml/symex\" },\n Ignorable: { key: \"mc:Ignorable\", value: \"w14 w15 w16se w16cid w16 w16cex w16sdtdh\" }\n },\n children: fonts.map(\n (font, i) => createRegularFont({\n name: font.name,\n index: i + 1,\n fontKey: font.fontKey,\n characterSet: font.characterSet\n })\n )\n })\n);\nclass FontWrapper {\n constructor(options) {\n __publicField(this, \"fontTable\");\n __publicField(this, \"relationships\");\n __publicField(this, \"fontOptionsWithKey\", []);\n this.options = options;\n this.fontOptionsWithKey = options.map((o) => __spreadProps(__spreadValues({}, o), { fontKey: uniqueUuid() }));\n this.fontTable = createFontTable(this.fontOptionsWithKey);\n this.relationships = new Relationships();\n for (let i = 0; i < options.length; i++) {\n this.relationships.addRelationship(\n i + 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/font\",\n `fonts/${options[i].name}.odttf`\n );\n }\n }\n get View() {\n return this.fontTable;\n }\n get Relationships() {\n return this.relationships;\n }\n}\nconst createWordWrap = () => new BuilderElement({\n name: \"w:wordWrap\",\n attributes: {\n val: { key: \"w:val\", value: 0 }\n }\n});\nconst DropCapType = {\n /** No drop cap effect */\n NONE: \"none\",\n /** Drop cap that drops down into the paragraph text */\n DROP: \"drop\",\n /** Drop cap that extends into the margin */\n MARGIN: \"margin\"\n};\nconst FrameAnchorType = {\n /** Anchor relative to the page margin */\n MARGIN: \"margin\",\n /** Anchor relative to the page edge */\n PAGE: \"page\",\n /** Anchor relative to the text column */\n TEXT: \"text\"\n};\nconst FrameWrap = {\n /** Wrap text around the frame on all sides */\n AROUND: \"around\",\n /** Automatic wrapping based on available space */\n AUTO: \"auto\",\n /** No text wrapping */\n NONE: \"none\",\n /** Do not allow text beside the frame */\n NOT_BESIDE: \"notBeside\",\n /** Allow text to flow through the frame */\n THROUGH: \"through\",\n /** Wrap text tightly around the frame */\n TIGHT: \"tight\"\n};\nconst createFrameProperties = (options) => {\n var _a, _b;\n return new BuilderElement({\n name: \"w:framePr\",\n attributes: {\n anchorLock: {\n key: \"w:anchorLock\",\n value: options.anchorLock\n },\n dropCap: {\n key: \"w:dropCap\",\n value: options.dropCap\n },\n width: {\n key: \"w:w\",\n value: options.width\n },\n height: {\n key: \"w:h\",\n value: options.height\n },\n x: {\n key: \"w:x\",\n value: options.position ? options.position.x : void 0\n },\n y: {\n key: \"w:y\",\n value: options.position ? options.position.y : void 0\n },\n anchorHorizontal: {\n key: \"w:hAnchor\",\n value: options.anchor.horizontal\n },\n anchorVertical: {\n key: \"w:vAnchor\",\n value: options.anchor.vertical\n },\n spaceHorizontal: {\n key: \"w:hSpace\",\n value: (_a = options.space) == null ? void 0 : _a.horizontal\n },\n spaceVertical: {\n key: \"w:vSpace\",\n value: (_b = options.space) == null ? void 0 : _b.vertical\n },\n rule: {\n key: \"w:hRule\",\n value: options.rule\n },\n alignmentX: {\n key: \"w:xAlign\",\n value: options.alignment ? options.alignment.x : void 0\n },\n alignmentY: {\n key: \"w:yAlign\",\n value: options.alignment ? options.alignment.y : void 0\n },\n lines: {\n key: \"w:lines\",\n value: options.lines\n },\n wrap: {\n key: \"w:wrap\",\n value: options.wrap\n }\n }\n });\n};\nclass ParagraphProperties extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n var _a, _b;\n super(\"w:pPr\", options == null ? void 0 : options.includeIfEmpty);\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"numberingReferences\", []);\n if (!options) {\n return this;\n }\n if (options.heading) {\n this.push(createParagraphStyle(options.heading));\n }\n if (options.bullet) {\n this.push(createParagraphStyle(\"ListParagraph\"));\n }\n if (options.numbering) {\n if (!options.style && !options.heading) {\n if (!options.numbering.custom) {\n this.push(createParagraphStyle(\"ListParagraph\"));\n }\n }\n }\n if (options.style) {\n this.push(createParagraphStyle(options.style));\n }\n if (options.keepNext !== void 0) {\n this.push(new OnOffElement(\"w:keepNext\", options.keepNext));\n }\n if (options.keepLines !== void 0) {\n this.push(new OnOffElement(\"w:keepLines\", options.keepLines));\n }\n if (options.pageBreakBefore) {\n this.push(new PageBreakBefore());\n }\n if (options.frame) {\n this.push(createFrameProperties(options.frame));\n }\n if (options.widowControl !== void 0) {\n this.push(new OnOffElement(\"w:widowControl\", options.widowControl));\n }\n if (options.bullet) {\n this.push(new NumberProperties(1, options.bullet.level));\n }\n if (options.numbering) {\n this.numberingReferences.push({\n reference: options.numbering.reference,\n instance: (_a = options.numbering.instance) != null ? _a : 0\n });\n this.push(new NumberProperties(`${options.numbering.reference}-${(_b = options.numbering.instance) != null ? _b : 0}`, options.numbering.level));\n } else if (options.numbering === false) {\n this.push(new NumberProperties(0, 0));\n }\n if (options.border) {\n this.push(new Border(options.border));\n }\n if (options.thematicBreak) {\n this.push(new ThematicBreak());\n }\n if (options.shading) {\n this.push(createShading(options.shading));\n }\n if (options.wordWrap) {\n this.push(createWordWrap());\n }\n if (options.overflowPunctuation) {\n this.push(new OnOffElement(\"w:overflowPunct\", options.overflowPunctuation));\n }\n const tabDefinitions = [\n ...options.rightTabStop !== void 0 ? [{ type: TabStopType.RIGHT, position: options.rightTabStop }] : [],\n ...options.tabStops ? options.tabStops : [],\n ...options.leftTabStop !== void 0 ? [{ type: TabStopType.LEFT, position: options.leftTabStop }] : []\n ];\n if (tabDefinitions.length > 0) {\n this.push(createTabStop(tabDefinitions));\n }\n if (options.bidirectional !== void 0) {\n this.push(new OnOffElement(\"w:bidi\", options.bidirectional));\n }\n if (options.spacing) {\n this.push(createSpacing(options.spacing));\n }\n if (options.indent) {\n this.push(createIndent(options.indent));\n }\n if (options.contextualSpacing !== void 0) {\n this.push(new OnOffElement(\"w:contextualSpacing\", options.contextualSpacing));\n }\n if (options.alignment) {\n this.push(createAlignment(options.alignment));\n }\n if (options.outlineLevel !== void 0) {\n this.push(createOutlineLevel(options.outlineLevel));\n }\n if (options.suppressLineNumbers !== void 0) {\n this.push(new OnOffElement(\"w:suppressLineNumbers\", options.suppressLineNumbers));\n }\n if (options.autoSpaceEastAsianText !== void 0) {\n this.push(new OnOffElement(\"w:autoSpaceDN\", options.autoSpaceEastAsianText));\n }\n if (options.run) {\n this.push(new ParagraphRunProperties(options.run));\n }\n if (options.revision) {\n this.push(new ParagraphPropertiesChange(options.revision));\n }\n }\n /**\n * Adds a property element to the paragraph properties.\n *\n * @param item - The XML component to add to the paragraph properties\n */\n push(item) {\n this.root.push(item);\n }\n /**\n * Prepares the paragraph properties for XML serialization.\n *\n * This method creates concrete numbering instances for any numbering references\n * before the properties are converted to XML.\n *\n * @param context - The XML context containing document and file information\n * @returns The prepared XML object, or undefined if the component should be ignored\n */\n prepForXml(context) {\n if (!(context.viewWrapper instanceof FontWrapper)) {\n for (const reference of this.numberingReferences) {\n context.file.Numbering.createConcreteNumberingInstance(reference.reference, reference.instance);\n }\n }\n return super.prepForXml(context);\n }\n}\nclass ParagraphPropertiesChange extends XmlComponent {\n constructor(options) {\n super(\"w:pPrChange\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.root.push(new ParagraphProperties(__spreadProps(__spreadValues({}, options), { includeIfEmpty: true })));\n }\n}\nclass Paragraph extends FileChild {\n constructor(options) {\n super(\"w:p\");\n __publicField(this, \"properties\");\n if (typeof options === \"string\") {\n this.properties = new ParagraphProperties({});\n this.root.push(this.properties);\n this.root.push(new TextRun(options));\n return this;\n }\n this.properties = new ParagraphProperties(options);\n this.root.push(this.properties);\n if (options.text) {\n this.root.push(new TextRun(options.text));\n }\n if (options.children) {\n for (const child of options.children) {\n if (child instanceof Bookmark) {\n this.root.push(child.start);\n for (const textRun of child.children) {\n this.root.push(textRun);\n }\n this.root.push(child.end);\n continue;\n }\n this.root.push(child);\n }\n }\n }\n prepForXml(context) {\n for (const element of this.root) {\n if (element instanceof ExternalHyperlink) {\n const index = this.root.indexOf(element);\n const concreteHyperlink = new ConcreteHyperlink(element.options.children, uniqueId());\n context.viewWrapper.Relationships.addRelationship(\n concreteHyperlink.linkId,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n element.options.link,\n TargetModeType.EXTERNAL\n );\n this.root[index] = concreteHyperlink;\n }\n }\n return super.prepForXml(context);\n }\n addRunToFront(run) {\n this.root.splice(1, 0, run);\n return this;\n }\n}\nlet Math$1 = class Math2 extends XmlComponent {\n constructor(options) {\n super(\"m:oMath\");\n for (const child of options.children) {\n this.root.push(child);\n }\n }\n};\nclass MathText extends XmlComponent {\n constructor(text) {\n super(\"m:t\");\n this.root.push(text);\n }\n}\nclass MathRun extends XmlComponent {\n constructor(text) {\n super(\"m:r\");\n this.root.push(new MathText(text));\n }\n}\nclass MathDenominator extends XmlComponent {\n constructor(children) {\n super(\"m:den\");\n for (const child of children) {\n this.root.push(child);\n }\n }\n}\nclass MathNumerator extends XmlComponent {\n constructor(children) {\n super(\"m:num\");\n for (const child of children) {\n this.root.push(child);\n }\n }\n}\nclass MathFraction extends XmlComponent {\n constructor(options) {\n super(\"m:f\");\n this.root.push(new MathNumerator(options.numerator));\n this.root.push(new MathDenominator(options.denominator));\n }\n}\nconst createMathAccentCharacter = ({ accent }) => new BuilderElement({\n name: \"m:chr\",\n attributes: {\n accent: { key: \"m:val\", value: accent }\n }\n});\nconst createMathBase = ({ children }) => new BuilderElement({\n name: \"m:e\",\n children\n});\nconst createMathLimitLocation = ({ value }) => new BuilderElement({\n name: \"m:limLoc\",\n attributes: {\n value: { key: \"m:val\", value: value || \"undOvr\" }\n }\n});\nconst createMathSubScriptHide = () => new BuilderElement({\n name: \"m:subHide\",\n attributes: {\n hide: { key: \"m:val\", value: 1 }\n }\n});\nconst createMathSuperScriptHide = () => new BuilderElement({\n name: \"m:supHide\",\n attributes: {\n hide: { key: \"m:val\", value: 1 }\n }\n});\nconst createMathNAryProperties = ({\n accent,\n hasSuperScript,\n hasSubScript,\n limitLocationVal\n}) => new BuilderElement({\n name: \"m:naryPr\",\n children: [\n ...!!accent ? [createMathAccentCharacter({ accent })] : [],\n createMathLimitLocation({ value: limitLocationVal }),\n ...!hasSuperScript ? [createMathSuperScriptHide()] : [],\n ...!hasSubScript ? [createMathSubScriptHide()] : []\n ]\n});\nconst createMathSubScriptElement = ({ children }) => new BuilderElement({\n name: \"m:sub\",\n children\n});\nconst createMathSuperScriptElement = ({ children }) => new BuilderElement({\n name: \"m:sup\",\n children\n});\nclass MathSum extends XmlComponent {\n constructor(options) {\n super(\"m:nary\");\n this.root.push(\n createMathNAryProperties({\n accent: \"∑\",\n hasSuperScript: !!options.superScript,\n hasSubScript: !!options.subScript\n })\n );\n if (!!options.subScript) {\n this.root.push(createMathSubScriptElement({ children: options.subScript }));\n }\n if (!!options.superScript) {\n this.root.push(createMathSuperScriptElement({ children: options.superScript }));\n }\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nclass MathIntegral extends XmlComponent {\n constructor(options) {\n super(\"m:nary\");\n this.root.push(\n createMathNAryProperties({\n accent: \"\",\n hasSuperScript: !!options.superScript,\n hasSubScript: !!options.subScript,\n limitLocationVal: \"subSup\"\n })\n );\n if (!!options.subScript) {\n this.root.push(createMathSubScriptElement({ children: options.subScript }));\n }\n if (!!options.superScript) {\n this.root.push(createMathSuperScriptElement({ children: options.superScript }));\n }\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nclass MathLimit extends XmlComponent {\n constructor(children) {\n super(\"m:lim\");\n for (const child of children) {\n this.root.push(child);\n }\n }\n}\nclass MathLimitUpper extends XmlComponent {\n constructor(options) {\n super(\"m:limUpp\");\n this.root.push(createMathBase({ children: options.children }));\n this.root.push(new MathLimit(options.limit));\n }\n}\nclass MathLimitLower extends XmlComponent {\n constructor(options) {\n super(\"m:limLow\");\n this.root.push(createMathBase({ children: options.children }));\n this.root.push(new MathLimit(options.limit));\n }\n}\nconst createMathSuperScriptProperties = () => new BuilderElement({\n name: \"m:sSupPr\"\n});\nclass MathSuperScript extends XmlComponent {\n constructor(options) {\n super(\"m:sSup\");\n this.root.push(createMathSuperScriptProperties());\n this.root.push(createMathBase({ children: options.children }));\n this.root.push(createMathSuperScriptElement({ children: options.superScript }));\n }\n}\nconst createMathSubScriptProperties = () => new BuilderElement({\n name: \"m:sSubPr\"\n});\nclass MathSubScript extends XmlComponent {\n constructor(options) {\n super(\"m:sSub\");\n this.root.push(createMathSubScriptProperties());\n this.root.push(createMathBase({ children: options.children }));\n this.root.push(createMathSubScriptElement({ children: options.subScript }));\n }\n}\nconst createMathSubSuperScriptProperties = () => new BuilderElement({\n name: \"m:sSubSupPr\"\n});\nclass MathSubSuperScript extends XmlComponent {\n constructor(options) {\n super(\"m:sSubSup\");\n this.root.push(createMathSubSuperScriptProperties());\n this.root.push(createMathBase({ children: options.children }));\n this.root.push(createMathSubScriptElement({ children: options.subScript }));\n this.root.push(createMathSuperScriptElement({ children: options.superScript }));\n }\n}\nconst createMathPreSubSuperScriptProperties = () => new BuilderElement({\n name: \"m:sPrePr\"\n});\nclass MathPreSubSuperScript extends BuilderElement {\n constructor({ children, subScript, superScript }) {\n super({\n name: \"m:sPre\",\n children: [\n createMathPreSubSuperScriptProperties(),\n createMathBase({ children }),\n createMathSubScriptElement({ children: subScript }),\n createMathSuperScriptElement({ children: superScript })\n ]\n });\n }\n}\nconst WORKAROUND4 = \"\";\nclass MathDegree extends XmlComponent {\n constructor(children) {\n super(\"m:deg\");\n if (!!children) {\n for (const child of children) {\n this.root.push(child);\n }\n }\n }\n}\nclass MathDegreeHideAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { hide: \"m:val\" });\n }\n}\nclass MathDegreeHide extends XmlComponent {\n constructor() {\n super(\"m:degHide\");\n this.root.push(new MathDegreeHideAttributes({ hide: 1 }));\n }\n}\nclass MathRadicalProperties extends XmlComponent {\n constructor(hasDegree) {\n super(\"m:radPr\");\n if (!hasDegree) {\n this.root.push(new MathDegreeHide());\n }\n }\n}\nclass MathRadical extends XmlComponent {\n constructor(options) {\n super(\"m:rad\");\n this.root.push(new MathRadicalProperties(!!options.degree));\n this.root.push(new MathDegree(options.degree));\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nclass MathFunctionName extends XmlComponent {\n constructor(children) {\n super(\"m:fName\");\n for (const child of children) {\n this.root.push(child);\n }\n }\n}\nclass MathFunctionProperties extends XmlComponent {\n constructor() {\n super(\"m:funcPr\");\n }\n}\nclass MathFunction extends XmlComponent {\n constructor(options) {\n super(\"m:func\");\n this.root.push(new MathFunctionProperties());\n this.root.push(new MathFunctionName(options.name));\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nconst createMathBeginningCharacter = ({ character }) => new BuilderElement({\n name: \"m:begChr\",\n attributes: {\n character: { key: \"m:val\", value: character }\n }\n});\nconst createMathEndingCharacter = ({ character }) => new BuilderElement({\n name: \"m:endChr\",\n attributes: {\n character: { key: \"m:val\", value: character }\n }\n});\nconst createMathBracketProperties = ({ characters }) => new BuilderElement({\n name: \"m:dPr\",\n children: !!characters ? [\n createMathBeginningCharacter({ character: characters.beginningCharacter }),\n createMathEndingCharacter({ character: characters.endingCharacter })\n ] : []\n});\nclass MathRoundBrackets extends XmlComponent {\n constructor(options) {\n super(\"m:d\");\n this.root.push(createMathBracketProperties({}));\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nclass MathSquareBrackets extends XmlComponent {\n constructor(options) {\n super(\"m:d\");\n this.root.push(\n createMathBracketProperties({\n characters: {\n beginningCharacter: \"[\",\n endingCharacter: \"]\"\n }\n })\n );\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nclass MathCurlyBrackets extends XmlComponent {\n constructor(options) {\n super(\"m:d\");\n this.root.push(\n createMathBracketProperties({\n characters: {\n beginningCharacter: \"{\",\n endingCharacter: \"}\"\n }\n })\n );\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nclass MathAngledBrackets extends XmlComponent {\n constructor(options) {\n super(\"m:d\");\n this.root.push(\n createMathBracketProperties({\n characters: {\n beginningCharacter: \"〈\",\n endingCharacter: \"〉\"\n }\n })\n );\n this.root.push(createMathBase({ children: options.children }));\n }\n}\nconst createGridCol = (width) => new BuilderElement({\n name: \"w:gridCol\",\n attributes: width !== void 0 ? {\n width: { key: \"w:w\", value: twipsMeasureValue(width) }\n } : void 0\n});\nclass TableGrid extends XmlComponent {\n constructor(widths, revision) {\n super(\"w:tblGrid\");\n for (const width of widths) {\n this.root.push(createGridCol(width));\n }\n if (revision) {\n this.root.push(new TableGridChange(revision));\n }\n }\n}\nclass TableGridChangeAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { id: \"w:id\" });\n }\n}\nclass TableGridChange extends XmlComponent {\n constructor(options) {\n super(\"w:tblGridChange\");\n this.root.push(\n new TableGridChangeAttributes({\n id: options.id\n })\n );\n this.root.push(new TableGrid(options.columnWidths));\n }\n}\nclass InsertedTextRun extends XmlComponent {\n constructor(options) {\n super(\"w:ins\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.addChildElement(new TextRun(options));\n }\n}\nclass DeletedPage extends XmlComponent {\n constructor() {\n super(\"w:delInstrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"PAGE\");\n }\n}\nclass DeletedNumberOfPages extends XmlComponent {\n constructor() {\n super(\"w:delInstrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"NUMPAGES\");\n }\n}\nclass DeletedNumberOfPagesSection extends XmlComponent {\n constructor() {\n super(\"w:delInstrText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(\"SECTIONPAGES\");\n }\n}\nclass DeletedText extends XmlComponent {\n constructor(text) {\n super(\"w:delText\");\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n this.root.push(text);\n }\n}\nclass DeletedTextRun extends XmlComponent {\n constructor(options) {\n super(\"w:del\");\n __publicField(this, \"deletedTextRunWrapper\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.deletedTextRunWrapper = new DeletedTextRunWrapper(options);\n this.addChildElement(this.deletedTextRunWrapper);\n }\n}\nclass DeletedTextRunWrapper extends XmlComponent {\n constructor(options) {\n super(\"w:r\");\n this.root.push(new RunProperties(options));\n if (options.children) {\n for (const child of options.children) {\n if (typeof child === \"string\") {\n switch (child) {\n case PageNumber.CURRENT:\n this.root.push(createBegin());\n this.root.push(new DeletedPage());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n case PageNumber.TOTAL_PAGES:\n this.root.push(createBegin());\n this.root.push(new DeletedNumberOfPages());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n case PageNumber.TOTAL_PAGES_IN_SECTION:\n this.root.push(createBegin());\n this.root.push(new DeletedNumberOfPagesSection());\n this.root.push(createSeparate());\n this.root.push(createEnd());\n break;\n default:\n this.root.push(new DeletedText(child));\n break;\n }\n continue;\n }\n this.root.push(child);\n }\n } else if (options.text) {\n this.root.push(new DeletedText(options.text));\n }\n if (options.break) {\n for (let i = 0; i < options.break; i++) {\n this.root.splice(1, 0, createBreak());\n }\n }\n }\n}\nclass InsertedTableRow extends XmlComponent {\n constructor(options) {\n super(\"w:ins\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n }\n}\nclass DeletedTableRow extends XmlComponent {\n constructor(options) {\n super(\"w:del\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n }\n}\nclass InsertedTableCell extends XmlComponent {\n constructor(options) {\n super(\"w:cellIns\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n }\n}\nclass DeletedTableCell extends XmlComponent {\n constructor(options) {\n super(\"w:cellDel\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n }\n}\nconst VerticalMergeRevisionType = {\n /**\n * Cell that is merged with upper one.\n */\n CONTINUE: \"cont\",\n /**\n * Cell that is starting the vertical merge.\n */\n RESTART: \"rest\"\n};\nclass CellMergeAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"w:id\",\n author: \"w:author\",\n date: \"w:date\",\n verticalMerge: \"w:vMerge\",\n verticalMergeOriginal: \"w:vMergeOrig\"\n });\n }\n}\nclass CellMerge extends XmlComponent {\n constructor(options) {\n super(\"w:cellMerge\");\n this.root.push(new CellMergeAttributes(options));\n }\n}\nconst VerticalAlignTable = {\n TOP: \"top\",\n CENTER: \"center\",\n BOTTOM: \"bottom\"\n};\nconst VerticalAlignSection = __spreadProps(__spreadValues({}, VerticalAlignTable), {\n BOTH: \"both\"\n});\nconst VerticalAlign = VerticalAlignSection;\nconst createVerticalAlign = (value) => new BuilderElement({\n name: \"w:vAlign\",\n attributes: {\n verticalAlign: { key: \"w:val\", value }\n }\n});\nconst buildMarginChildren = ({\n marginUnitType = WidthType.DXA,\n top,\n left,\n bottom,\n right\n}) => [\n { name: \"w:top\", size: top },\n { name: \"w:left\", size: left },\n { name: \"w:bottom\", size: bottom },\n { name: \"w:right\", size: right }\n].filter((entry) => entry.size !== void 0).map(({ name, size }) => createTableWidthElement(name, { type: marginUnitType, size }));\nconst createTableCellMargin = (options) => {\n const children = buildMarginChildren(options);\n if (children.length === 0) {\n return void 0;\n }\n return new BuilderElement({\n name: \"w:tblCellMar\",\n children\n });\n};\nconst createCellMargin = (options) => {\n const children = buildMarginChildren(options);\n if (children.length === 0) {\n return void 0;\n }\n return new BuilderElement({\n name: \"w:tcMar\",\n children\n });\n};\nconst WidthType = {\n /** Auto. */\n AUTO: \"auto\",\n /** Value is in twentieths of a point */\n DXA: \"dxa\",\n /** No (empty) value. */\n NIL: \"nil\",\n /** Value is in percentage. */\n PERCENTAGE: \"pct\"\n};\nconst createTableWidthElement = (name, { type: type2 = WidthType.AUTO, size }) => {\n let tableWidthValue = size;\n if (type2 === WidthType.PERCENTAGE && typeof size === \"number\") {\n tableWidthValue = `${size}%`;\n }\n return new BuilderElement({\n name,\n attributes: {\n type: { key: \"w:type\", value: type2 },\n size: { key: \"w:w\", value: measurementOrPercentValue(tableWidthValue) }\n }\n });\n};\nclass TableCellBorders extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n super(\"w:tcBorders\");\n if (options.top) {\n this.root.push(createBorderElement(\"w:top\", options.top));\n }\n if (options.start) {\n this.root.push(createBorderElement(\"w:start\", options.start));\n }\n if (options.left) {\n this.root.push(createBorderElement(\"w:left\", options.left));\n }\n if (options.bottom) {\n this.root.push(createBorderElement(\"w:bottom\", options.bottom));\n }\n if (options.end) {\n this.root.push(createBorderElement(\"w:end\", options.end));\n }\n if (options.right) {\n this.root.push(createBorderElement(\"w:right\", options.right));\n }\n }\n}\nclass GridSpanAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { val: \"w:val\" });\n }\n}\nclass GridSpan extends XmlComponent {\n constructor(value) {\n super(\"w:gridSpan\");\n this.root.push(\n new GridSpanAttributes({\n val: decimalNumber(value)\n })\n );\n }\n}\nconst VerticalMergeType = {\n /**\n * Cell that is merged with upper one.\n * This cell continues a vertical merge started by a cell above it.\n */\n CONTINUE: \"continue\",\n /**\n * Cell that is starting the vertical merge.\n * This cell begins a new vertical merge region.\n */\n RESTART: \"restart\"\n};\nclass VerticalMergeAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { val: \"w:val\" });\n }\n}\nclass VerticalMerge extends XmlComponent {\n constructor(value) {\n super(\"w:vMerge\");\n this.root.push(\n new VerticalMergeAttributes({\n val: value\n })\n );\n }\n}\nconst TextDirection = {\n /** Text flows from bottom to top, left to right */\n BOTTOM_TO_TOP_LEFT_TO_RIGHT: \"btLr\",\n /** Text flows from left to right, top to bottom (default) */\n LEFT_TO_RIGHT_TOP_TO_BOTTOM: \"lrTb\",\n /** Text flows from top to bottom, right to left */\n TOP_TO_BOTTOM_RIGHT_TO_LEFT: \"tbRl\"\n};\nclass TDirectionAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { val: \"w:val\" });\n }\n}\nclass TDirection extends XmlComponent {\n constructor(value) {\n super(\"w:textDirection\");\n this.root.push(\n new TDirectionAttributes({\n val: value\n })\n );\n }\n}\nclass TableCellProperties extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n super(\"w:tcPr\", options.includeIfEmpty);\n if (options.width) {\n this.root.push(createTableWidthElement(\"w:tcW\", options.width));\n }\n if (options.columnSpan) {\n this.root.push(new GridSpan(options.columnSpan));\n }\n if (options.verticalMerge) {\n this.root.push(new VerticalMerge(options.verticalMerge));\n } else if (options.rowSpan && options.rowSpan > 1) {\n this.root.push(new VerticalMerge(VerticalMergeType.RESTART));\n }\n if (options.borders) {\n this.root.push(new TableCellBorders(options.borders));\n }\n if (options.shading) {\n this.root.push(createShading(options.shading));\n }\n if (options.margins) {\n const cellMargin = createCellMargin(options.margins);\n if (cellMargin) {\n this.root.push(cellMargin);\n }\n }\n if (options.textDirection) {\n this.root.push(new TDirection(options.textDirection));\n }\n if (options.verticalAlign) {\n this.root.push(createVerticalAlign(options.verticalAlign));\n }\n if (options.insertion) {\n this.root.push(new InsertedTableCell(options.insertion));\n }\n if (options.deletion) {\n this.root.push(new DeletedTableCell(options.deletion));\n }\n if (options.revision) {\n this.root.push(new TableCellPropertiesChange(options.revision));\n }\n if (options.cellMerge) {\n this.root.push(new CellMerge(options.cellMerge));\n }\n }\n}\nclass TableCellPropertiesChange extends XmlComponent {\n constructor(options) {\n super(\"w:tcPrChange\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.root.push(new TableCellProperties(__spreadProps(__spreadValues({}, options), { includeIfEmpty: true })));\n }\n}\nclass TableCell extends XmlComponent {\n constructor(options) {\n super(\"w:tc\");\n this.options = options;\n this.root.push(new TableCellProperties(options));\n for (const child of options.children) {\n this.root.push(child);\n }\n }\n prepForXml(context) {\n if (!(this.root[this.root.length - 1] instanceof Paragraph)) {\n this.root.push(new Paragraph({}));\n }\n return super.prepForXml(context);\n }\n}\nconst NONE_BORDER = {\n style: BorderStyle.NONE,\n size: 0,\n color: \"auto\"\n};\nconst DEFAULT_BORDER = {\n style: BorderStyle.SINGLE,\n size: 4,\n color: \"auto\"\n};\nclass TableBorders extends XmlComponent {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f;\n super(\"w:tblBorders\");\n this.root.push(createBorderElement(\"w:top\", (_a = options.top) != null ? _a : DEFAULT_BORDER));\n this.root.push(createBorderElement(\"w:left\", (_b = options.left) != null ? _b : DEFAULT_BORDER));\n this.root.push(createBorderElement(\"w:bottom\", (_c = options.bottom) != null ? _c : DEFAULT_BORDER));\n this.root.push(createBorderElement(\"w:right\", (_d = options.right) != null ? _d : DEFAULT_BORDER));\n this.root.push(createBorderElement(\"w:insideH\", (_e = options.insideHorizontal) != null ? _e : DEFAULT_BORDER));\n this.root.push(createBorderElement(\"w:insideV\", (_f = options.insideVertical) != null ? _f : DEFAULT_BORDER));\n }\n}\n__publicField(TableBorders, \"NONE\", {\n top: NONE_BORDER,\n bottom: NONE_BORDER,\n left: NONE_BORDER,\n right: NONE_BORDER,\n insideHorizontal: NONE_BORDER,\n insideVertical: NONE_BORDER\n});\nconst TableAnchorType = {\n MARGIN: \"margin\",\n PAGE: \"page\",\n TEXT: \"text\"\n};\nconst RelativeHorizontalPosition = {\n CENTER: \"center\",\n INSIDE: \"inside\",\n LEFT: \"left\",\n OUTSIDE: \"outside\",\n RIGHT: \"right\"\n};\nconst RelativeVerticalPosition = {\n CENTER: \"center\",\n INSIDE: \"inside\",\n BOTTOM: \"bottom\",\n OUTSIDE: \"outside\",\n INLINE: \"inline\",\n TOP: \"top\"\n};\nconst OverlapType = {\n NEVER: \"never\",\n OVERLAP: \"overlap\"\n};\nconst createOverlapElement = (overlap) => new BuilderElement({\n name: \"w:tblOverlap\",\n attributes: {\n val: { key: \"w:val\", value: overlap }\n }\n});\nconst createTableFloatProperties = ({\n horizontalAnchor,\n verticalAnchor,\n absoluteHorizontalPosition,\n relativeHorizontalPosition,\n absoluteVerticalPosition,\n relativeVerticalPosition,\n bottomFromText,\n topFromText,\n leftFromText,\n rightFromText,\n overlap\n}) => new BuilderElement({\n name: \"w:tblpPr\",\n attributes: {\n leftFromText: {\n key: \"w:leftFromText\",\n value: leftFromText === void 0 ? void 0 : twipsMeasureValue(leftFromText)\n },\n rightFromText: {\n key: \"w:rightFromText\",\n value: rightFromText === void 0 ? void 0 : twipsMeasureValue(rightFromText)\n },\n topFromText: {\n key: \"w:topFromText\",\n value: topFromText === void 0 ? void 0 : twipsMeasureValue(topFromText)\n },\n bottomFromText: {\n key: \"w:bottomFromText\",\n value: bottomFromText === void 0 ? void 0 : twipsMeasureValue(bottomFromText)\n },\n absoluteHorizontalPosition: {\n key: \"w:tblpX\",\n value: absoluteHorizontalPosition === void 0 ? void 0 : signedTwipsMeasureValue(absoluteHorizontalPosition)\n },\n absoluteVerticalPosition: {\n key: \"w:tblpY\",\n value: absoluteVerticalPosition === void 0 ? void 0 : signedTwipsMeasureValue(absoluteVerticalPosition)\n },\n horizontalAnchor: {\n key: \"w:horzAnchor\",\n value: horizontalAnchor\n },\n relativeHorizontalPosition: {\n key: \"w:tblpXSpec\",\n value: relativeHorizontalPosition\n },\n relativeVerticalPosition: {\n key: \"w:tblpYSpec\",\n value: relativeVerticalPosition\n },\n verticalAnchor: {\n key: \"w:vertAnchor\",\n value: verticalAnchor\n }\n },\n children: overlap ? [createOverlapElement(overlap)] : void 0\n});\nconst TableLayoutType = {\n /** Auto-fit layout - column widths are adjusted based on content */\n AUTOFIT: \"autofit\",\n /** Fixed layout - column widths are fixed as specified */\n FIXED: \"fixed\"\n};\nconst createTableLayout = (type2) => new BuilderElement({\n name: \"w:tblLayout\",\n attributes: {\n type: { key: \"w:type\", value: type2 }\n }\n});\nconst CellSpacingType = {\n /** Value is in twentieths of a point */\n DXA: \"dxa\"\n};\nconst createTableCellSpacing = ({ type: type2 = CellSpacingType.DXA, value }) => new BuilderElement({\n name: \"w:tblCellSpacing\",\n attributes: {\n type: { key: \"w:type\", value: type2 },\n value: { key: \"w:w\", value: measurementOrPercentValue(value) }\n }\n});\nconst createTableLook = ({ firstRow, lastRow, firstColumn, lastColumn, noHBand, noVBand }) => new BuilderElement({\n name: \"w:tblLook\",\n attributes: {\n firstRow: { key: \"w:firstRow\", value: firstRow },\n lastRow: { key: \"w:lastRow\", value: lastRow },\n firstColumn: { key: \"w:firstColumn\", value: firstColumn },\n lastColumn: { key: \"w:lastColumn\", value: lastColumn },\n noHBand: { key: \"w:noHBand\", value: noHBand },\n noVBand: { key: \"w:noVBand\", value: noVBand }\n }\n});\nclass TableProperties extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n super(\"w:tblPr\", options.includeIfEmpty);\n if (options.style) {\n this.root.push(new StringValueElement(\"w:tblStyle\", options.style));\n }\n if (options.float) {\n this.root.push(createTableFloatProperties(options.float));\n }\n if (options.visuallyRightToLeft !== void 0) {\n this.root.push(new OnOffElement(\"w:bidiVisual\", options.visuallyRightToLeft));\n }\n if (options.width) {\n this.root.push(createTableWidthElement(\"w:tblW\", options.width));\n }\n if (options.alignment) {\n this.root.push(createAlignment(options.alignment));\n }\n if (options.indent) {\n this.root.push(createTableWidthElement(\"w:tblInd\", options.indent));\n }\n if (options.borders) {\n this.root.push(new TableBorders(options.borders));\n }\n if (options.shading) {\n this.root.push(createShading(options.shading));\n }\n if (options.layout) {\n this.root.push(createTableLayout(options.layout));\n }\n if (options.cellMargin) {\n const cellMargin = createTableCellMargin(options.cellMargin);\n if (cellMargin) {\n this.root.push(cellMargin);\n }\n }\n if (options.tableLook) {\n this.root.push(createTableLook(options.tableLook));\n }\n if (options.cellSpacing) {\n this.root.push(createTableCellSpacing(options.cellSpacing));\n }\n if (options.revision) {\n this.root.push(new TablePropertiesChange(options.revision));\n }\n }\n}\nclass TablePropertiesChange extends XmlComponent {\n constructor(options) {\n super(\"w:tblPrChange\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.root.push(new TableProperties(__spreadProps(__spreadValues({}, options), { includeIfEmpty: true })));\n }\n}\nclass Table extends FileChild {\n constructor({\n rows,\n width,\n // eslint-disable-next-line functional/immutable-data\n columnWidths = Array(Math.max(...rows.map((row) => row.CellCount))).fill(100),\n columnWidthsRevision,\n margins,\n indent,\n float,\n layout,\n style,\n borders,\n alignment,\n visuallyRightToLeft,\n tableLook,\n cellSpacing,\n revision\n }) {\n super(\"w:tbl\");\n this.root.push(\n new TableProperties({\n borders: borders != null ? borders : {},\n width: width != null ? width : { size: 100 },\n indent,\n float,\n layout,\n style,\n alignment,\n cellMargin: margins,\n visuallyRightToLeft,\n tableLook,\n cellSpacing,\n revision\n })\n );\n this.root.push(new TableGrid(columnWidths, columnWidthsRevision));\n for (const row of rows) {\n this.root.push(row);\n }\n rows.forEach((row, rowIndex) => {\n if (rowIndex === rows.length - 1) {\n return;\n }\n let columnIndex = 0;\n row.cells.forEach((cell) => {\n if (cell.options.rowSpan && cell.options.rowSpan > 1) {\n const continueCell = new TableCell({\n // the inserted CONTINUE cell has rowSpan, and will be handled when process the next row\n rowSpan: cell.options.rowSpan - 1,\n columnSpan: cell.options.columnSpan,\n borders: cell.options.borders,\n children: [],\n verticalMerge: VerticalMergeType.CONTINUE\n });\n rows[rowIndex + 1].addCellToColumnIndex(continueCell, columnIndex);\n }\n columnIndex += cell.options.columnSpan || 1;\n });\n });\n }\n}\nconst HeightRule = {\n /** Height is determined based on the content, so value is ignored. */\n AUTO: \"auto\",\n /** At least the value specified */\n ATLEAST: \"atLeast\",\n /** Exactly the value specified */\n EXACT: \"exact\"\n};\nconst createTableRowHeight = (value, rule) => new BuilderElement({\n name: \"w:trHeight\",\n attributes: {\n value: { key: \"w:val\", value: twipsMeasureValue(value) },\n rule: { key: \"w:hRule\", value: rule }\n }\n});\nclass TableRowProperties extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n super(\"w:trPr\", options.includeIfEmpty);\n if (options.cantSplit !== void 0) {\n this.root.push(new OnOffElement(\"w:cantSplit\", options.cantSplit));\n }\n if (options.tableHeader !== void 0) {\n this.root.push(new OnOffElement(\"w:tblHeader\", options.tableHeader));\n }\n if (options.height) {\n this.root.push(createTableRowHeight(options.height.value, options.height.rule));\n }\n if (options.cellSpacing) {\n this.root.push(createTableCellSpacing(options.cellSpacing));\n }\n if (options.insertion) {\n this.root.push(new InsertedTableRow(options.insertion));\n }\n if (options.deletion) {\n this.root.push(new DeletedTableRow(options.deletion));\n }\n if (options.revision) {\n this.root.push(new TableRowPropertiesChange(options.revision));\n }\n }\n}\nclass TableRowPropertiesChange extends XmlComponent {\n constructor(options) {\n super(\"w:trPrChange\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.root.push(new TableRowProperties(__spreadProps(__spreadValues({}, options), { includeIfEmpty: true })));\n }\n}\nclass TableRow extends XmlComponent {\n constructor(options) {\n super(\"w:tr\");\n this.options = options;\n this.root.push(new TableRowProperties(options));\n for (const child of options.children) {\n this.root.push(child);\n }\n }\n get CellCount() {\n return this.options.children.length;\n }\n get cells() {\n return this.root.filter((xmlComponent) => xmlComponent instanceof TableCell);\n }\n addCellToIndex(cell, index) {\n this.root.splice(index + 1, 0, cell);\n }\n addCellToColumnIndex(cell, columnIndex) {\n const rootIndex = this.columnIndexToRootIndex(columnIndex, true);\n this.addCellToIndex(cell, rootIndex - 1);\n }\n rootIndexToColumnIndex(rootIndex) {\n if (rootIndex < 1 || rootIndex >= this.root.length) {\n throw new Error(`cell 'rootIndex' should between 1 to ${this.root.length - 1}`);\n }\n let colIdx = 0;\n for (let rootIdx = 1; rootIdx < rootIndex; rootIdx++) {\n const cell = this.root[rootIdx];\n colIdx += cell.options.columnSpan || 1;\n }\n return colIdx;\n }\n columnIndexToRootIndex(columnIndex, allowEndNewCell = false) {\n if (columnIndex < 0) {\n throw new Error(`cell 'columnIndex' should not less than zero`);\n }\n let colIdx = 0;\n let rootIdx = 1;\n while (colIdx <= columnIndex) {\n if (rootIdx >= this.root.length) {\n if (allowEndNewCell) {\n return this.root.length;\n } else {\n throw new Error(`cell 'columnIndex' should not great than ${colIdx - 1}`);\n }\n }\n const cell = this.root[rootIdx];\n rootIdx += 1;\n colIdx += cell && cell.options.columnSpan || 1;\n }\n return rootIdx - 1;\n }\n}\nclass AppPropertiesAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n xmlns: \"xmlns\",\n vt: \"xmlns:vt\"\n });\n }\n}\nclass AppProperties extends XmlComponent {\n constructor() {\n super(\"Properties\");\n this.root.push(\n new AppPropertiesAttributes({\n xmlns: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n vt: \"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\"\n })\n );\n }\n}\nclass ContentTypeAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n xmlns: \"xmlns\"\n });\n }\n}\nconst createDefault = (contentType, extension) => new BuilderElement({\n name: \"Default\",\n attributes: {\n contentType: { key: \"ContentType\", value: contentType },\n extension: { key: \"Extension\", value: extension }\n }\n});\nconst createOverride = (contentType, partName) => new BuilderElement({\n name: \"Override\",\n attributes: {\n contentType: { key: \"ContentType\", value: contentType },\n partName: { key: \"PartName\", value: partName }\n }\n});\nclass ContentTypes extends XmlComponent {\n constructor() {\n super(\"Types\");\n this.root.push(\n new ContentTypeAttributes({\n xmlns: \"http://schemas.openxmlformats.org/package/2006/content-types\"\n })\n );\n this.root.push(createDefault(\"image/png\", \"png\"));\n this.root.push(createDefault(\"image/jpeg\", \"jpeg\"));\n this.root.push(createDefault(\"image/jpeg\", \"jpg\"));\n this.root.push(createDefault(\"image/bmp\", \"bmp\"));\n this.root.push(createDefault(\"image/gif\", \"gif\"));\n this.root.push(createDefault(\"image/svg+xml\", \"svg\"));\n this.root.push(createDefault(\"application/vnd.openxmlformats-package.relationships+xml\", \"rels\"));\n this.root.push(createDefault(\"application/xml\", \"xml\"));\n this.root.push(createDefault(\"application/vnd.openxmlformats-officedocument.obfuscatedFont\", \"odttf\"));\n this.root.push(\n createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\", \"/word/document.xml\")\n );\n this.root.push(createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\", \"/word/styles.xml\"));\n this.root.push(createOverride(\"application/vnd.openxmlformats-package.core-properties+xml\", \"/docProps/core.xml\"));\n this.root.push(createOverride(\"application/vnd.openxmlformats-officedocument.custom-properties+xml\", \"/docProps/custom.xml\"));\n this.root.push(createOverride(\"application/vnd.openxmlformats-officedocument.extended-properties+xml\", \"/docProps/app.xml\"));\n this.root.push(\n createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\", \"/word/numbering.xml\")\n );\n this.root.push(\n createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\", \"/word/footnotes.xml\")\n );\n this.root.push(createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\", \"/word/endnotes.xml\"));\n this.root.push(createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\", \"/word/settings.xml\"));\n this.root.push(createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\", \"/word/comments.xml\"));\n this.root.push(\n createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml\", \"/word/fontTable.xml\")\n );\n }\n /**\n * Registers a footer part in the content types.\n *\n * @param index - Footer index number (e.g., 1 for footer1.xml)\n */\n addFooter(index) {\n this.root.push(\n createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\", `/word/footer${index}.xml`)\n );\n }\n /**\n * Registers a header part in the content types.\n *\n * @param index - Header index number (e.g., 1 for header1.xml)\n */\n addHeader(index) {\n this.root.push(\n createOverride(\"application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml\", `/word/header${index}.xml`)\n );\n }\n}\nconst DocumentAttributeNamespaces = {\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n o: \"urn:schemas-microsoft-com:office:office\",\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n v: \"urn:schemas-microsoft-com:vml\",\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n w10: \"urn:schemas-microsoft-com:office:word\",\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\n cp: \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",\n dc: \"http://purl.org/dc/elements/1.1/\",\n dcterms: \"http://purl.org/dc/terms/\",\n dcmitype: \"http://purl.org/dc/dcmitype/\",\n xsi: \"http://www.w3.org/2001/XMLSchema-instance\",\n cx: \"http://schemas.microsoft.com/office/drawing/2014/chartex\",\n cx1: \"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\",\n cx2: \"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\",\n cx3: \"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\",\n cx4: \"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\",\n cx5: \"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\",\n cx6: \"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\",\n cx7: \"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\",\n cx8: \"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\",\n aink: \"http://schemas.microsoft.com/office/drawing/2016/ink\",\n am3d: \"http://schemas.microsoft.com/office/drawing/2017/model3d\",\n w16cex: \"http://schemas.microsoft.com/office/word/2018/wordml/cex\",\n w16cid: \"http://schemas.microsoft.com/office/word/2016/wordml/cid\",\n w16: \"http://schemas.microsoft.com/office/word/2018/wordml\",\n w16sdtdh: \"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash\",\n w16se: \"http://schemas.microsoft.com/office/word/2015/wordml/symex\"\n};\nclass DocumentAttributes extends XmlAttributeComponent {\n constructor(ns, Ignorable) {\n super(__spreadValues({ Ignorable }, Object.fromEntries(ns.map((n) => [n, DocumentAttributeNamespaces[n]]))));\n __publicField(this, \"xmlKeys\", __spreadValues({\n Ignorable: \"mc:Ignorable\"\n }, Object.fromEntries(Object.keys(DocumentAttributeNamespaces).map((key) => [key, `xmlns:${key}`]))));\n }\n}\nclass CoreProperties extends XmlComponent {\n constructor(options) {\n super(\"cp:coreProperties\");\n this.root.push(new DocumentAttributes([\"cp\", \"dc\", \"dcterms\", \"dcmitype\", \"xsi\"]));\n if (options.title) {\n this.root.push(new StringContainer(\"dc:title\", options.title));\n }\n if (options.subject) {\n this.root.push(new StringContainer(\"dc:subject\", options.subject));\n }\n if (options.creator) {\n this.root.push(new StringContainer(\"dc:creator\", options.creator));\n }\n if (options.keywords) {\n this.root.push(new StringContainer(\"cp:keywords\", options.keywords));\n }\n if (options.description) {\n this.root.push(new StringContainer(\"dc:description\", options.description));\n }\n if (options.lastModifiedBy) {\n this.root.push(new StringContainer(\"cp:lastModifiedBy\", options.lastModifiedBy));\n }\n if (options.revision) {\n this.root.push(new StringContainer(\"cp:revision\", String(options.revision)));\n }\n this.root.push(new TimestampElement(\"dcterms:created\"));\n this.root.push(new TimestampElement(\"dcterms:modified\"));\n }\n}\nclass TimestampElementProperties extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { type: \"xsi:type\" });\n }\n}\nclass TimestampElement extends XmlComponent {\n constructor(name) {\n super(name);\n this.root.push(\n new TimestampElementProperties({\n type: \"dcterms:W3CDTF\"\n })\n );\n this.root.push(dateTimeValue(/* @__PURE__ */ new Date()));\n }\n}\nclass CustomPropertiesAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n xmlns: \"xmlns\",\n vt: \"xmlns:vt\"\n });\n }\n}\nclass CustomPropertyAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n formatId: \"fmtid\",\n pid: \"pid\",\n name: \"name\"\n });\n }\n}\nclass CustomProperty extends XmlComponent {\n constructor(id, properties) {\n super(\"property\");\n this.root.push(\n new CustomPropertyAttributes({\n formatId: \"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\",\n pid: id.toString(),\n name: properties.name\n })\n );\n this.root.push(new CustomPropertyValue(properties.value));\n }\n}\nclass CustomPropertyValue extends XmlComponent {\n constructor(value) {\n super(\"vt:lpwstr\");\n this.root.push(value);\n }\n}\nclass CustomProperties extends XmlComponent {\n constructor(properties) {\n super(\"Properties\");\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"nextId\");\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"properties\", []);\n this.root.push(\n new CustomPropertiesAttributes({\n xmlns: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n vt: \"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\"\n })\n );\n this.nextId = 2;\n for (const property of properties) {\n this.addCustomProperty(property);\n }\n }\n prepForXml(context) {\n this.properties.forEach((x) => this.root.push(x));\n return super.prepForXml(context);\n }\n addCustomProperty(property) {\n this.properties.push(new CustomProperty(this.nextId++, property));\n }\n}\nconst createColumns = ({ space, count, separate, equalWidth, children }) => new BuilderElement({\n name: \"w:cols\",\n attributes: {\n space: { key: \"w:space\", value: space === void 0 ? void 0 : twipsMeasureValue(space) },\n count: { key: \"w:num\", value: count === void 0 ? void 0 : decimalNumber(count) },\n separate: { key: \"w:sep\", value: separate },\n equalWidth: { key: \"w:equalWidth\", value: equalWidth }\n },\n children: !equalWidth && children ? children : void 0\n});\nconst DocumentGridType = {\n /**\n * Specifies that no document grid shall be applied to the contents of the current section in the document.\n */\n DEFAULT: \"default\",\n /**\n * Specifies that the parent section shall have additional line pitch added to each line within it (as specified on the <docGrid> element (§2.6.5)) in order to maintain the specified number of lines per page.\n */\n LINES: \"lines\",\n /**\n * Specifies that the parent section shall have both the additional line pitch and character pitch added to each line and character within it (as specified on the <docGrid> element (§2.6.5)) in order to maintain a specific number of lines per page and characters per line.\n *\n * When this value is set, the input specified via the user interface may be allowed in exact number of line/character pitch units. */\n LINES_AND_CHARS: \"linesAndChars\",\n /**\n * Specifies that the parent section shall have both the additional line pitch and character pitch added to each line and character within it (as specified on the <docGrid> element (§2.6.5)) in order to maintain a specific number of lines per page and characters per line.\n *\n * When this value is set, the input specified via the user interface may be restricted to the number of lines per page and characters per line, with the consumer or producer translating this information based on the current font data to get the resulting line and character pitch values\n */\n SNAP_TO_CHARS: \"snapToChars\"\n};\nconst createDocumentGrid = ({ type: type2, linePitch, charSpace }) => new BuilderElement({\n name: \"w:docGrid\",\n attributes: {\n type: { key: \"w:type\", value: type2 },\n linePitch: { key: \"w:linePitch\", value: decimalNumber(linePitch) },\n charSpace: { key: \"w:charSpace\", value: charSpace ? decimalNumber(charSpace) : void 0 }\n }\n});\nconst HeaderFooterReferenceType = {\n /** Specifies that this header or footer shall appear on every page in this section which is not overridden with a specific `even` or `first` page header/footer. In a section with all three types specified, this type shall be used on all odd numbered pages (counting from the `first` page in the section, not the section numbering). */\n DEFAULT: \"default\",\n /** Specifies that this header or footer shall appear on the first page in this section. The appearance of this header or footer is contingent on the setting of the `titlePg` element (§2.10.6). */\n FIRST: \"first\",\n /** Specifies that this header or footer shall appear on all even numbered pages in this section (counting from the first page in the section, not the section numbering). The appearance of this header or footer is contingent on the setting of the `evenAndOddHeaders` element (§2.10.1). */\n EVEN: \"even\"\n};\nconst HeaderFooterType = {\n HEADER: \"w:headerReference\",\n FOOTER: \"w:footerReference\"\n};\nconst createHeaderFooterReference = (type2, options) => new BuilderElement({\n name: type2,\n attributes: {\n type: { key: \"w:type\", value: options.type || HeaderFooterReferenceType.DEFAULT },\n id: { key: \"r:id\", value: `rId${options.id}` }\n }\n});\nconst LineNumberRestartFormat = {\n /**\n * ## Restart Line Numbering on Each Page\n *\n * Specifies that line numbering for the parent section shall restart to the starting value whenever a new page is displayed.\n */\n NEW_PAGE: \"newPage\",\n /**\n * ## Restart Line Numbering for Each Section\n *\n * Specifies that line numbering for the parent section shall restart to the starting value whenever the parent begins.\n */\n NEW_SECTION: \"newSection\",\n /**\n * ## Continue Line Numbering From Previous Section\n *\n * Specifies that line numbering for the parent section shall continue from the line numbering from the end of the previous section, if any.\n */\n CONTINUOUS: \"continuous\"\n};\nconst createLineNumberType = ({ countBy, start, restart, distance }) => new BuilderElement({\n name: \"w:lnNumType\",\n attributes: {\n countBy: { key: \"w:countBy\", value: countBy === void 0 ? void 0 : decimalNumber(countBy) },\n start: { key: \"w:start\", value: start === void 0 ? void 0 : decimalNumber(start) },\n restart: { key: \"w:restart\", value: restart },\n distance: {\n key: \"w:distance\",\n value: distance === void 0 ? void 0 : twipsMeasureValue(distance)\n }\n }\n});\nconst PageBorderDisplay = {\n /** Display border on all pages */\n ALL_PAGES: \"allPages\",\n /** Display border only on first page */\n FIRST_PAGE: \"firstPage\",\n /** Display border on all pages except first page */\n NOT_FIRST_PAGE: \"notFirstPage\"\n};\nconst PageBorderOffsetFrom = {\n /** Position border relative to page edge */\n PAGE: \"page\",\n /** Position border relative to text (default) */\n TEXT: \"text\"\n};\nconst PageBorderZOrder = {\n /** Display border behind page contents */\n BACK: \"back\",\n /** Display border in front of page contents (default) */\n FRONT: \"front\"\n};\nclass PageBordersAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n display: \"w:display\",\n offsetFrom: \"w:offsetFrom\",\n zOrder: \"w:zOrder\"\n });\n }\n}\nclass PageBorders extends IgnoreIfEmptyXmlComponent {\n constructor(options) {\n super(\"w:pgBorders\");\n if (!options) {\n return this;\n }\n if (options.pageBorders) {\n this.root.push(\n new PageBordersAttributes({\n display: options.pageBorders.display,\n offsetFrom: options.pageBorders.offsetFrom,\n zOrder: options.pageBorders.zOrder\n })\n );\n } else {\n this.root.push(new PageBordersAttributes({}));\n }\n if (options.pageBorderTop) {\n this.root.push(createBorderElement(\"w:top\", options.pageBorderTop));\n }\n if (options.pageBorderLeft) {\n this.root.push(createBorderElement(\"w:left\", options.pageBorderLeft));\n }\n if (options.pageBorderBottom) {\n this.root.push(createBorderElement(\"w:bottom\", options.pageBorderBottom));\n }\n if (options.pageBorderRight) {\n this.root.push(createBorderElement(\"w:right\", options.pageBorderRight));\n }\n }\n}\nconst createPageMargin = (top, right, bottom, left, header, footer, gutter) => new BuilderElement({\n name: \"w:pgMar\",\n attributes: {\n top: { key: \"w:top\", value: signedTwipsMeasureValue(top) },\n right: { key: \"w:right\", value: twipsMeasureValue(right) },\n bottom: { key: \"w:bottom\", value: signedTwipsMeasureValue(bottom) },\n left: { key: \"w:left\", value: twipsMeasureValue(left) },\n header: { key: \"w:header\", value: twipsMeasureValue(header) },\n footer: { key: \"w:footer\", value: twipsMeasureValue(footer) },\n gutter: { key: \"w:gutter\", value: twipsMeasureValue(gutter) }\n }\n});\nconst PageNumberSeparator = {\n /** Hyphen separator (-) */\n HYPHEN: \"hyphen\",\n /** Period separator (.) */\n PERIOD: \"period\",\n /** Colon separator (:) */\n COLON: \"colon\",\n /** Em dash separator (—) */\n EM_DASH: \"emDash\",\n /** En dash separator (–) */\n EN_DASH: \"endash\"\n};\nconst createPageNumberType = ({ start, formatType, separator }) => new BuilderElement({\n name: \"w:pgNumType\",\n attributes: {\n start: { key: \"w:start\", value: start === void 0 ? void 0 : decimalNumber(start) },\n formatType: { key: \"w:fmt\", value: formatType },\n separator: { key: \"w:chapSep\", value: separator }\n }\n});\nconst PageOrientation = {\n /**\n * ## Portrait Mode\n *\n * Specifies that pages in this section shall be printed in portrait mode.\n */\n PORTRAIT: \"portrait\",\n /**\n * ## Landscape Mode\n *\n * Specifies that pages in this section shall be printed in landscape mode, which prints the page contents with a 90 degree rotation with respect to the normal page orientation.\n */\n LANDSCAPE: \"landscape\"\n};\nconst createPageSize = ({ width, height, orientation, code }) => {\n const widthTwips = twipsMeasureValue(width);\n const heightTwips = twipsMeasureValue(height);\n return new BuilderElement({\n name: \"w:pgSz\",\n attributes: {\n width: { key: \"w:w\", value: orientation === PageOrientation.LANDSCAPE ? heightTwips : widthTwips },\n height: { key: \"w:h\", value: orientation === PageOrientation.LANDSCAPE ? widthTwips : heightTwips },\n orientation: { key: \"w:orient\", value: orientation },\n code: { key: \"w:code\", value: code }\n }\n });\n};\nconst PageTextDirectionType = {\n /** Left-to-right, top-to-bottom (standard Western text flow) */\n LEFT_TO_RIGHT_TOP_TO_BOTTOM: \"lrTb\",\n /** Top-to-bottom, right-to-left (vertical East Asian text flow) */\n TOP_TO_BOTTOM_RIGHT_TO_LEFT: \"tbRl\"\n};\nclass PageTextDirectionAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { val: \"w:val\" });\n }\n}\nclass PageTextDirection extends XmlComponent {\n constructor(value) {\n super(\"w:textDirection\");\n this.root.push(\n new PageTextDirectionAttributes({\n val: value\n })\n );\n }\n}\nconst SectionType = {\n /** Section begins on the next page */\n NEXT_PAGE: \"nextPage\",\n /** Section begins on the next column */\n NEXT_COLUMN: \"nextColumn\",\n /** Section begins immediately following the previous section */\n CONTINUOUS: \"continuous\",\n /** Section begins on the next even-numbered page */\n EVEN_PAGE: \"evenPage\",\n /** Section begins on the next odd-numbered page */\n ODD_PAGE: \"oddPage\"\n};\nconst createSectionType = (value) => new BuilderElement({\n name: \"w:type\",\n attributes: {\n val: { key: \"w:val\", value }\n }\n});\nconst sectionMarginDefaults = {\n /** Top margin: 1440 twips (1 inch) */\n TOP: 1440,\n /** Right margin: 1440 twips (1 inch) */\n RIGHT: 1440,\n /** Bottom margin: 1440 twips (1 inch) */\n BOTTOM: 1440,\n /** Left margin: 1440 twips (1 inch) */\n LEFT: 1440,\n /** Header margin from top: 708 twips (0.5 inches) */\n HEADER: 708,\n /** Footer margin from bottom: 708 twips (0.5 inches) */\n FOOTER: 708,\n /** Gutter margin for binding: 0 twips */\n GUTTER: 0\n};\nconst sectionPageSizeDefaults = {\n /** Page width: 11906 twips (8.27 inches, 210mm) */\n WIDTH: 11906,\n /** Page height: 16838 twips (11.69 inches, 297mm) */\n HEIGHT: 16838,\n /** Page orientation: portrait */\n ORIENTATION: PageOrientation.PORTRAIT\n};\nclass SectionProperties extends XmlComponent {\n constructor({\n page: {\n size: {\n width = sectionPageSizeDefaults.WIDTH,\n height = sectionPageSizeDefaults.HEIGHT,\n orientation = sectionPageSizeDefaults.ORIENTATION\n } = {},\n margin: {\n top = sectionMarginDefaults.TOP,\n right = sectionMarginDefaults.RIGHT,\n bottom = sectionMarginDefaults.BOTTOM,\n left = sectionMarginDefaults.LEFT,\n header = sectionMarginDefaults.HEADER,\n footer = sectionMarginDefaults.FOOTER,\n gutter = sectionMarginDefaults.GUTTER\n } = {},\n pageNumbers = {},\n borders,\n textDirection\n } = {},\n grid: { linePitch = 360, charSpace, type: gridType } = {},\n headerWrapperGroup = {},\n footerWrapperGroup = {},\n lineNumbers,\n titlePage,\n verticalAlign,\n column,\n type: type2,\n revision\n } = {}) {\n super(\"w:sectPr\");\n this.addHeaderFooterGroup(HeaderFooterType.HEADER, headerWrapperGroup);\n this.addHeaderFooterGroup(HeaderFooterType.FOOTER, footerWrapperGroup);\n if (type2) {\n this.root.push(createSectionType(type2));\n }\n this.root.push(createPageSize({ width, height, orientation }));\n this.root.push(createPageMargin(top, right, bottom, left, header, footer, gutter));\n if (borders) {\n this.root.push(new PageBorders(borders));\n }\n if (lineNumbers) {\n this.root.push(createLineNumberType(lineNumbers));\n }\n this.root.push(createPageNumberType(pageNumbers));\n if (column) {\n this.root.push(createColumns(column));\n }\n if (verticalAlign) {\n this.root.push(createVerticalAlign(verticalAlign));\n }\n if (titlePage !== void 0) {\n this.root.push(new OnOffElement(\"w:titlePg\", titlePage));\n }\n if (textDirection) {\n this.root.push(new PageTextDirection(textDirection));\n }\n if (revision) {\n this.root.push(new SectionPropertiesChange(revision));\n }\n this.root.push(createDocumentGrid({ linePitch, charSpace, type: gridType }));\n }\n addHeaderFooterGroup(type2, group) {\n if (group.default) {\n this.root.push(\n createHeaderFooterReference(type2, {\n type: HeaderFooterReferenceType.DEFAULT,\n id: group.default.View.ReferenceId\n })\n );\n }\n if (group.first) {\n this.root.push(\n createHeaderFooterReference(type2, {\n type: HeaderFooterReferenceType.FIRST,\n id: group.first.View.ReferenceId\n })\n );\n }\n if (group.even) {\n this.root.push(\n createHeaderFooterReference(type2, {\n type: HeaderFooterReferenceType.EVEN,\n id: group.even.View.ReferenceId\n })\n );\n }\n }\n}\nclass SectionPropertiesChange extends XmlComponent {\n constructor(options) {\n super(\"w:sectPrChange\");\n this.root.push(\n new ChangeAttributes({\n id: options.id,\n author: options.author,\n date: options.date\n })\n );\n this.root.push(new SectionProperties(options));\n }\n}\nclass ColumnAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n width: \"w:w\",\n space: \"w:space\"\n });\n }\n}\nclass Column extends XmlComponent {\n constructor(options) {\n super(\"w:col\");\n this.root.push(\n new ColumnAttributes({\n width: twipsMeasureValue(options.width),\n space: options.space === void 0 ? void 0 : twipsMeasureValue(options.space)\n })\n );\n }\n}\nclass Body extends XmlComponent {\n constructor() {\n super(\"w:body\");\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"sections\", []);\n }\n /**\n * Adds new section properties to the document body.\n *\n * Creates a new section by moving the previous section's properties into a paragraph\n * at the end of that section, and then adding the new section as the current section.\n *\n * According to the OOXML specification:\n * - Section properties for all sections except the last must be stored in a paragraph's\n * properties (pPr/sectPr) at the end of each section\n * - The last section's properties are stored as a direct child of the body element (w:body/w:sectPr)\n *\n * @param options - Section properties configuration (page size, margins, headers, footers, etc.)\n */\n addSection(options) {\n const currentSection = this.sections.pop();\n this.root.push(this.createSectionParagraph(currentSection));\n this.sections.push(new SectionProperties(options));\n }\n /**\n * Prepares the body element for XML serialization.\n *\n * Ensures that the last section's properties are placed as a direct child of the body\n * element, as required by the OOXML specification.\n *\n * @param context - The XML serialization context\n * @returns The prepared XML object or undefined\n */\n prepForXml(context) {\n if (this.sections.length === 1) {\n this.root.splice(0, 1);\n this.root.push(this.sections.pop());\n }\n return super.prepForXml(context);\n }\n /**\n * Adds a block-level component to the body.\n *\n * This method is used internally by the Document class to add paragraphs,\n * tables, and other block-level elements to the document body.\n *\n * @param component - The XML component to add (paragraph, table, etc.)\n */\n push(component) {\n this.root.push(component);\n }\n createSectionParagraph(section) {\n const paragraph = new Paragraph({});\n const properties = new ParagraphProperties({});\n properties.push(section);\n paragraph.addChildElement(properties);\n return paragraph;\n }\n}\nclass DocumentBackgroundAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n color: \"w:color\",\n themeColor: \"w:themeColor\",\n themeShade: \"w:themeShade\",\n themeTint: \"w:themeTint\"\n });\n }\n}\nclass DocumentBackground extends XmlComponent {\n constructor(options) {\n super(\"w:background\");\n this.root.push(\n new DocumentBackgroundAttributes({\n color: options.color === void 0 ? void 0 : hexColorValue(options.color),\n themeColor: options.themeColor,\n themeShade: options.themeShade === void 0 ? void 0 : uCharHexNumber(options.themeShade),\n themeTint: options.themeTint === void 0 ? void 0 : uCharHexNumber(options.themeTint)\n })\n );\n }\n}\nclass Document extends XmlComponent {\n constructor(options) {\n super(\"w:document\");\n __publicField(this, \"body\");\n this.root.push(\n new DocumentAttributes(\n [\n \"wpc\",\n \"mc\",\n \"o\",\n \"r\",\n \"m\",\n \"v\",\n \"wp14\",\n \"wp\",\n \"w10\",\n \"w\",\n \"w14\",\n \"w15\",\n \"wpg\",\n \"wpi\",\n \"wne\",\n \"wps\",\n \"cx\",\n \"cx1\",\n \"cx2\",\n \"cx3\",\n \"cx4\",\n \"cx5\",\n \"cx6\",\n \"cx7\",\n \"cx8\",\n \"aink\",\n \"am3d\",\n \"w16cex\",\n \"w16cid\",\n \"w16\",\n \"w16sdtdh\",\n \"w16se\"\n ],\n \"w14 w15 wp14\"\n )\n );\n this.body = new Body();\n if (options.background) {\n this.root.push(new DocumentBackground(options.background));\n }\n this.root.push(this.body);\n }\n /**\n * Adds a block-level element to the document body.\n *\n * @param item - The element to add (paragraph, table, table of contents, or hyperlink)\n * @returns The Document instance for method chaining\n */\n add(item) {\n this.body.push(item);\n return this;\n }\n /**\n * Gets the document body element.\n *\n * @returns The Body instance containing all document content\n */\n get Body() {\n return this.body;\n }\n}\nclass DocumentWrapper {\n constructor(options) {\n __publicField(this, \"document\");\n __publicField(this, \"relationships\");\n this.document = new Document(options);\n this.relationships = new Relationships();\n }\n get View() {\n return this.document;\n }\n get Relationships() {\n return this.relationships;\n }\n}\nclass EndnotesAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n wpc: \"xmlns:wpc\",\n mc: \"xmlns:mc\",\n o: \"xmlns:o\",\n r: \"xmlns:r\",\n m: \"xmlns:m\",\n v: \"xmlns:v\",\n wp14: \"xmlns:wp14\",\n wp: \"xmlns:wp\",\n w10: \"xmlns:w10\",\n w: \"xmlns:w\",\n w14: \"xmlns:w14\",\n w15: \"xmlns:w15\",\n wpg: \"xmlns:wpg\",\n wpi: \"xmlns:wpi\",\n wne: \"xmlns:wne\",\n wps: \"xmlns:wps\",\n Ignorable: \"mc:Ignorable\"\n });\n }\n}\nclass EndnoteAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n type: \"w:type\",\n id: \"w:id\"\n });\n }\n}\nclass EndnoteRefRun extends Run {\n constructor() {\n super({\n style: \"EndnoteReference\"\n });\n this.root.push(new EndnoteReference());\n }\n}\nconst EndnoteType = {\n SEPARATOR: \"separator\",\n CONTINUATION_SEPARATOR: \"continuationSeparator\"\n};\nclass Endnote extends XmlComponent {\n constructor(options) {\n super(\"w:endnote\");\n this.root.push(\n new EndnoteAttributes({\n type: options.type,\n id: options.id\n })\n );\n for (let i = 0; i < options.children.length; i++) {\n const child = options.children[i];\n if (i === 0) {\n child.addRunToFront(new EndnoteRefRun());\n }\n this.root.push(child);\n }\n }\n}\nclass ContinuationSeperator extends XmlComponent {\n constructor() {\n super(\"w:continuationSeparator\");\n }\n}\nclass ContinuationSeperatorRun extends Run {\n constructor() {\n super({});\n this.root.push(new ContinuationSeperator());\n }\n}\nclass Seperator extends XmlComponent {\n constructor() {\n super(\"w:separator\");\n }\n}\nclass SeperatorRun extends Run {\n constructor() {\n super({});\n this.root.push(new Seperator());\n }\n}\nclass Endnotes extends XmlComponent {\n constructor() {\n super(\"w:endnotes\");\n this.root.push(\n new EndnotesAttributes({\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n o: \"urn:schemas-microsoft-com:office:office\",\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n v: \"urn:schemas-microsoft-com:vml\",\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n w10: \"urn:schemas-microsoft-com:office:word\",\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\n Ignorable: \"w14 w15 wp14\"\n })\n );\n const begin = new Endnote({\n id: -1,\n type: EndnoteType.SEPARATOR,\n children: [\n new Paragraph({\n spacing: {\n after: 0,\n line: 240,\n lineRule: LineRuleType.AUTO\n },\n children: [new SeperatorRun()]\n })\n ]\n });\n this.root.push(begin);\n const spacing = new Endnote({\n id: 0,\n type: EndnoteType.CONTINUATION_SEPARATOR,\n children: [\n new Paragraph({\n spacing: {\n after: 0,\n line: 240,\n lineRule: LineRuleType.AUTO\n },\n children: [new ContinuationSeperatorRun()]\n })\n ]\n });\n this.root.push(spacing);\n }\n createEndnote(id, paragraph) {\n const endnote = new Endnote({\n id,\n children: paragraph\n });\n this.root.push(endnote);\n }\n}\nclass EndnotesWrapper {\n constructor() {\n __publicField(this, \"endnotes\");\n __publicField(this, \"relationships\");\n this.endnotes = new Endnotes();\n this.relationships = new Relationships();\n }\n get View() {\n return this.endnotes;\n }\n get Relationships() {\n return this.relationships;\n }\n}\nclass FooterAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n wpc: \"xmlns:wpc\",\n mc: \"xmlns:mc\",\n o: \"xmlns:o\",\n r: \"xmlns:r\",\n m: \"xmlns:m\",\n v: \"xmlns:v\",\n wp14: \"xmlns:wp14\",\n wp: \"xmlns:wp\",\n w10: \"xmlns:w10\",\n w: \"xmlns:w\",\n w14: \"xmlns:w14\",\n w15: \"xmlns:w15\",\n wpg: \"xmlns:wpg\",\n wpi: \"xmlns:wpi\",\n wne: \"xmlns:wne\",\n wps: \"xmlns:wps\",\n cp: \"xmlns:cp\",\n dc: \"xmlns:dc\",\n dcterms: \"xmlns:dcterms\",\n dcmitype: \"xmlns:dcmitype\",\n xsi: \"xmlns:xsi\",\n type: \"xsi:type\"\n });\n }\n}\nlet Footer$1 = class Footer extends InitializableXmlComponent {\n constructor(referenceNumber, initContent) {\n super(\"w:ftr\", initContent);\n __publicField(this, \"refId\");\n this.refId = referenceNumber;\n if (!initContent) {\n this.root.push(\n new FooterAttributes({\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n o: \"urn:schemas-microsoft-com:office:office\",\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n v: \"urn:schemas-microsoft-com:vml\",\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n w10: \"urn:schemas-microsoft-com:office:word\",\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\"\n })\n );\n }\n }\n get ReferenceId() {\n return this.refId;\n }\n add(item) {\n this.root.push(item);\n }\n};\nclass FooterWrapper {\n constructor(media, referenceId, initContent) {\n __publicField(this, \"footer\");\n __publicField(this, \"relationships\");\n this.media = media;\n this.footer = new Footer$1(referenceId, initContent);\n this.relationships = new Relationships();\n }\n add(item) {\n this.footer.add(item);\n }\n addChildElement(childElement) {\n this.footer.addChildElement(childElement);\n }\n get View() {\n return this.footer;\n }\n get Relationships() {\n return this.relationships;\n }\n get Media() {\n return this.media;\n }\n}\nclass FootnoteAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n type: \"w:type\",\n id: \"w:id\"\n });\n }\n}\nclass FootnoteRef extends XmlComponent {\n constructor() {\n super(\"w:footnoteRef\");\n }\n}\nclass FootnoteRefRun extends Run {\n constructor() {\n super({\n style: \"FootnoteReference\"\n });\n this.root.push(new FootnoteRef());\n }\n}\nconst FootnoteType = {\n /** Separator line between body text and footnotes */\n SEPERATOR: \"separator\",\n /** Continuation separator for footnotes spanning pages */\n CONTINUATION_SEPERATOR: \"continuationSeparator\"\n};\nclass Footnote extends XmlComponent {\n constructor(options) {\n super(\"w:footnote\");\n this.root.push(\n new FootnoteAttributes({\n type: options.type,\n id: options.id\n })\n );\n for (let i = 0; i < options.children.length; i++) {\n const child = options.children[i];\n if (i === 0) {\n child.addRunToFront(new FootnoteRefRun());\n }\n this.root.push(child);\n }\n }\n}\nclass FootnotesAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n wpc: \"xmlns:wpc\",\n mc: \"xmlns:mc\",\n o: \"xmlns:o\",\n r: \"xmlns:r\",\n m: \"xmlns:m\",\n v: \"xmlns:v\",\n wp14: \"xmlns:wp14\",\n wp: \"xmlns:wp\",\n w10: \"xmlns:w10\",\n w: \"xmlns:w\",\n w14: \"xmlns:w14\",\n w15: \"xmlns:w15\",\n wpg: \"xmlns:wpg\",\n wpi: \"xmlns:wpi\",\n wne: \"xmlns:wne\",\n wps: \"xmlns:wps\",\n Ignorable: \"mc:Ignorable\"\n });\n }\n}\nclass FootNotes extends XmlComponent {\n constructor() {\n super(\"w:footnotes\");\n this.root.push(\n new FootnotesAttributes({\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n o: \"urn:schemas-microsoft-com:office:office\",\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n v: \"urn:schemas-microsoft-com:vml\",\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n w10: \"urn:schemas-microsoft-com:office:word\",\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\n Ignorable: \"w14 w15 wp14\"\n })\n );\n const begin = new Footnote({\n id: -1,\n type: FootnoteType.SEPERATOR,\n children: [\n new Paragraph({\n spacing: {\n after: 0,\n line: 240,\n lineRule: LineRuleType.AUTO\n },\n children: [new SeperatorRun()]\n })\n ]\n });\n this.root.push(begin);\n const spacing = new Footnote({\n id: 0,\n type: FootnoteType.CONTINUATION_SEPERATOR,\n children: [\n new Paragraph({\n spacing: {\n after: 0,\n line: 240,\n lineRule: LineRuleType.AUTO\n },\n children: [new ContinuationSeperatorRun()]\n })\n ]\n });\n this.root.push(spacing);\n }\n /**\n * Creates and adds a new footnote to the collection.\n *\n * @param id - Unique numeric identifier for the footnote\n * @param paragraph - Array of paragraphs that make up the footnote content\n */\n createFootNote(id, paragraph) {\n const footnote = new Footnote({\n id,\n children: paragraph\n });\n this.root.push(footnote);\n }\n}\nclass FootnotesWrapper {\n constructor() {\n __publicField(this, \"footnotess\");\n __publicField(this, \"relationships\");\n this.footnotess = new FootNotes();\n this.relationships = new Relationships();\n }\n get View() {\n return this.footnotess;\n }\n get Relationships() {\n return this.relationships;\n }\n}\nclass HeaderAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n wpc: \"xmlns:wpc\",\n mc: \"xmlns:mc\",\n o: \"xmlns:o\",\n r: \"xmlns:r\",\n m: \"xmlns:m\",\n v: \"xmlns:v\",\n wp14: \"xmlns:wp14\",\n wp: \"xmlns:wp\",\n w10: \"xmlns:w10\",\n w: \"xmlns:w\",\n w14: \"xmlns:w14\",\n w15: \"xmlns:w15\",\n wpg: \"xmlns:wpg\",\n wpi: \"xmlns:wpi\",\n wne: \"xmlns:wne\",\n wps: \"xmlns:wps\",\n cp: \"xmlns:cp\",\n dc: \"xmlns:dc\",\n dcterms: \"xmlns:dcterms\",\n dcmitype: \"xmlns:dcmitype\",\n xsi: \"xmlns:xsi\",\n type: \"xsi:type\",\n cx: \"xmlns:cx\",\n cx1: \"xmlns:cx1\",\n cx2: \"xmlns:cx2\",\n cx3: \"xmlns:cx3\",\n cx4: \"xmlns:cx4\",\n cx5: \"xmlns:cx5\",\n cx6: \"xmlns:cx6\",\n cx7: \"xmlns:cx7\",\n cx8: \"xmlns:cx8\",\n w16cid: \"xmlns:w16cid\",\n w16se: \"xmlns:w16se\"\n });\n }\n}\nlet Header$1 = class Header extends InitializableXmlComponent {\n constructor(referenceNumber, initContent) {\n super(\"w:hdr\", initContent);\n __publicField(this, \"refId\");\n this.refId = referenceNumber;\n if (!initContent) {\n this.root.push(\n new HeaderAttributes({\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n o: \"urn:schemas-microsoft-com:office:office\",\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n v: \"urn:schemas-microsoft-com:vml\",\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n w10: \"urn:schemas-microsoft-com:office:word\",\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\n cx: \"http://schemas.microsoft.com/office/drawing/2014/chartex\",\n cx1: \"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\",\n cx2: \"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\",\n cx3: \"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\",\n cx4: \"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\",\n cx5: \"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\",\n cx6: \"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\",\n cx7: \"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\",\n cx8: \"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\",\n w16cid: \"http://schemas.microsoft.com/office/word/2016/wordml/cid\",\n w16se: \"http://schemas.microsoft.com/office/word/2015/wordml/symex\"\n })\n );\n }\n }\n get ReferenceId() {\n return this.refId;\n }\n add(item) {\n this.root.push(item);\n }\n};\nclass HeaderWrapper {\n constructor(media, referenceId, initContent) {\n __publicField(this, \"header\");\n __publicField(this, \"relationships\");\n this.media = media;\n this.header = new Header$1(referenceId, initContent);\n this.relationships = new Relationships();\n }\n add(item) {\n this.header.add(item);\n return this;\n }\n addChildElement(childElement) {\n this.header.addChildElement(childElement);\n }\n get View() {\n return this.header;\n }\n get Relationships() {\n return this.relationships;\n }\n get Media() {\n return this.media;\n }\n}\nclass Media {\n constructor() {\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"map\");\n this.map = /* @__PURE__ */ new Map();\n }\n /**\n * Adds an image to the media collection.\n *\n * @param key - Unique identifier for this image\n * @param mediaData - Complete image data including file name, transformation, and raw data\n */\n addImage(key, mediaData) {\n this.map.set(key, mediaData);\n }\n /**\n * Gets all images as an array.\n *\n * @returns Read-only array of all media data in the collection\n */\n get Array() {\n return Array.from(this.map.values());\n }\n}\nconst WORKAROUND2 = \"\";\nconst LevelFormat = {\n /** Decimal numbering (1, 2, 3...). */\n DECIMAL: \"decimal\",\n /** Uppercase roman numerals (I, II, III...). */\n UPPER_ROMAN: \"upperRoman\",\n /** Lowercase roman numerals (i, ii, iii...). */\n LOWER_ROMAN: \"lowerRoman\",\n /** Uppercase letters (A, B, C...). */\n UPPER_LETTER: \"upperLetter\",\n /** Lowercase letters (a, b, c...). */\n LOWER_LETTER: \"lowerLetter\",\n /** Ordinal numbers (1st, 2nd, 3rd...). */\n ORDINAL: \"ordinal\",\n /** Cardinal text (one, two, three...). */\n CARDINAL_TEXT: \"cardinalText\",\n /** Ordinal text (first, second, third...). */\n ORDINAL_TEXT: \"ordinalText\",\n /** Hexadecimal numbering. */\n HEX: \"hex\",\n /** Chicago Manual of Style numbering. */\n CHICAGO: \"chicago\",\n /** Ideograph digital numbering. */\n IDEOGRAPH__DIGITAL: \"ideographDigital\",\n /** Japanese counting system. */\n JAPANESE_COUNTING: \"japaneseCounting\",\n /** Japanese aiueo ordering. */\n AIUEO: \"aiueo\",\n /** Japanese iroha ordering. */\n IROHA: \"iroha\",\n /** Full-width decimal numbering. */\n DECIMAL_FULL_WIDTH: \"decimalFullWidth\",\n /** Half-width decimal numbering. */\n DECIMAL_HALF_WIDTH: \"decimalHalfWidth\",\n /** Japanese legal numbering. */\n JAPANESE_LEGAL: \"japaneseLegal\",\n /** Japanese digital ten thousand numbering. */\n JAPANESE_DIGITAL_TEN_THOUSAND: \"japaneseDigitalTenThousand\",\n /** Decimal numbers enclosed in circles. */\n DECIMAL_ENCLOSED_CIRCLE: \"decimalEnclosedCircle\",\n /** Full-width decimal numbering variant 2. */\n DECIMAL_FULL_WIDTH2: \"decimalFullWidth2\",\n /** Full-width aiueo ordering. */\n AIUEO_FULL_WIDTH: \"aiueoFullWidth\",\n /** Full-width iroha ordering. */\n IROHA_FULL_WIDTH: \"irohaFullWidth\",\n /** Decimal with leading zeros. */\n DECIMAL_ZERO: \"decimalZero\",\n /** Bullet points. */\n BULLET: \"bullet\",\n /** Korean ganada ordering. */\n GANADA: \"ganada\",\n /** Korean chosung ordering. */\n CHOSUNG: \"chosung\",\n /** Decimal enclosed with fullstop. */\n DECIMAL_ENCLOSED_FULLSTOP: \"decimalEnclosedFullstop\",\n /** Decimal enclosed in parentheses. */\n DECIMAL_ENCLOSED_PARENTHESES: \"decimalEnclosedParen\",\n /** Decimal enclosed in circles (Chinese). */\n DECIMAL_ENCLOSED_CIRCLE_CHINESE: \"decimalEnclosedCircleChinese\",\n /** Ideograph enclosed in circles. */\n IDEOGRAPH_ENCLOSED_CIRCLE: \"ideographEnclosedCircle\",\n /** Traditional ideograph numbering. */\n IDEOGRAPH_TRADITIONAL: \"ideographTraditional\",\n /** Ideograph zodiac numbering. */\n IDEOGRAPH_ZODIAC: \"ideographZodiac\",\n /** Traditional ideograph zodiac numbering. */\n IDEOGRAPH_ZODIAC_TRADITIONAL: \"ideographZodiacTraditional\",\n /** Taiwanese counting system. */\n TAIWANESE_COUNTING: \"taiwaneseCounting\",\n /** Traditional ideograph legal numbering. */\n IDEOGRAPH_LEGAL_TRADITIONAL: \"ideographLegalTraditional\",\n /** Taiwanese counting thousand system. */\n TAIWANESE_COUNTING_THOUSAND: \"taiwaneseCountingThousand\",\n /** Taiwanese digital numbering. */\n TAIWANESE_DIGITAL: \"taiwaneseDigital\",\n /** Chinese counting system. */\n CHINESE_COUNTING: \"chineseCounting\",\n /** Simplified Chinese legal numbering. */\n CHINESE_LEGAL_SIMPLIFIED: \"chineseLegalSimplified\",\n /** Chinese counting thousand system. */\n CHINESE_COUNTING_THOUSAND: \"chineseCountingThousand\",\n /** Korean digital numbering. */\n KOREAN_DIGITAL: \"koreanDigital\",\n /** Korean counting system. */\n KOREAN_COUNTING: \"koreanCounting\",\n /** Korean legal numbering. */\n KOREAN_LEGAL: \"koreanLegal\",\n /** Korean digital numbering variant 2. */\n KOREAN_DIGITAL2: \"koreanDigital2\",\n /** Vietnamese counting system. */\n VIETNAMESE_COUNTING: \"vietnameseCounting\",\n /** Russian lowercase numbering. */\n RUSSIAN_LOWER: \"russianLower\",\n /** Russian uppercase numbering. */\n RUSSIAN_UPPER: \"russianUpper\",\n /** No numbering. */\n NONE: \"none\",\n /** Number enclosed in dashes. */\n NUMBER_IN_DASH: \"numberInDash\",\n /** Hebrew numbering variant 1. */\n HEBREW1: \"hebrew1\",\n /** Hebrew numbering variant 2. */\n HEBREW2: \"hebrew2\",\n /** Arabic alpha numbering. */\n ARABIC_ALPHA: \"arabicAlpha\",\n /** Arabic abjad numbering. */\n ARABIC_ABJAD: \"arabicAbjad\",\n /** Hindi vowels. */\n HINDI_VOWELS: \"hindiVowels\",\n /** Hindi consonants. */\n HINDI_CONSONANTS: \"hindiConsonants\",\n /** Hindi numbers. */\n HINDI_NUMBERS: \"hindiNumbers\",\n /** Hindi counting system. */\n HINDI_COUNTING: \"hindiCounting\",\n /** Thai letters. */\n THAI_LETTERS: \"thaiLetters\",\n /** Thai numbers. */\n THAI_NUMBERS: \"thaiNumbers\",\n /** Thai counting system. */\n THAI_COUNTING: \"thaiCounting\",\n /** Thai Baht text. */\n BAHT_TEXT: \"bahtText\",\n /** Dollar text. */\n DOLLAR_TEXT: \"dollarText\",\n /** Custom numbering format. */\n CUSTOM: \"custom\"\n};\nclass LevelAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n ilvl: \"w:ilvl\",\n tentative: \"w15:tentative\"\n });\n }\n}\nclass NumberFormat extends XmlComponent {\n constructor(value) {\n super(\"w:numFmt\");\n this.root.push(\n new Attributes({\n val: value\n })\n );\n }\n}\nclass LevelText extends XmlComponent {\n constructor(value) {\n super(\"w:lvlText\");\n this.root.push(\n new Attributes({\n val: value\n })\n );\n }\n}\nclass LevelJc extends XmlComponent {\n constructor(value) {\n super(\"w:lvlJc\");\n this.root.push(\n new Attributes({\n val: value\n })\n );\n }\n}\nconst LevelSuffix = {\n /** No separator after the numbering. */\n NOTHING: \"nothing\",\n /** Space character after the numbering. */\n SPACE: \"space\",\n /** Tab character after the numbering. */\n TAB: \"tab\"\n};\nclass Suffix extends XmlComponent {\n constructor(value) {\n super(\"w:suff\");\n this.root.push(\n new Attributes({\n val: value\n })\n );\n }\n}\nclass IsLegalNumberingStyle extends XmlComponent {\n constructor() {\n super(\"w:isLgl\");\n }\n}\nclass LevelBase extends XmlComponent {\n /**\n * Creates a new numbering level.\n *\n * @param options - Level configuration options\n * @throws Error if level is greater than 9 (Word limitation)\n */\n constructor({\n level,\n format,\n text,\n alignment = AlignmentType.START,\n start = 1,\n style,\n suffix,\n isLegalNumberingStyle\n }) {\n super(\"w:lvl\");\n __publicField(this, \"paragraphProperties\");\n __publicField(this, \"runProperties\");\n this.root.push(new NumberValueElement(\"w:start\", decimalNumber(start)));\n if (format) {\n this.root.push(new NumberFormat(format));\n }\n if (suffix) {\n this.root.push(new Suffix(suffix));\n }\n if (isLegalNumberingStyle) {\n this.root.push(new IsLegalNumberingStyle());\n }\n if (text) {\n this.root.push(new LevelText(text));\n }\n this.root.push(new LevelJc(alignment));\n this.paragraphProperties = new ParagraphProperties(style && style.paragraph);\n this.runProperties = new RunProperties(style && style.run);\n this.root.push(this.paragraphProperties);\n this.root.push(this.runProperties);\n if (level > 9) {\n throw new Error(\n \"Level cannot be greater than 9. Read more here: https://answers.microsoft.com/en-us/msoffice/forum/all/does-word-support-more-than-9-list-levels/d130fdcd-1781-446d-8c84-c6c79124e4d7\"\n );\n }\n this.root.push(\n new LevelAttributes({\n ilvl: decimalNumber(level),\n tentative: 1\n })\n );\n }\n}\nclass Level extends LevelBase {\n // This is the level that sits under abstractNum\n}\nclass LevelForOverride extends LevelBase {\n}\nclass MultiLevelType extends XmlComponent {\n /**\n * Creates a new multi-level type specification.\n *\n * @param value - The multi-level type: \"singleLevel\", \"multilevel\", or \"hybridMultilevel\"\n */\n constructor(value) {\n super(\"w:multiLevelType\");\n this.root.push(\n new Attributes({\n val: value\n })\n );\n }\n}\nclass AbstractNumberingAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n abstractNumId: \"w:abstractNumId\",\n restartNumberingAfterBreak: \"w15:restartNumberingAfterBreak\"\n });\n }\n}\nclass AbstractNumbering extends XmlComponent {\n /**\n * Creates a new abstract numbering definition.\n *\n * @param id - Unique identifier for this abstract numbering definition\n * @param levelOptions - Array of level definitions (up to 9 levels)\n */\n constructor(id, levelOptions) {\n super(\"w:abstractNum\");\n /** The unique identifier for this abstract numbering definition. */\n __publicField(this, \"id\");\n this.root.push(\n new AbstractNumberingAttributes({\n abstractNumId: decimalNumber(id),\n restartNumberingAfterBreak: 0\n })\n );\n this.root.push(new MultiLevelType(\"hybridMultilevel\"));\n this.id = id;\n for (const option of levelOptions) {\n this.root.push(new Level(option));\n }\n }\n}\nclass AbstractNumId extends XmlComponent {\n constructor(value) {\n super(\"w:abstractNumId\");\n this.root.push(\n new Attributes({\n val: value\n })\n );\n }\n}\nclass NumAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { numId: \"w:numId\" });\n }\n}\nclass ConcreteNumbering extends XmlComponent {\n /**\n * Creates a new concrete numbering instance.\n *\n * @param options - Configuration options for the numbering instance\n */\n constructor(options) {\n super(\"w:num\");\n /** The unique identifier for this numbering instance. */\n __publicField(this, \"numId\");\n /** The reference name for this numbering instance. */\n __publicField(this, \"reference\");\n /** The instance number for tracking multiple uses. */\n __publicField(this, \"instance\");\n this.numId = options.numId;\n this.reference = options.reference;\n this.instance = options.instance;\n this.root.push(\n new NumAttributes({\n numId: decimalNumber(options.numId)\n })\n );\n this.root.push(new AbstractNumId(decimalNumber(options.abstractNumId)));\n if (options.overrideLevels && options.overrideLevels.length) {\n for (const level of options.overrideLevels) {\n this.root.push(new LevelOverride(level.num, level.start));\n }\n }\n }\n}\nclass LevelOverrideAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { ilvl: \"w:ilvl\" });\n }\n}\nclass LevelOverride extends XmlComponent {\n /**\n * Creates a new level override.\n *\n * @param levelNum - The level number to override (0-8)\n * @param start - Optional starting number for the level\n */\n constructor(levelNum, start) {\n super(\"w:lvlOverride\");\n this.root.push(new LevelOverrideAttributes({ ilvl: levelNum }));\n if (start !== void 0) {\n this.root.push(new StartOverride(start));\n }\n }\n}\nclass StartOverrideAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { val: \"w:val\" });\n }\n}\nclass StartOverride extends XmlComponent {\n /**\n * Creates a new start override.\n *\n * @param start - The starting number\n */\n constructor(start) {\n super(\"w:startOverride\");\n this.root.push(new StartOverrideAttributes({ val: start }));\n }\n}\nclass Numbering extends XmlComponent {\n /**\n * Creates a new numbering definition collection.\n *\n * Initializes the numbering with a default bullet list configuration and\n * any custom numbering configurations provided in the options.\n *\n * @param options - Configuration options for numbering definitions\n */\n constructor(options) {\n super(\"w:numbering\");\n __publicField(this, \"abstractNumberingMap\", /* @__PURE__ */ new Map());\n __publicField(this, \"concreteNumberingMap\", /* @__PURE__ */ new Map());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __publicField(this, \"referenceConfigMap\", /* @__PURE__ */ new Map());\n __publicField(this, \"abstractNumUniqueNumericId\", abstractNumUniqueNumericIdGen());\n __publicField(this, \"concreteNumUniqueNumericId\", concreteNumUniqueNumericIdGen());\n this.root.push(\n new DocumentAttributes(\n [\"wpc\", \"mc\", \"o\", \"r\", \"m\", \"v\", \"wp14\", \"wp\", \"w10\", \"w\", \"w14\", \"w15\", \"wpg\", \"wpi\", \"wne\", \"wps\"],\n \"w14 w15 wp14\"\n )\n );\n const abstractNumbering = new AbstractNumbering(this.abstractNumUniqueNumericId(), [\n {\n level: 0,\n format: LevelFormat.BULLET,\n text: \"●\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 1,\n format: LevelFormat.BULLET,\n text: \"○\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: convertInchesToTwip(1), hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 2,\n format: LevelFormat.BULLET,\n text: \"■\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 2160, hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 3,\n format: LevelFormat.BULLET,\n text: \"●\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 2880, hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 4,\n format: LevelFormat.BULLET,\n text: \"○\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 3600, hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 5,\n format: LevelFormat.BULLET,\n text: \"■\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 4320, hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 6,\n format: LevelFormat.BULLET,\n text: \"●\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 5040, hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 7,\n format: LevelFormat.BULLET,\n text: \"●\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 5760, hanging: convertInchesToTwip(0.25) }\n }\n }\n },\n {\n level: 8,\n format: LevelFormat.BULLET,\n text: \"●\",\n alignment: AlignmentType.LEFT,\n style: {\n paragraph: {\n indent: { left: 6480, hanging: convertInchesToTwip(0.25) }\n }\n }\n }\n ]);\n this.concreteNumberingMap.set(\n \"default-bullet-numbering\",\n new ConcreteNumbering({\n numId: 1,\n abstractNumId: abstractNumbering.id,\n reference: \"default-bullet-numbering\",\n instance: 0,\n overrideLevels: [\n {\n num: 0,\n start: 1\n }\n ]\n })\n );\n this.abstractNumberingMap.set(\"default-bullet-numbering\", abstractNumbering);\n for (const con of options.config) {\n this.abstractNumberingMap.set(con.reference, new AbstractNumbering(this.abstractNumUniqueNumericId(), con.levels));\n this.referenceConfigMap.set(con.reference, con.levels);\n }\n }\n /**\n * Prepares the numbering definitions for XML serialization.\n *\n * Adds all abstract and concrete numbering definitions to the XML tree.\n *\n * @param context - The XML context\n * @returns The prepared XML object\n */\n prepForXml(context) {\n for (const numbering of this.abstractNumberingMap.values()) {\n this.root.push(numbering);\n }\n for (const numbering of this.concreteNumberingMap.values()) {\n this.root.push(numbering);\n }\n return super.prepForXml(context);\n }\n /**\n * Creates a concrete numbering instance from an abstract numbering definition.\n *\n * This method creates a new concrete numbering instance that references an\n * abstract numbering definition. It's used internally when paragraphs reference\n * numbering configurations.\n *\n * @param reference - The reference name of the abstract numbering definition\n * @param instance - The instance number for this concrete numbering\n */\n createConcreteNumberingInstance(reference, instance) {\n const abstractNumbering = this.abstractNumberingMap.get(reference);\n if (!abstractNumbering) {\n return;\n }\n const fullReference = `${reference}-${instance}`;\n if (this.concreteNumberingMap.has(fullReference)) {\n return;\n }\n const referenceConfigLevels = this.referenceConfigMap.get(reference);\n const firstLevelStartNumber = referenceConfigLevels && referenceConfigLevels[0].start;\n const concreteNumberingSettings = {\n numId: this.concreteNumUniqueNumericId(),\n abstractNumId: abstractNumbering.id,\n reference,\n instance,\n overrideLevels: [\n typeof firstLevelStartNumber === \"number\" && Number.isInteger(firstLevelStartNumber) ? {\n num: 0,\n start: firstLevelStartNumber\n } : {\n num: 0,\n start: 1\n }\n ]\n };\n this.concreteNumberingMap.set(fullReference, new ConcreteNumbering(concreteNumberingSettings));\n }\n /**\n * Gets all concrete numbering instances.\n *\n * @returns An array of all concrete numbering instances\n */\n get ConcreteNumbering() {\n return Array.from(this.concreteNumberingMap.values());\n }\n /**\n * Gets all reference configurations.\n *\n * @returns An array of all numbering reference configurations\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get ReferenceConfig() {\n return Array.from(this.referenceConfigMap.values());\n }\n}\nconst createCompatibilitySetting = (version) => new BuilderElement({\n name: \"w:compatSetting\",\n attributes: {\n version: { key: \"w:val\", value: version },\n name: { key: \"w:name\", value: \"compatibilityMode\" },\n uri: { key: \"w:uri\", value: \"http://schemas.microsoft.com/office/word\" }\n }\n});\nclass Compatibility extends XmlComponent {\n constructor(options) {\n super(\"w:compat\");\n if (options.version) {\n this.root.push(createCompatibilitySetting(options.version));\n }\n if (options.useSingleBorderforContiguousCells) {\n this.root.push(new OnOffElement(\"w:useSingleBorderforContiguousCells\", options.useSingleBorderforContiguousCells));\n }\n if (options.wordPerfectJustification) {\n this.root.push(new OnOffElement(\"w:wpJustification\", options.wordPerfectJustification));\n }\n if (options.noTabStopForHangingIndent) {\n this.root.push(new OnOffElement(\"w:noTabHangInd\", options.noTabStopForHangingIndent));\n }\n if (options.noLeading) {\n this.root.push(new OnOffElement(\"w:noLeading\", options.noLeading));\n }\n if (options.spaceForUnderline) {\n this.root.push(new OnOffElement(\"w:spaceForUL\", options.spaceForUnderline));\n }\n if (options.noColumnBalance) {\n this.root.push(new OnOffElement(\"w:noColumnBalance\", options.noColumnBalance));\n }\n if (options.balanceSingleByteDoubleByteWidth) {\n this.root.push(new OnOffElement(\"w:balanceSingleByteDoubleByteWidth\", options.balanceSingleByteDoubleByteWidth));\n }\n if (options.noExtraLineSpacing) {\n this.root.push(new OnOffElement(\"w:noExtraLineSpacing\", options.noExtraLineSpacing));\n }\n if (options.doNotLeaveBackslashAlone) {\n this.root.push(new OnOffElement(\"w:doNotLeaveBackslashAlone\", options.doNotLeaveBackslashAlone));\n }\n if (options.underlineTrailingSpaces) {\n this.root.push(new OnOffElement(\"w:ulTrailSpace\", options.underlineTrailingSpaces));\n }\n if (options.doNotExpandShiftReturn) {\n this.root.push(new OnOffElement(\"w:doNotExpandShiftReturn\", options.doNotExpandShiftReturn));\n }\n if (options.spacingInWholePoints) {\n this.root.push(new OnOffElement(\"w:spacingInWholePoints\", options.spacingInWholePoints));\n }\n if (options.lineWrapLikeWord6) {\n this.root.push(new OnOffElement(\"w:lineWrapLikeWord6\", options.lineWrapLikeWord6));\n }\n if (options.printBodyTextBeforeHeader) {\n this.root.push(new OnOffElement(\"w:printBodyTextBeforeHeader\", options.printBodyTextBeforeHeader));\n }\n if (options.printColorsBlack) {\n this.root.push(new OnOffElement(\"w:printColBlack\", options.printColorsBlack));\n }\n if (options.spaceWidth) {\n this.root.push(new OnOffElement(\"w:wpSpaceWidth\", options.spaceWidth));\n }\n if (options.showBreaksInFrames) {\n this.root.push(new OnOffElement(\"w:showBreaksInFrames\", options.showBreaksInFrames));\n }\n if (options.subFontBySize) {\n this.root.push(new OnOffElement(\"w:subFontBySize\", options.subFontBySize));\n }\n if (options.suppressBottomSpacing) {\n this.root.push(new OnOffElement(\"w:suppressBottomSpacing\", options.suppressBottomSpacing));\n }\n if (options.suppressTopSpacing) {\n this.root.push(new OnOffElement(\"w:suppressTopSpacing\", options.suppressTopSpacing));\n }\n if (options.suppressSpacingAtTopOfPage) {\n this.root.push(new OnOffElement(\"w:suppressSpacingAtTopOfPage\", options.suppressSpacingAtTopOfPage));\n }\n if (options.suppressTopSpacingWP) {\n this.root.push(new OnOffElement(\"w:suppressTopSpacingWP\", options.suppressTopSpacingWP));\n }\n if (options.suppressSpBfAfterPgBrk) {\n this.root.push(new OnOffElement(\"w:suppressSpBfAfterPgBrk\", options.suppressSpBfAfterPgBrk));\n }\n if (options.swapBordersFacingPages) {\n this.root.push(new OnOffElement(\"w:swapBordersFacingPages\", options.swapBordersFacingPages));\n }\n if (options.convertMailMergeEsc) {\n this.root.push(new OnOffElement(\"w:convMailMergeEsc\", options.convertMailMergeEsc));\n }\n if (options.truncateFontHeightsLikeWP6) {\n this.root.push(new OnOffElement(\"w:truncateFontHeightsLikeWP6\", options.truncateFontHeightsLikeWP6));\n }\n if (options.macWordSmallCaps) {\n this.root.push(new OnOffElement(\"w:mwSmallCaps\", options.macWordSmallCaps));\n }\n if (options.usePrinterMetrics) {\n this.root.push(new OnOffElement(\"w:usePrinterMetrics\", options.usePrinterMetrics));\n }\n if (options.doNotSuppressParagraphBorders) {\n this.root.push(new OnOffElement(\"w:doNotSuppressParagraphBorders\", options.doNotSuppressParagraphBorders));\n }\n if (options.wrapTrailSpaces) {\n this.root.push(new OnOffElement(\"w:wrapTrailSpaces\", options.wrapTrailSpaces));\n }\n if (options.footnoteLayoutLikeWW8) {\n this.root.push(new OnOffElement(\"w:footnoteLayoutLikeWW8\", options.footnoteLayoutLikeWW8));\n }\n if (options.shapeLayoutLikeWW8) {\n this.root.push(new OnOffElement(\"w:shapeLayoutLikeWW8\", options.shapeLayoutLikeWW8));\n }\n if (options.alignTablesRowByRow) {\n this.root.push(new OnOffElement(\"w:alignTablesRowByRow\", options.alignTablesRowByRow));\n }\n if (options.forgetLastTabAlignment) {\n this.root.push(new OnOffElement(\"w:forgetLastTabAlignment\", options.forgetLastTabAlignment));\n }\n if (options.adjustLineHeightInTable) {\n this.root.push(new OnOffElement(\"w:adjustLineHeightInTable\", options.adjustLineHeightInTable));\n }\n if (options.autoSpaceLikeWord95) {\n this.root.push(new OnOffElement(\"w:autoSpaceLikeWord95\", options.autoSpaceLikeWord95));\n }\n if (options.noSpaceRaiseLower) {\n this.root.push(new OnOffElement(\"w:noSpaceRaiseLower\", options.noSpaceRaiseLower));\n }\n if (options.doNotUseHTMLParagraphAutoSpacing) {\n this.root.push(new OnOffElement(\"w:doNotUseHTMLParagraphAutoSpacing\", options.doNotUseHTMLParagraphAutoSpacing));\n }\n if (options.layoutRawTableWidth) {\n this.root.push(new OnOffElement(\"w:layoutRawTableWidth\", options.layoutRawTableWidth));\n }\n if (options.layoutTableRowsApart) {\n this.root.push(new OnOffElement(\"w:layoutTableRowsApart\", options.layoutTableRowsApart));\n }\n if (options.useWord97LineBreakRules) {\n this.root.push(new OnOffElement(\"w:useWord97LineBreakRules\", options.useWord97LineBreakRules));\n }\n if (options.doNotBreakWrappedTables) {\n this.root.push(new OnOffElement(\"w:doNotBreakWrappedTables\", options.doNotBreakWrappedTables));\n }\n if (options.doNotSnapToGridInCell) {\n this.root.push(new OnOffElement(\"w:doNotSnapToGridInCell\", options.doNotSnapToGridInCell));\n }\n if (options.selectFieldWithFirstOrLastCharacter) {\n this.root.push(new OnOffElement(\"w:selectFldWithFirstOrLastChar\", options.selectFieldWithFirstOrLastCharacter));\n }\n if (options.applyBreakingRules) {\n this.root.push(new OnOffElement(\"w:applyBreakingRules\", options.applyBreakingRules));\n }\n if (options.doNotWrapTextWithPunctuation) {\n this.root.push(new OnOffElement(\"w:doNotWrapTextWithPunct\", options.doNotWrapTextWithPunctuation));\n }\n if (options.doNotUseEastAsianBreakRules) {\n this.root.push(new OnOffElement(\"w:doNotUseEastAsianBreakRules\", options.doNotUseEastAsianBreakRules));\n }\n if (options.useWord2002TableStyleRules) {\n this.root.push(new OnOffElement(\"w:useWord2002TableStyleRules\", options.useWord2002TableStyleRules));\n }\n if (options.growAutofit) {\n this.root.push(new OnOffElement(\"w:growAutofit\", options.growAutofit));\n }\n if (options.useFELayout) {\n this.root.push(new OnOffElement(\"w:useFELayout\", options.useFELayout));\n }\n if (options.useNormalStyleForList) {\n this.root.push(new OnOffElement(\"w:useNormalStyleForList\", options.useNormalStyleForList));\n }\n if (options.doNotUseIndentAsNumberingTabStop) {\n this.root.push(new OnOffElement(\"w:doNotUseIndentAsNumberingTabStop\", options.doNotUseIndentAsNumberingTabStop));\n }\n if (options.useAlternateEastAsianLineBreakRules) {\n this.root.push(new OnOffElement(\"w:useAltKinsokuLineBreakRules\", options.useAlternateEastAsianLineBreakRules));\n }\n if (options.allowSpaceOfSameStyleInTable) {\n this.root.push(new OnOffElement(\"w:allowSpaceOfSameStyleInTable\", options.allowSpaceOfSameStyleInTable));\n }\n if (options.doNotSuppressIndentation) {\n this.root.push(new OnOffElement(\"w:doNotSuppressIndentation\", options.doNotSuppressIndentation));\n }\n if (options.doNotAutofitConstrainedTables) {\n this.root.push(new OnOffElement(\"w:doNotAutofitConstrainedTables\", options.doNotAutofitConstrainedTables));\n }\n if (options.autofitToFirstFixedWidthCell) {\n this.root.push(new OnOffElement(\"w:autofitToFirstFixedWidthCell\", options.autofitToFirstFixedWidthCell));\n }\n if (options.underlineTabInNumberingList) {\n this.root.push(new OnOffElement(\"w:underlineTabInNumList\", options.underlineTabInNumberingList));\n }\n if (options.displayHangulFixedWidth) {\n this.root.push(new OnOffElement(\"w:displayHangulFixedWidth\", options.displayHangulFixedWidth));\n }\n if (options.splitPgBreakAndParaMark) {\n this.root.push(new OnOffElement(\"w:splitPgBreakAndParaMark\", options.splitPgBreakAndParaMark));\n }\n if (options.doNotVerticallyAlignCellWithSp) {\n this.root.push(new OnOffElement(\"w:doNotVertAlignCellWithSp\", options.doNotVerticallyAlignCellWithSp));\n }\n if (options.doNotBreakConstrainedForcedTable) {\n this.root.push(new OnOffElement(\"w:doNotBreakConstrainedForcedTable\", options.doNotBreakConstrainedForcedTable));\n }\n if (options.ignoreVerticalAlignmentInTextboxes) {\n this.root.push(new OnOffElement(\"w:doNotVertAlignInTxbx\", options.ignoreVerticalAlignmentInTextboxes));\n }\n if (options.useAnsiKerningPairs) {\n this.root.push(new OnOffElement(\"w:useAnsiKerningPairs\", options.useAnsiKerningPairs));\n }\n if (options.cachedColumnBalance) {\n this.root.push(new OnOffElement(\"w:cachedColBalance\", options.cachedColumnBalance));\n }\n }\n}\nclass SettingsAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n wpc: \"xmlns:wpc\",\n mc: \"xmlns:mc\",\n o: \"xmlns:o\",\n r: \"xmlns:r\",\n m: \"xmlns:m\",\n v: \"xmlns:v\",\n wp14: \"xmlns:wp14\",\n wp: \"xmlns:wp\",\n w10: \"xmlns:w10\",\n w: \"xmlns:w\",\n w14: \"xmlns:w14\",\n w15: \"xmlns:w15\",\n wpg: \"xmlns:wpg\",\n wpi: \"xmlns:wpi\",\n wne: \"xmlns:wne\",\n wps: \"xmlns:wps\",\n Ignorable: \"mc:Ignorable\"\n });\n }\n}\nclass Settings extends XmlComponent {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n super(\"w:settings\");\n this.root.push(\n new SettingsAttributes({\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\n o: \"urn:schemas-microsoft-com:office:office\",\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n v: \"urn:schemas-microsoft-com:vml\",\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\n w10: \"urn:schemas-microsoft-com:office:word\",\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\n Ignorable: \"w14 w15 wp14\"\n })\n );\n this.root.push(new OnOffElement(\"w:displayBackgroundShape\", true));\n if (options.trackRevisions !== void 0) {\n this.root.push(new OnOffElement(\"w:trackRevisions\", options.trackRevisions));\n }\n if (options.evenAndOddHeaders !== void 0) {\n this.root.push(new OnOffElement(\"w:evenAndOddHeaders\", options.evenAndOddHeaders));\n }\n if (options.updateFields !== void 0) {\n this.root.push(new OnOffElement(\"w:updateFields\", options.updateFields));\n }\n if (options.defaultTabStop !== void 0) {\n this.root.push(new NumberValueElement(\"w:defaultTabStop\", options.defaultTabStop));\n }\n if (((_a = options.hyphenation) == null ? void 0 : _a.autoHyphenation) !== void 0) {\n this.root.push(new OnOffElement(\"w:autoHyphenation\", options.hyphenation.autoHyphenation));\n }\n if (((_b = options.hyphenation) == null ? void 0 : _b.hyphenationZone) !== void 0) {\n this.root.push(new NumberValueElement(\"w:hyphenationZone\", options.hyphenation.hyphenationZone));\n }\n if (((_c = options.hyphenation) == null ? void 0 : _c.consecutiveHyphenLimit) !== void 0) {\n this.root.push(new NumberValueElement(\"w:consecutiveHyphenLimit\", options.hyphenation.consecutiveHyphenLimit));\n }\n if (((_d = options.hyphenation) == null ? void 0 : _d.doNotHyphenateCaps) !== void 0) {\n this.root.push(new OnOffElement(\"w:doNotHyphenateCaps\", options.hyphenation.doNotHyphenateCaps));\n }\n this.root.push(\n new Compatibility(__spreadProps(__spreadValues({}, (_e = options.compatibility) != null ? _e : {}), {\n version: (_h = (_g = (_f = options.compatibility) == null ? void 0 : _f.version) != null ? _g : options.compatibilityModeVersion) != null ? _h : 15\n }))\n );\n }\n}\nclass ComponentAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", { val: \"w:val\" });\n }\n}\nclass Name extends XmlComponent {\n constructor(value) {\n super(\"w:name\");\n this.root.push(new ComponentAttributes({ val: value }));\n }\n}\nclass UiPriority extends XmlComponent {\n constructor(value) {\n super(\"w:uiPriority\");\n this.root.push(new ComponentAttributes({ val: decimalNumber(value) }));\n }\n}\nclass StyleAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n type: \"w:type\",\n styleId: \"w:styleId\",\n default: \"w:default\",\n customStyle: \"w:customStyle\"\n });\n }\n}\nclass Style extends XmlComponent {\n constructor(attributes, options) {\n super(\"w:style\");\n this.root.push(new StyleAttributes(attributes));\n if (options.name) {\n this.root.push(new Name(options.name));\n }\n if (options.basedOn) {\n this.root.push(new StringValueElement(\"w:basedOn\", options.basedOn));\n }\n if (options.next) {\n this.root.push(new StringValueElement(\"w:next\", options.next));\n }\n if (options.link) {\n this.root.push(new StringValueElement(\"w:link\", options.link));\n }\n if (options.uiPriority !== void 0) {\n this.root.push(new UiPriority(options.uiPriority));\n }\n if (options.semiHidden !== void 0) {\n this.root.push(new OnOffElement(\"w:semiHidden\", options.semiHidden));\n }\n if (options.unhideWhenUsed !== void 0) {\n this.root.push(new OnOffElement(\"w:unhideWhenUsed\", options.unhideWhenUsed));\n }\n if (options.quickFormat !== void 0) {\n this.root.push(new OnOffElement(\"w:qFormat\", options.quickFormat));\n }\n }\n}\nclass StyleForParagraph extends Style {\n constructor(options) {\n super({ type: \"paragraph\", styleId: options.id }, options);\n __publicField(this, \"paragraphProperties\");\n __publicField(this, \"runProperties\");\n this.paragraphProperties = new ParagraphProperties(options.paragraph);\n this.runProperties = new RunProperties(options.run);\n this.root.push(this.paragraphProperties);\n this.root.push(this.runProperties);\n }\n}\nclass StyleForCharacter extends Style {\n constructor(options) {\n super(\n { type: \"character\", styleId: options.id },\n __spreadValues({\n uiPriority: 99,\n unhideWhenUsed: true\n }, options)\n );\n __publicField(this, \"runProperties\");\n this.runProperties = new RunProperties(options.run);\n this.root.push(this.runProperties);\n }\n}\nclass HeadingStyle extends StyleForParagraph {\n constructor(options) {\n super(__spreadValues({\n basedOn: \"Normal\",\n next: \"Normal\",\n quickFormat: true\n }, options));\n }\n}\nclass TitleStyle extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Title\",\n name: \"Title\"\n }, options));\n }\n}\nclass Heading1Style extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Heading1\",\n name: \"Heading 1\"\n }, options));\n }\n}\nclass Heading2Style extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Heading2\",\n name: \"Heading 2\"\n }, options));\n }\n}\nclass Heading3Style extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Heading3\",\n name: \"Heading 3\"\n }, options));\n }\n}\nclass Heading4Style extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Heading4\",\n name: \"Heading 4\"\n }, options));\n }\n}\nclass Heading5Style extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Heading5\",\n name: \"Heading 5\"\n }, options));\n }\n}\nclass Heading6Style extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Heading6\",\n name: \"Heading 6\"\n }, options));\n }\n}\nclass StrongStyle extends HeadingStyle {\n constructor(options) {\n super(__spreadValues({\n id: \"Strong\",\n name: \"Strong\"\n }, options));\n }\n}\nclass ListParagraph extends StyleForParagraph {\n constructor(options) {\n super(__spreadValues({\n id: \"ListParagraph\",\n name: \"List Paragraph\",\n basedOn: \"Normal\",\n quickFormat: true\n }, options));\n }\n}\nclass FootnoteText extends StyleForParagraph {\n constructor(options) {\n super(__spreadValues({\n id: \"FootnoteText\",\n name: \"footnote text\",\n link: \"FootnoteTextChar\",\n basedOn: \"Normal\",\n uiPriority: 99,\n semiHidden: true,\n unhideWhenUsed: true,\n paragraph: {\n spacing: {\n after: 0,\n line: 240,\n lineRule: LineRuleType.AUTO\n }\n },\n run: {\n size: 20\n }\n }, options));\n }\n}\nclass FootnoteReferenceStyle extends StyleForCharacter {\n constructor(options) {\n super(__spreadValues({\n id: \"FootnoteReference\",\n name: \"footnote reference\",\n basedOn: \"DefaultParagraphFont\",\n semiHidden: true,\n run: {\n superScript: true\n }\n }, options));\n }\n}\nclass FootnoteTextChar extends StyleForCharacter {\n constructor(options) {\n super(__spreadValues({\n id: \"FootnoteTextChar\",\n name: \"Footnote Text Char\",\n basedOn: \"DefaultParagraphFont\",\n link: \"FootnoteText\",\n semiHidden: true,\n run: {\n size: 20\n }\n }, options));\n }\n}\nclass EndnoteText extends StyleForParagraph {\n constructor(options) {\n super(__spreadValues({\n id: \"EndnoteText\",\n name: \"endnote text\",\n link: \"EndnoteTextChar\",\n basedOn: \"Normal\",\n uiPriority: 99,\n semiHidden: true,\n unhideWhenUsed: true,\n paragraph: {\n spacing: {\n after: 0,\n line: 240,\n lineRule: LineRuleType.AUTO\n }\n },\n run: {\n size: 20\n }\n }, options));\n }\n}\nclass EndnoteReferenceStyle extends StyleForCharacter {\n constructor(options) {\n super(__spreadValues({\n id: \"EndnoteReference\",\n name: \"endnote reference\",\n basedOn: \"DefaultParagraphFont\",\n semiHidden: true,\n run: {\n superScript: true\n }\n }, options));\n }\n}\nclass EndnoteTextChar extends StyleForCharacter {\n constructor(options) {\n super(__spreadValues({\n id: \"EndnoteTextChar\",\n name: \"Endnote Text Char\",\n basedOn: \"DefaultParagraphFont\",\n link: \"EndnoteText\",\n semiHidden: true,\n run: {\n size: 20\n }\n }, options));\n }\n}\nclass HyperlinkStyle extends StyleForCharacter {\n constructor(options) {\n super(__spreadValues({\n id: \"Hyperlink\",\n name: \"Hyperlink\",\n basedOn: \"DefaultParagraphFont\",\n run: {\n color: \"0563C1\",\n underline: {\n type: UnderlineType.SINGLE\n }\n }\n }, options));\n }\n}\nclass Styles extends XmlComponent {\n constructor(options) {\n super(\"w:styles\");\n if (options.initialStyles) {\n this.root.push(options.initialStyles);\n }\n if (options.importedStyles) {\n for (const style of options.importedStyles) {\n this.root.push(style);\n }\n }\n if (options.paragraphStyles) {\n for (const style of options.paragraphStyles) {\n this.root.push(new StyleForParagraph(style));\n }\n }\n if (options.characterStyles) {\n for (const style of options.characterStyles) {\n this.root.push(new StyleForCharacter(style));\n }\n }\n }\n}\nclass ParagraphPropertiesDefaults extends XmlComponent {\n constructor(options) {\n super(\"w:pPrDefault\");\n this.root.push(new ParagraphProperties(options));\n }\n}\nclass RunPropertiesDefaults extends XmlComponent {\n constructor(options) {\n super(\"w:rPrDefault\");\n this.root.push(new RunProperties(options));\n }\n}\nclass DocumentDefaults extends XmlComponent {\n constructor(options) {\n super(\"w:docDefaults\");\n __publicField(this, \"runPropertiesDefaults\");\n __publicField(this, \"paragraphPropertiesDefaults\");\n this.runPropertiesDefaults = new RunPropertiesDefaults(options.run);\n this.paragraphPropertiesDefaults = new ParagraphPropertiesDefaults(options.paragraph);\n this.root.push(this.runPropertiesDefaults);\n this.root.push(this.paragraphPropertiesDefaults);\n }\n}\nclass ExternalStylesFactory {\n /**\n * Creates new Styles based on the given XML data.\n *\n * Parses the styles XML and converts them to XmlComponent instances.\n *\n * Example content from styles.xml:\n * ```xml\n * <?xml version=\"1.0\"?>\n * <w:styles xmlns:mc=\"some schema\" ...>\n * <w:style w:type=\"paragraph\" w:styleId=\"Heading1\">\n * <w:name w:val=\"heading 1\"/>\n * ...\n * </w:style>\n * <w:style w:type=\"paragraph\" w:styleId=\"Heading2\">\n * <w:name w:val=\"heading 2\"/>\n * ...\n * </w:style>\n * <w:docDefaults>...</w:docDefaults>\n * </w:styles>\n * ```\n *\n * @param xmlData - XML string containing styles data from styles.xml\n * @returns Styles object containing all parsed styles\n * @throws Error if styles element cannot be found in the XML\n */\n newInstance(xmlData) {\n const xmlObj = libExports.xml2js(xmlData, { compact: false });\n let stylesXmlElement;\n for (const xmlElm of xmlObj.elements || []) {\n if (xmlElm.name === \"w:styles\") {\n stylesXmlElement = xmlElm;\n }\n }\n if (stylesXmlElement === void 0) {\n throw new Error(\"can not find styles element\");\n }\n const stylesElements = stylesXmlElement.elements || [];\n return {\n initialStyles: new ImportedRootElementAttributes(stylesXmlElement.attributes),\n importedStyles: stylesElements.map((childElm) => convertToXmlComponent(childElm))\n };\n }\n}\nclass DefaultStylesFactory {\n newInstance(options = {}) {\n var _a;\n const documentAttributes = new DocumentAttributes([\"mc\", \"r\", \"w\", \"w14\", \"w15\"], \"w14 w15\");\n return {\n initialStyles: documentAttributes,\n importedStyles: [\n new DocumentDefaults((_a = options.document) != null ? _a : {}),\n new TitleStyle(__spreadValues({\n run: {\n size: 56\n }\n }, options.title)),\n new Heading1Style(__spreadValues({\n run: {\n color: \"2E74B5\",\n size: 32\n }\n }, options.heading1)),\n new Heading2Style(__spreadValues({\n run: {\n color: \"2E74B5\",\n size: 26\n }\n }, options.heading2)),\n new Heading3Style(__spreadValues({\n run: {\n color: \"1F4D78\",\n size: 24\n }\n }, options.heading3)),\n new Heading4Style(__spreadValues({\n run: {\n color: \"2E74B5\",\n italics: true\n }\n }, options.heading4)),\n new Heading5Style(__spreadValues({\n run: {\n color: \"2E74B5\"\n }\n }, options.heading5)),\n new Heading6Style(__spreadValues({\n run: {\n color: \"1F4D78\"\n }\n }, options.heading6)),\n new StrongStyle(__spreadValues({\n run: {\n bold: true\n }\n }, options.strong)),\n new ListParagraph(options.listParagraph || {}),\n new HyperlinkStyle(options.hyperlink || {}),\n new FootnoteReferenceStyle(options.footnoteReference || {}),\n new FootnoteText(options.footnoteText || {}),\n new FootnoteTextChar(options.footnoteTextChar || {}),\n new EndnoteReferenceStyle(options.endnoteReference || {}),\n new EndnoteText(options.endnoteText || {}),\n new EndnoteTextChar(options.endnoteTextChar || {})\n ]\n };\n }\n}\nclass File {\n constructor(options) {\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"currentRelationshipId\", 1);\n __publicField(this, \"documentWrapper\");\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"headers\", []);\n // eslint-disable-next-line functional/prefer-readonly-type\n __publicField(this, \"footers\", []);\n __publicField(this, \"coreProperties\");\n __publicField(this, \"numbering\");\n __publicField(this, \"media\");\n __publicField(this, \"fileRelationships\");\n __publicField(this, \"footnotesWrapper\");\n __publicField(this, \"endnotesWrapper\");\n __publicField(this, \"settings\");\n __publicField(this, \"contentTypes\");\n __publicField(this, \"customProperties\");\n __publicField(this, \"appProperties\");\n __publicField(this, \"styles\");\n __publicField(this, \"comments\");\n __publicField(this, \"fontWrapper\");\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;\n this.coreProperties = new CoreProperties(__spreadProps(__spreadValues({}, options), {\n creator: (_a = options.creator) != null ? _a : \"Un-named\",\n revision: (_b = options.revision) != null ? _b : 1,\n lastModifiedBy: (_c = options.lastModifiedBy) != null ? _c : \"Un-named\"\n }));\n this.numbering = new Numbering(options.numbering ? options.numbering : { config: [] });\n this.comments = new Comments((_d = options.comments) != null ? _d : { children: [] });\n this.fileRelationships = new Relationships();\n this.customProperties = new CustomProperties((_e = options.customProperties) != null ? _e : []);\n this.appProperties = new AppProperties();\n this.footnotesWrapper = new FootnotesWrapper();\n this.endnotesWrapper = new EndnotesWrapper();\n this.contentTypes = new ContentTypes();\n this.documentWrapper = new DocumentWrapper({ background: options.background });\n this.settings = new Settings({\n compatibilityModeVersion: options.compatabilityModeVersion,\n compatibility: options.compatibility,\n evenAndOddHeaders: options.evenAndOddHeaderAndFooters ? true : false,\n trackRevisions: (_f = options.features) == null ? void 0 : _f.trackRevisions,\n updateFields: (_g = options.features) == null ? void 0 : _g.updateFields,\n defaultTabStop: options.defaultTabStop,\n hyphenation: {\n autoHyphenation: (_h = options.hyphenation) == null ? void 0 : _h.autoHyphenation,\n hyphenationZone: (_i = options.hyphenation) == null ? void 0 : _i.hyphenationZone,\n consecutiveHyphenLimit: (_j = options.hyphenation) == null ? void 0 : _j.consecutiveHyphenLimit,\n doNotHyphenateCaps: (_k = options.hyphenation) == null ? void 0 : _k.doNotHyphenateCaps\n }\n });\n this.media = new Media();\n if (options.externalStyles !== void 0) {\n const defaultFactory = new DefaultStylesFactory();\n const defaultStyles = defaultFactory.newInstance((_l = options.styles) == null ? void 0 : _l.default);\n const externalFactory = new ExternalStylesFactory();\n const externalStyles = externalFactory.newInstance(options.externalStyles);\n this.styles = new Styles(__spreadProps(__spreadValues({}, externalStyles), {\n importedStyles: [...defaultStyles.importedStyles, ...externalStyles.importedStyles]\n }));\n } else if (options.styles) {\n const stylesFactory = new DefaultStylesFactory();\n const defaultStyles = stylesFactory.newInstance(options.styles.default);\n this.styles = new Styles(__spreadValues(__spreadValues({}, defaultStyles), options.styles));\n } else {\n const stylesFactory = new DefaultStylesFactory();\n this.styles = new Styles(stylesFactory.newInstance());\n }\n this.addDefaultRelationships();\n for (const section of options.sections) {\n this.addSection(section);\n }\n if (options.footnotes) {\n for (const key in options.footnotes) {\n this.footnotesWrapper.View.createFootNote(parseFloat(key), options.footnotes[key].children);\n }\n }\n if (options.endnotes) {\n for (const key in options.endnotes) {\n this.endnotesWrapper.View.createEndnote(parseFloat(key), options.endnotes[key].children);\n }\n }\n this.fontWrapper = new FontWrapper((_m = options.fonts) != null ? _m : []);\n }\n addSection({ headers = {}, footers = {}, children, properties }) {\n this.documentWrapper.View.Body.addSection(__spreadProps(__spreadValues({}, properties), {\n headerWrapperGroup: {\n default: headers.default ? this.createHeader(headers.default) : void 0,\n first: headers.first ? this.createHeader(headers.first) : void 0,\n even: headers.even ? this.createHeader(headers.even) : void 0\n },\n footerWrapperGroup: {\n default: footers.default ? this.createFooter(footers.default) : void 0,\n first: footers.first ? this.createFooter(footers.first) : void 0,\n even: footers.even ? this.createFooter(footers.even) : void 0\n }\n }));\n for (const child of children) {\n this.documentWrapper.View.add(child);\n }\n }\n createHeader(header) {\n const wrapper = new HeaderWrapper(this.media, this.currentRelationshipId++);\n for (const child of header.options.children) {\n wrapper.add(child);\n }\n this.addHeaderToDocument(wrapper);\n return wrapper;\n }\n createFooter(footer) {\n const wrapper = new FooterWrapper(this.media, this.currentRelationshipId++);\n for (const child of footer.options.children) {\n wrapper.add(child);\n }\n this.addFooterToDocument(wrapper);\n return wrapper;\n }\n addHeaderToDocument(header, type2 = HeaderFooterReferenceType.DEFAULT) {\n this.headers.push({ header, type: type2 });\n this.documentWrapper.Relationships.addRelationship(\n header.View.ReferenceId,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\",\n `header${this.headers.length}.xml`\n );\n this.contentTypes.addHeader(this.headers.length);\n }\n addFooterToDocument(footer, type2 = HeaderFooterReferenceType.DEFAULT) {\n this.footers.push({ footer, type: type2 });\n this.documentWrapper.Relationships.addRelationship(\n footer.View.ReferenceId,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\",\n `footer${this.footers.length}.xml`\n );\n this.contentTypes.addFooter(this.footers.length);\n }\n addDefaultRelationships() {\n this.fileRelationships.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n \"word/document.xml\"\n );\n this.fileRelationships.addRelationship(\n 2,\n \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n \"docProps/core.xml\"\n );\n this.fileRelationships.addRelationship(\n 3,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\",\n \"docProps/app.xml\"\n );\n this.fileRelationships.addRelationship(\n 4,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties\",\n \"docProps/custom.xml\"\n );\n this.documentWrapper.Relationships.addRelationship(\n // eslint-disable-next-line functional/immutable-data\n this.currentRelationshipId++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n \"styles.xml\"\n );\n this.documentWrapper.Relationships.addRelationship(\n // eslint-disable-next-line functional/immutable-data\n this.currentRelationshipId++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\",\n \"numbering.xml\"\n );\n this.documentWrapper.Relationships.addRelationship(\n // eslint-disable-next-line functional/immutable-data\n this.currentRelationshipId++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes\",\n \"footnotes.xml\"\n );\n this.documentWrapper.Relationships.addRelationship(\n // eslint-disable-next-line functional/immutable-data\n this.currentRelationshipId++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes\",\n \"endnotes.xml\"\n );\n this.documentWrapper.Relationships.addRelationship(\n // eslint-disable-next-line functional/immutable-data\n this.currentRelationshipId++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\",\n \"settings.xml\"\n );\n this.documentWrapper.Relationships.addRelationship(\n // eslint-disable-next-line functional/immutable-data\n this.currentRelationshipId++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n \"comments.xml\"\n );\n }\n get Document() {\n return this.documentWrapper;\n }\n get Styles() {\n return this.styles;\n }\n get CoreProperties() {\n return this.coreProperties;\n }\n get Numbering() {\n return this.numbering;\n }\n get Media() {\n return this.media;\n }\n get FileRelationships() {\n return this.fileRelationships;\n }\n get Headers() {\n return this.headers.map((item) => item.header);\n }\n get Footers() {\n return this.footers.map((item) => item.footer);\n }\n get ContentTypes() {\n return this.contentTypes;\n }\n get CustomProperties() {\n return this.customProperties;\n }\n get AppProperties() {\n return this.appProperties;\n }\n get FootNotes() {\n return this.footnotesWrapper;\n }\n get Endnotes() {\n return this.endnotesWrapper;\n }\n get Settings() {\n return this.settings;\n }\n get Comments() {\n return this.comments;\n }\n get FontTable() {\n return this.fontWrapper;\n }\n}\nclass FieldInstruction extends XmlComponent {\n constructor(properties = {}) {\n super(\"w:instrText\");\n __publicField(this, \"properties\");\n this.properties = properties;\n this.root.push(new TextAttributes({ space: SpaceType.PRESERVE }));\n let instruction = \"TOC\";\n if (this.properties.captionLabel) {\n instruction = `${instruction} \\\\a \"${this.properties.captionLabel}\"`;\n }\n if (this.properties.entriesFromBookmark) {\n instruction = `${instruction} \\\\b \"${this.properties.entriesFromBookmark}\"`;\n }\n if (this.properties.captionLabelIncludingNumbers) {\n instruction = `${instruction} \\\\c \"${this.properties.captionLabelIncludingNumbers}\"`;\n }\n if (this.properties.sequenceAndPageNumbersSeparator) {\n instruction = `${instruction} \\\\d \"${this.properties.sequenceAndPageNumbersSeparator}\"`;\n }\n if (this.properties.tcFieldIdentifier) {\n instruction = `${instruction} \\\\f \"${this.properties.tcFieldIdentifier}\"`;\n }\n if (this.properties.hyperlink) {\n instruction = `${instruction} \\\\h`;\n }\n if (this.properties.tcFieldLevelRange) {\n instruction = `${instruction} \\\\l \"${this.properties.tcFieldLevelRange}\"`;\n }\n if (this.properties.pageNumbersEntryLevelsRange) {\n instruction = `${instruction} \\\\n \"${this.properties.pageNumbersEntryLevelsRange}\"`;\n }\n if (this.properties.headingStyleRange) {\n instruction = `${instruction} \\\\o \"${this.properties.headingStyleRange}\"`;\n }\n if (this.properties.entryAndPageNumberSeparator) {\n instruction = `${instruction} \\\\p \"${this.properties.entryAndPageNumberSeparator}\"`;\n }\n if (this.properties.seqFieldIdentifierForPrefix) {\n instruction = `${instruction} \\\\s \"${this.properties.seqFieldIdentifierForPrefix}\"`;\n }\n if (this.properties.stylesWithLevels && this.properties.stylesWithLevels.length) {\n const styles = this.properties.stylesWithLevels.map((sl) => `${sl.styleName},${sl.level}`).join(\",\");\n instruction = `${instruction} \\\\t \"${styles}\"`;\n }\n if (this.properties.useAppliedParagraphOutlineLevel) {\n instruction = `${instruction} \\\\u`;\n }\n if (this.properties.preserveTabInEntries) {\n instruction = `${instruction} \\\\w`;\n }\n if (this.properties.preserveNewLineInEntries) {\n instruction = `${instruction} \\\\x`;\n }\n if (this.properties.hideTabAndPageNumbersInWebView) {\n instruction = `${instruction} \\\\z`;\n }\n this.root.push(instruction);\n }\n}\nclass StructuredDocumentTagContent extends XmlComponent {\n constructor() {\n super(\"w:sdtContent\");\n }\n}\nclass StructuredDocumentTagProperties extends XmlComponent {\n constructor(alias) {\n super(\"w:sdtPr\");\n if (alias) {\n this.root.push(new StringValueElement(\"w:alias\", alias));\n }\n }\n}\nclass TableOfContents extends FileChild {\n constructor(alias = \"Table of Contents\", _a = {}) {\n var _b = _a, {\n contentChildren = [],\n cachedEntries = [],\n beginDirty = true\n } = _b, properties = __objRest(_b, [\n \"contentChildren\",\n \"cachedEntries\",\n \"beginDirty\"\n ]);\n super(\"w:sdt\");\n this.root.push(new StructuredDocumentTagProperties(alias));\n const content = new StructuredDocumentTagContent();\n const beginParagraphMandatoryChildren = [\n new Run({\n children: [createBegin(beginDirty), new FieldInstruction(properties), createSeparate()]\n })\n ];\n const endParagraphMandatoryChildren = [\n new Run({\n children: [createEnd()]\n })\n ];\n const hasCachedContent = cachedEntries !== void 0 && cachedEntries.length > 0;\n if (hasCachedContent) {\n const { stylesWithLevels } = properties;\n const cachedParagraphs = cachedEntries.map((entry, i) => {\n var _a2, _b2;\n const contentChild = this.buildCachedContentParagraphChild(entry, properties);\n const style = (_b2 = (_a2 = stylesWithLevels == null ? void 0 : stylesWithLevels.find((s) => s.level === entry.level)) == null ? void 0 : _a2.styleName) != null ? _b2 : `TOC${entry.level}`;\n const children = i === 0 ? [...beginParagraphMandatoryChildren, contentChild] : i === cachedEntries.length - 1 ? [contentChild, ...endParagraphMandatoryChildren] : [contentChild];\n return new Paragraph({\n style,\n tabStops: this.getTabStopsForLevel(entry.level),\n children\n });\n });\n let paragraphs = cachedParagraphs;\n if (cachedEntries.length <= 1) {\n paragraphs = [\n ...cachedParagraphs,\n new Paragraph({\n children: endParagraphMandatoryChildren\n })\n ];\n }\n for (const paragraph of paragraphs) {\n content.addChildElement(paragraph);\n }\n } else {\n const beginParagraph = new Paragraph({\n children: beginParagraphMandatoryChildren\n });\n content.addChildElement(beginParagraph);\n for (const child of contentChildren) {\n content.addChildElement(child);\n }\n const endParagraph = new Paragraph({\n children: endParagraphMandatoryChildren\n });\n content.addChildElement(endParagraph);\n }\n this.root.push(content);\n }\n getTabStopsForLevel(level, pageWidth = 9025) {\n const levelSpace = 240;\n const levelPosition = pageWidth + 1 - (level - 1) * levelSpace;\n return [\n {\n type: \"clear\",\n position: levelPosition\n },\n {\n type: \"right\",\n position: pageWidth,\n leader: \"dot\"\n }\n ];\n }\n buildCachedContentRun(entry, properties) {\n var _a, _b;\n return new Run({\n // TODO: The IndexLink style might always need to be set regardless of the hyperlink property. This needs to be verified.\n style: (properties == null ? void 0 : properties.hyperlink) && entry.href !== void 0 ? \"IndexLink\" : void 0,\n children: [\n new Text({\n text: entry.title\n }),\n new Tab(),\n new Text({\n text: (_b = (_a = entry.page) == null ? void 0 : _a.toString()) != null ? _b : \"\"\n })\n ]\n });\n }\n buildCachedContentParagraphChild(entry, properties) {\n const run = this.buildCachedContentRun(entry, properties);\n if ((properties == null ? void 0 : properties.hyperlink) && entry.href !== void 0) {\n return new InternalHyperlink({\n anchor: entry.href,\n children: [run]\n });\n }\n return run;\n }\n}\nclass StyleLevel {\n constructor(styleName, level) {\n /** The name of the paragraph style. */\n __publicField(this, \"styleName\");\n /** The TOC level (1-9) to assign to this style. */\n __publicField(this, \"level\");\n this.styleName = styleName;\n this.level = level;\n }\n}\nclass Header2 {\n constructor(options = { children: [] }) {\n __publicField(this, \"options\");\n this.options = options;\n }\n}\nclass Footer2 {\n constructor(options = { children: [] }) {\n __publicField(this, \"options\");\n this.options = options;\n }\n}\nclass FootNoteReferenceRunAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"w:id\"\n });\n }\n}\nclass FootnoteReference extends XmlComponent {\n constructor(id) {\n super(\"w:footnoteReference\");\n this.root.push(\n new FootNoteReferenceRunAttributes({\n id\n })\n );\n }\n}\nclass FootnoteReferenceRun extends Run {\n /**\n * Creates a new footnote reference run.\n *\n * @param id - Unique identifier linking to the footnote content\n */\n constructor(id) {\n super({ style: \"FootnoteReference\" });\n this.root.push(new FootnoteReference(id));\n }\n}\nclass EndnoteReferenceRunAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n id: \"w:id\"\n });\n }\n}\nclass EndnoteIdReference extends XmlComponent {\n constructor(id) {\n super(\"w:endnoteReference\");\n this.root.push(\n new EndnoteReferenceRunAttributes({\n id\n })\n );\n }\n}\nclass EndnoteReferenceRun extends Run {\n constructor(id) {\n super({ style: \"EndnoteReference\" });\n this.root.push(new EndnoteIdReference(id));\n }\n}\nclass CheckboxSymbolAttributes extends XmlAttributeComponent {\n constructor() {\n super(...arguments);\n __publicField(this, \"xmlKeys\", {\n val: \"w14:val\",\n symbolfont: \"w14:font\"\n });\n }\n}\nclass CheckBoxSymbolElement extends XmlComponent {\n constructor(name, val, font) {\n super(name);\n if (font) {\n this.root.push(new CheckboxSymbolAttributes({ val: shortHexNumber(val), symbolfont: font }));\n } else {\n this.root.push(new CheckboxSymbolAttributes({ val }));\n }\n }\n}\nclass CheckBoxUtil extends XmlComponent {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n super(\"w14:checkbox\");\n __publicField(this, \"DEFAULT_UNCHECKED_SYMBOL\", \"2610\");\n __publicField(this, \"DEFAULT_CHECKED_SYMBOL\", \"2612\");\n __publicField(this, \"DEFAULT_FONT\", \"MS Gothic\");\n const value = (options == null ? void 0 : options.checked) ? \"1\" : \"0\";\n let symbol;\n let font;\n this.root.push(new CheckBoxSymbolElement(\"w14:checked\", value));\n symbol = ((_a = options == null ? void 0 : options.checkedState) == null ? void 0 : _a.value) ? (_b = options == null ? void 0 : options.checkedState) == null ? void 0 : _b.value : this.DEFAULT_CHECKED_SYMBOL;\n font = ((_c = options == null ? void 0 : options.checkedState) == null ? void 0 : _c.font) ? (_d = options == null ? void 0 : options.checkedState) == null ? void 0 : _d.font : this.DEFAULT_FONT;\n this.root.push(new CheckBoxSymbolElement(\"w14:checkedState\", symbol, font));\n symbol = ((_e = options == null ? void 0 : options.uncheckedState) == null ? void 0 : _e.value) ? (_f = options == null ? void 0 : options.uncheckedState) == null ? void 0 : _f.value : this.DEFAULT_UNCHECKED_SYMBOL;\n font = ((_g = options == null ? void 0 : options.uncheckedState) == null ? void 0 : _g.font) ? (_h = options == null ? void 0 : options.uncheckedState) == null ? void 0 : _h.font : this.DEFAULT_FONT;\n this.root.push(new CheckBoxSymbolElement(\"w14:uncheckedState\", symbol, font));\n }\n}\nclass CheckBox extends XmlComponent {\n constructor(options) {\n var _a, _b, _c, _d;\n super(\"w:sdt\");\n // default values per Microsoft\n __publicField(this, \"DEFAULT_UNCHECKED_SYMBOL\", \"2610\");\n __publicField(this, \"DEFAULT_CHECKED_SYMBOL\", \"2612\");\n __publicField(this, \"DEFAULT_FONT\", \"MS Gothic\");\n const properties = new StructuredDocumentTagProperties(options == null ? void 0 : options.alias);\n properties.addChildElement(new CheckBoxUtil(options));\n this.root.push(properties);\n const content = new StructuredDocumentTagContent();\n const checkedFont = (_a = options == null ? void 0 : options.checkedState) == null ? void 0 : _a.font;\n const checkedText = (_b = options == null ? void 0 : options.checkedState) == null ? void 0 : _b.value;\n const uncheckedFont = (_c = options == null ? void 0 : options.uncheckedState) == null ? void 0 : _c.font;\n const uncheckedText = (_d = options == null ? void 0 : options.uncheckedState) == null ? void 0 : _d.value;\n let symbolFont;\n let char;\n if (options == null ? void 0 : options.checked) {\n symbolFont = checkedFont ? checkedFont : this.DEFAULT_FONT;\n char = checkedText ? checkedText : this.DEFAULT_CHECKED_SYMBOL;\n } else {\n symbolFont = uncheckedFont ? uncheckedFont : this.DEFAULT_FONT;\n char = uncheckedText ? uncheckedText : this.DEFAULT_UNCHECKED_SYMBOL;\n }\n const initialRenderedChar = new SymbolRun({\n char,\n symbolfont: symbolFont\n });\n content.addChildElement(initialRenderedChar);\n this.root.push(content);\n }\n}\nconst createPictElement = ({ shape }) => new BuilderElement({\n name: \"w:pict\",\n children: [shape]\n});\nconst createTextboxContent = ({ children = [] }) => new BuilderElement({\n name: \"w:txbxContent\",\n children\n});\nconst createVmlTextbox = ({ style, children, inset }) => new BuilderElement({\n name: \"v:textbox\",\n attributes: {\n style: {\n key: \"style\",\n value: style\n },\n insetMode: {\n key: \"insetmode\",\n value: inset ? \"custom\" : \"auto\"\n },\n inset: {\n key: \"inset\",\n value: inset ? `${inset.left}, ${inset.top}, ${inset.right}, ${inset.bottom}` : void 0\n }\n },\n children: [createTextboxContent({ children })]\n});\nconst SHAPE_TYPE = \"#_x0000_t202\";\nconst styleToKeyMap = {\n flip: \"flip\",\n height: \"height\",\n left: \"left\",\n marginBottom: \"margin-bottom\",\n marginLeft: \"margin-left\",\n marginRight: \"margin-right\",\n marginTop: \"margin-top\",\n positionHorizontal: \"mso-position-horizontal\",\n positionHorizontalRelative: \"mso-position-horizontal-relative\",\n positionVertical: \"mso-position-vertical\",\n positionVerticalRelative: \"mso-position-vertical-relative\",\n wrapDistanceBottom: \"mso-wrap-distance-bottom\",\n wrapDistanceLeft: \"mso-wrap-distance-left\",\n wrapDistanceRight: \"mso-wrap-distance-right\",\n wrapDistanceTop: \"mso-wrap-distance-top\",\n wrapEdited: \"mso-wrap-edited\",\n wrapStyle: \"mso-wrap-style\",\n position: \"position\",\n rotation: \"rotation\",\n top: \"top\",\n visibility: \"visibility\",\n width: \"width\",\n zIndex: \"z-index\"\n};\nconst formatShapeStyle = (style) => style ? Object.entries(style).map(([key, value]) => `${styleToKeyMap[key]}:${value}`).join(\";\") : void 0;\nconst createShape = ({ id, children, type: type2 = SHAPE_TYPE, style }) => new BuilderElement({\n name: \"v:shape\",\n attributes: {\n id: {\n key: \"id\",\n value: id\n },\n type: {\n key: \"type\",\n value: type2\n },\n style: {\n key: \"style\",\n value: formatShapeStyle(style)\n }\n },\n children: [createVmlTextbox({ style: \"mso-fit-shape-to-text:t;\", children })]\n});\nclass Textbox extends FileChild {\n constructor(_c) {\n var _d = _c, { style, children } = _d, rest = __objRest(_d, [\"style\", \"children\"]);\n super(\"w:p\");\n this.root.push(new ParagraphProperties(rest));\n this.root.push(\n createPictElement({\n shape: createShape({\n children,\n id: uniqueId(),\n style\n })\n })\n );\n }\n}\nvar streamBrowserifyExports = requireStreamBrowserify();\nfunction commonjsRequire(path) {\n throw new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\nvar jszip_min = { exports: {} };\nvar hasRequiredJszip_min;\nfunction requireJszip_min() {\n if (hasRequiredJszip_min) return jszip_min.exports;\n hasRequiredJszip_min = 1;\n (function(module, exports$1) {\n !(function(e) {\n module.exports = e();\n })(function() {\n return (function s(a, o, h) {\n function u(r, e2) {\n if (!o[r]) {\n if (!a[r]) {\n var t = \"function\" == typeof commonjsRequire && commonjsRequire;\n if (!e2 && t) return t(r, true);\n if (l) return l(r, true);\n var n = new Error(\"Cannot find module '\" + r + \"'\");\n throw n.code = \"MODULE_NOT_FOUND\", n;\n }\n var i = o[r] = { exports: {} };\n a[r][0].call(i.exports, function(e3) {\n var t2 = a[r][1][e3];\n return u(t2 || e3);\n }, i, i.exports, s, a, o, h);\n }\n return o[r].exports;\n }\n for (var l = \"function\" == typeof commonjsRequire && commonjsRequire, e = 0; e < h.length; e++) u(h[e]);\n return u;\n })({ 1: [function(e, t, r) {\n var d = e(\"./utils\"), c = e(\"./support\"), p = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n r.encode = function(e2) {\n for (var t2, r2, n, i, s, a, o, h = [], u = 0, l = e2.length, f = l, c2 = \"string\" !== d.getTypeOf(e2); u < e2.length; ) f = l - u, n = c2 ? (t2 = e2[u++], r2 = u < l ? e2[u++] : 0, u < l ? e2[u++] : 0) : (t2 = e2.charCodeAt(u++), r2 = u < l ? e2.charCodeAt(u++) : 0, u < l ? e2.charCodeAt(u++) : 0), i = t2 >> 2, s = (3 & t2) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o));\n return h.join(\"\");\n }, r.decode = function(e2) {\n var t2, r2, n, i, s, a, o = 0, h = 0, u = \"data:\";\n if (e2.substr(0, u.length) === u) throw new Error(\"Invalid base64 input, it looks like a data url.\");\n var l, f = 3 * (e2 = e2.replace(/[^A-Za-z0-9+/=]/g, \"\")).length / 4;\n if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error(\"Invalid base64 input, bad content length.\");\n for (l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) t2 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l[h++] = t2, 64 !== s && (l[h++] = r2), 64 !== a && (l[h++] = n);\n return l;\n };\n }, { \"./support\": 30, \"./utils\": 32 }], 2: [function(e, t, r) {\n var n = e(\"./external\"), i = e(\"./stream/DataWorker\"), s = e(\"./stream/Crc32Probe\"), a = e(\"./stream/DataLengthProbe\");\n function o(e2, t2, r2, n2, i2) {\n this.compressedSize = e2, this.uncompressedSize = t2, this.crc32 = r2, this.compression = n2, this.compressedContent = i2;\n }\n o.prototype = { getContentWorker: function() {\n var e2 = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")), t2 = this;\n return e2.on(\"end\", function() {\n if (this.streamInfo.data_length !== t2.uncompressedSize) throw new Error(\"Bug : uncompressed data size mismatch\");\n }), e2;\n }, getCompressedWorker: function() {\n return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\", this.compressedSize).withStreamInfo(\"uncompressedSize\", this.uncompressedSize).withStreamInfo(\"crc32\", this.crc32).withStreamInfo(\"compression\", this.compression);\n } }, o.createWorkerFrom = function(e2, t2, r2) {\n return e2.pipe(new s()).pipe(new a(\"uncompressedSize\")).pipe(t2.compressWorker(r2)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\", t2);\n }, t.exports = o;\n }, { \"./external\": 6, \"./stream/Crc32Probe\": 25, \"./stream/DataLengthProbe\": 26, \"./stream/DataWorker\": 27 }], 3: [function(e, t, r) {\n var n = e(\"./stream/GenericWorker\");\n r.STORE = { magic: \"\\0\\0\", compressWorker: function() {\n return new n(\"STORE compression\");\n }, uncompressWorker: function() {\n return new n(\"STORE decompression\");\n } }, r.DEFLATE = e(\"./flate\");\n }, { \"./flate\": 7, \"./stream/GenericWorker\": 28 }], 4: [function(e, t, r) {\n var n = e(\"./utils\");\n var o = (function() {\n for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) {\n e2 = r2;\n for (var n2 = 0; n2 < 8; n2++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1;\n t2[r2] = e2;\n }\n return t2;\n })();\n t.exports = function(e2, t2) {\n return void 0 !== e2 && e2.length ? \"string\" !== n.getTypeOf(e2) ? (function(e3, t3, r2, n2) {\n var i = o, s = n2 + r2;\n e3 ^= -1;\n for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3[a])];\n return -1 ^ e3;\n })(0 | t2, e2, e2.length, 0) : (function(e3, t3, r2, n2) {\n var i = o, s = n2 + r2;\n e3 ^= -1;\n for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3.charCodeAt(a))];\n return -1 ^ e3;\n })(0 | t2, e2, e2.length, 0) : 0;\n };\n }, { \"./utils\": 32 }], 5: [function(e, t, r) {\n r.base64 = false, r.binary = false, r.dir = false, r.createFolders = true, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null;\n }, {}], 6: [function(e, t, r) {\n var n = null;\n n = \"undefined\" != typeof Promise ? Promise : e(\"lie\"), t.exports = { Promise: n };\n }, { lie: 37 }], 7: [function(e, t, r) {\n var n = \"undefined\" != typeof Uint8Array && \"undefined\" != typeof Uint16Array && \"undefined\" != typeof Uint32Array, i = e(\"pako\"), s = e(\"./utils\"), a = e(\"./stream/GenericWorker\"), o = n ? \"uint8array\" : \"array\";\n function h(e2, t2) {\n a.call(this, \"FlateWorker/\" + e2), this._pako = null, this._pakoAction = e2, this._pakoOptions = t2, this.meta = {};\n }\n r.magic = \"\\b\\0\", s.inherits(h, a), h.prototype.processChunk = function(e2) {\n this.meta = e2.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false);\n }, h.prototype.flush = function() {\n a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], true);\n }, h.prototype.cleanUp = function() {\n a.prototype.cleanUp.call(this), this._pako = null;\n }, h.prototype._createPako = function() {\n this._pako = new i[this._pakoAction]({ raw: true, level: this._pakoOptions.level || -1 });\n var t2 = this;\n this._pako.onData = function(e2) {\n t2.push({ data: e2, meta: t2.meta });\n };\n }, r.compressWorker = function(e2) {\n return new h(\"Deflate\", e2);\n }, r.uncompressWorker = function() {\n return new h(\"Inflate\", {});\n };\n }, { \"./stream/GenericWorker\": 28, \"./utils\": 32, pako: 38 }], 8: [function(e, t, r) {\n function A(e2, t2) {\n var r2, n2 = \"\";\n for (r2 = 0; r2 < t2; r2++) n2 += String.fromCharCode(255 & e2), e2 >>>= 8;\n return n2;\n }\n function n(e2, t2, r2, n2, i2, s2) {\n var a, o, h = e2.file, u = e2.compression, l = s2 !== O.utf8encode, f = I.transformTo(\"string\", s2(h.name)), c = I.transformTo(\"string\", O.utf8encode(h.name)), d = h.comment, p = I.transformTo(\"string\", s2(d)), m = I.transformTo(\"string\", O.utf8encode(d)), _ = c.length !== h.name.length, g = m.length !== d.length, b = \"\", v = \"\", y = \"\", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 };\n t2 && !r2 || (x.crc32 = e2.crc32, x.compressedSize = e2.compressedSize, x.uncompressedSize = e2.uncompressedSize);\n var S = 0;\n t2 && (S |= 8), l || !_ && !g || (S |= 2048);\n var z = 0, C = 0;\n w && (z |= 16), \"UNIX\" === i2 ? (C = 798, z |= (function(e3, t3) {\n var r3 = e3;\n return e3 || (r3 = t3 ? 16893 : 33204), (65535 & r3) << 16;\n })(h.unixPermissions, w)) : (C = 20, z |= (function(e3) {\n return 63 & (e3 || 0);\n })(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + c, b += \"up\" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += \"uc\" + A(y.length, 2) + y);\n var E = \"\";\n return E += \"\\n\\0\", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + \"\\0\\0\\0\\0\" + A(z, 4) + A(n2, 4) + f + b + p };\n }\n var I = e(\"../utils\"), i = e(\"../stream/GenericWorker\"), O = e(\"../utf8\"), B = e(\"../crc32\"), R = e(\"../signature\");\n function s(e2, t2, r2, n2) {\n i.call(this, \"ZipFileWorker\"), this.bytesWritten = 0, this.zipComment = t2, this.zipPlatform = r2, this.encodeFileName = n2, this.streamFiles = e2, this.accumulate = false, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [];\n }\n I.inherits(s, i), s.prototype.push = function(e2) {\n var t2 = e2.meta.percent || 0, r2 = this.entriesCount, n2 = this._sources.length;\n this.accumulate ? this.contentBuffer.push(e2) : (this.bytesWritten += e2.data.length, i.prototype.push.call(this, { data: e2.data, meta: { currentFile: this.currentFile, percent: r2 ? (t2 + 100 * (r2 - n2 - 1)) / r2 : 100 } }));\n }, s.prototype.openedSource = function(e2) {\n this.currentSourceOffset = this.bytesWritten, this.currentFile = e2.file.name;\n var t2 = this.streamFiles && !e2.file.dir;\n if (t2) {\n var r2 = n(e2, t2, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);\n this.push({ data: r2.fileRecord, meta: { percent: 0 } });\n } else this.accumulate = true;\n }, s.prototype.closedSource = function(e2) {\n this.accumulate = false;\n var t2 = this.streamFiles && !e2.file.dir, r2 = n(e2, t2, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);\n if (this.dirRecords.push(r2.dirRecord), t2) this.push({ data: (function(e3) {\n return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4);\n })(e2), meta: { percent: 100 } });\n else for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift());\n this.currentFile = null;\n }, s.prototype.flush = function() {\n for (var e2 = this.bytesWritten, t2 = 0; t2 < this.dirRecords.length; t2++) this.push({ data: this.dirRecords[t2], meta: { percent: 100 } });\n var r2 = this.bytesWritten - e2, n2 = (function(e3, t3, r3, n3, i2) {\n var s2 = I.transformTo(\"string\", i2(n3));\n return R.CENTRAL_DIRECTORY_END + \"\\0\\0\\0\\0\" + A(e3, 2) + A(e3, 2) + A(t3, 4) + A(r3, 4) + A(s2.length, 2) + s2;\n })(this.dirRecords.length, r2, e2, this.zipComment, this.encodeFileName);\n this.push({ data: n2, meta: { percent: 100 } });\n }, s.prototype.prepareNextSource = function() {\n this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume();\n }, s.prototype.registerPrevious = function(e2) {\n this._sources.push(e2);\n var t2 = this;\n return e2.on(\"data\", function(e3) {\n t2.processChunk(e3);\n }), e2.on(\"end\", function() {\n t2.closedSource(t2.previous.streamInfo), t2._sources.length ? t2.prepareNextSource() : t2.end();\n }), e2.on(\"error\", function(e3) {\n t2.error(e3);\n }), this;\n }, s.prototype.resume = function() {\n return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true));\n }, s.prototype.error = function(e2) {\n var t2 = this._sources;\n if (!i.prototype.error.call(this, e2)) return false;\n for (var r2 = 0; r2 < t2.length; r2++) try {\n t2[r2].error(e2);\n } catch (e3) {\n }\n return true;\n }, s.prototype.lock = function() {\n i.prototype.lock.call(this);\n for (var e2 = this._sources, t2 = 0; t2 < e2.length; t2++) e2[t2].lock();\n }, t.exports = s;\n }, { \"../crc32\": 4, \"../signature\": 23, \"../stream/GenericWorker\": 28, \"../utf8\": 31, \"../utils\": 32 }], 9: [function(e, t, r) {\n var u = e(\"../compressions\"), n = e(\"./ZipFileWorker\");\n r.generateWorker = function(e2, a, t2) {\n var o = new n(a.streamFiles, t2, a.platform, a.encodeFileName), h = 0;\n try {\n e2.forEach(function(e3, t3) {\n h++;\n var r2 = (function(e4, t4) {\n var r3 = e4 || t4, n3 = u[r3];\n if (!n3) throw new Error(r3 + \" is not a valid compression method !\");\n return n3;\n })(t3.options.compression, a.compression), n2 = t3.options.compressionOptions || a.compressionOptions || {}, i = t3.dir, s = t3.date;\n t3._compressWorker(r2, n2).withStreamInfo(\"file\", { name: e3, dir: i, date: s, comment: t3.comment || \"\", unixPermissions: t3.unixPermissions, dosPermissions: t3.dosPermissions }).pipe(o);\n }), o.entriesCount = h;\n } catch (e3) {\n o.error(e3);\n }\n return o;\n };\n }, { \"../compressions\": 3, \"./ZipFileWorker\": 8 }], 10: [function(e, t, r) {\n function n() {\n if (!(this instanceof n)) return new n();\n if (arguments.length) throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");\n this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = \"\", this.clone = function() {\n var e2 = new n();\n for (var t2 in this) \"function\" != typeof this[t2] && (e2[t2] = this[t2]);\n return e2;\n };\n }\n (n.prototype = e(\"./object\")).loadAsync = e(\"./load\"), n.support = e(\"./support\"), n.defaults = e(\"./defaults\"), n.version = \"3.10.1\", n.loadAsync = function(e2, t2) {\n return new n().loadAsync(e2, t2);\n }, n.external = e(\"./external\"), t.exports = n;\n }, { \"./defaults\": 5, \"./external\": 6, \"./load\": 11, \"./object\": 15, \"./support\": 30 }], 11: [function(e, t, r) {\n var u = e(\"./utils\"), i = e(\"./external\"), n = e(\"./utf8\"), s = e(\"./zipEntries\"), a = e(\"./stream/Crc32Probe\"), l = e(\"./nodejsUtils\");\n function f(n2) {\n return new i.Promise(function(e2, t2) {\n var r2 = n2.decompressed.getContentWorker().pipe(new a());\n r2.on(\"error\", function(e3) {\n t2(e3);\n }).on(\"end\", function() {\n r2.streamInfo.crc32 !== n2.decompressed.crc32 ? t2(new Error(\"Corrupted zip : CRC32 mismatch\")) : e2();\n }).resume();\n });\n }\n t.exports = function(e2, o) {\n var h = this;\n return o = u.extend(o || {}, { base64: false, checkCRC32: false, optimizedBinaryString: false, createFolders: false, decodeFileName: n.utf8decode }), l.isNode && l.isStream(e2) ? i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")) : u.prepareContent(\"the loaded zip file\", e2, true, o.optimizedBinaryString, o.base64).then(function(e3) {\n var t2 = new s(o);\n return t2.load(e3), t2;\n }).then(function(e3) {\n var t2 = [i.Promise.resolve(e3)], r2 = e3.files;\n if (o.checkCRC32) for (var n2 = 0; n2 < r2.length; n2++) t2.push(f(r2[n2]));\n return i.Promise.all(t2);\n }).then(function(e3) {\n for (var t2 = e3.shift(), r2 = t2.files, n2 = 0; n2 < r2.length; n2++) {\n var i2 = r2[n2], s2 = i2.fileNameStr, a2 = u.resolve(i2.fileNameStr);\n h.file(a2, i2.decompressed, { binary: true, optimizedBinaryString: true, date: i2.date, dir: i2.dir, comment: i2.fileCommentStr.length ? i2.fileCommentStr : null, unixPermissions: i2.unixPermissions, dosPermissions: i2.dosPermissions, createFolders: o.createFolders }), i2.dir || (h.file(a2).unsafeOriginalName = s2);\n }\n return t2.zipComment.length && (h.comment = t2.zipComment), h;\n });\n };\n }, { \"./external\": 6, \"./nodejsUtils\": 14, \"./stream/Crc32Probe\": 25, \"./utf8\": 31, \"./utils\": 32, \"./zipEntries\": 33 }], 12: [function(e, t, r) {\n var n = e(\"../utils\"), i = e(\"../stream/GenericWorker\");\n function s(e2, t2) {\n i.call(this, \"Nodejs stream input adapter for \" + e2), this._upstreamEnded = false, this._bindStream(t2);\n }\n n.inherits(s, i), s.prototype._bindStream = function(e2) {\n var t2 = this;\n (this._stream = e2).pause(), e2.on(\"data\", function(e3) {\n t2.push({ data: e3, meta: { percent: 0 } });\n }).on(\"error\", function(e3) {\n t2.isPaused ? this.generatedError = e3 : t2.error(e3);\n }).on(\"end\", function() {\n t2.isPaused ? t2._upstreamEnded = true : t2.end();\n });\n }, s.prototype.pause = function() {\n return !!i.prototype.pause.call(this) && (this._stream.pause(), true);\n }, s.prototype.resume = function() {\n return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), true);\n }, t.exports = s;\n }, { \"../stream/GenericWorker\": 28, \"../utils\": 32 }], 13: [function(e, t, r) {\n var i = e(\"readable-stream\").Readable;\n function n(e2, t2, r2) {\n i.call(this, t2), this._helper = e2;\n var n2 = this;\n e2.on(\"data\", function(e3, t3) {\n n2.push(e3) || n2._helper.pause(), r2 && r2(t3);\n }).on(\"error\", function(e3) {\n n2.emit(\"error\", e3);\n }).on(\"end\", function() {\n n2.push(null);\n });\n }\n e(\"../utils\").inherits(n, i), n.prototype._read = function() {\n this._helper.resume();\n }, t.exports = n;\n }, { \"../utils\": 32, \"readable-stream\": 16 }], 14: [function(e, t, r) {\n t.exports = { isNode: \"undefined\" != typeof Buffer, newBufferFrom: function(e2, t2) {\n if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(e2, t2);\n if (\"number\" == typeof e2) throw new Error('The \"data\" argument must not be a number');\n return new Buffer(e2, t2);\n }, allocBuffer: function(e2) {\n if (Buffer.alloc) return Buffer.alloc(e2);\n var t2 = new Buffer(e2);\n return t2.fill(0), t2;\n }, isBuffer: function(e2) {\n return Buffer.isBuffer(e2);\n }, isStream: function(e2) {\n return e2 && \"function\" == typeof e2.on && \"function\" == typeof e2.pause && \"function\" == typeof e2.resume;\n } };\n }, {}], 15: [function(e, t, r) {\n function s(e2, t2, r2) {\n var n2, i2 = u.getTypeOf(t2), s2 = u.extend(r2 || {}, f);\n s2.date = s2.date || /* @__PURE__ */ new Date(), null !== s2.compression && (s2.compression = s2.compression.toUpperCase()), \"string\" == typeof s2.unixPermissions && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _(e2)) && b.call(this, n2, true);\n var a2 = \"string\" === i2 && false === s2.binary && false === s2.base64;\n r2 && void 0 !== r2.binary || (s2.binary = !a2), (t2 instanceof c && 0 === t2.uncompressedSize || s2.dir || !t2 || 0 === t2.length) && (s2.base64 = false, s2.binary = true, t2 = \"\", s2.compression = \"STORE\", i2 = \"string\");\n var o2 = null;\n o2 = t2 instanceof c || t2 instanceof l ? t2 : p.isNode && p.isStream(t2) ? new m(e2, t2) : u.prepareContent(e2, t2, s2.binary, s2.optimizedBinaryString, s2.base64);\n var h2 = new d(e2, o2, s2);\n this.files[e2] = h2;\n }\n var i = e(\"./utf8\"), u = e(\"./utils\"), l = e(\"./stream/GenericWorker\"), a = e(\"./stream/StreamHelper\"), f = e(\"./defaults\"), c = e(\"./compressedObject\"), d = e(\"./zipObject\"), o = e(\"./generate\"), p = e(\"./nodejsUtils\"), m = e(\"./nodejs/NodejsStreamInputAdapter\"), _ = function(e2) {\n \"/\" === e2.slice(-1) && (e2 = e2.substring(0, e2.length - 1));\n var t2 = e2.lastIndexOf(\"/\");\n return 0 < t2 ? e2.substring(0, t2) : \"\";\n }, g = function(e2) {\n return \"/\" !== e2.slice(-1) && (e2 += \"/\"), e2;\n }, b = function(e2, t2) {\n return t2 = void 0 !== t2 ? t2 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t2 }), this.files[e2];\n };\n function h(e2) {\n return \"[object RegExp]\" === Object.prototype.toString.call(e2);\n }\n var n = { load: function() {\n throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\");\n }, forEach: function(e2) {\n var t2, r2, n2;\n for (t2 in this.files) n2 = this.files[t2], (r2 = t2.slice(this.root.length, t2.length)) && t2.slice(0, this.root.length) === this.root && e2(r2, n2);\n }, filter: function(r2) {\n var n2 = [];\n return this.forEach(function(e2, t2) {\n r2(e2, t2) && n2.push(t2);\n }), n2;\n }, file: function(e2, t2, r2) {\n if (1 !== arguments.length) return e2 = this.root + e2, s.call(this, e2, t2, r2), this;\n if (h(e2)) {\n var n2 = e2;\n return this.filter(function(e3, t3) {\n return !t3.dir && n2.test(e3);\n });\n }\n var i2 = this.files[this.root + e2];\n return i2 && !i2.dir ? i2 : null;\n }, folder: function(r2) {\n if (!r2) return this;\n if (h(r2)) return this.filter(function(e3, t3) {\n return t3.dir && r2.test(e3);\n });\n var e2 = this.root + r2, t2 = b.call(this, e2), n2 = this.clone();\n return n2.root = t2.name, n2;\n }, remove: function(r2) {\n r2 = this.root + r2;\n var e2 = this.files[r2];\n if (e2 || (\"/\" !== r2.slice(-1) && (r2 += \"/\"), e2 = this.files[r2]), e2 && !e2.dir) delete this.files[r2];\n else for (var t2 = this.filter(function(e3, t3) {\n return t3.name.slice(0, r2.length) === r2;\n }), n2 = 0; n2 < t2.length; n2++) delete this.files[t2[n2].name];\n return this;\n }, generate: function() {\n throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\");\n }, generateInternalStream: function(e2) {\n var t2, r2 = {};\n try {\n if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: \"STORE\", compressionOptions: null, type: \"\", platform: \"DOS\", comment: null, mimeType: \"application/zip\", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), \"binarystring\" === r2.type && (r2.type = \"string\"), !r2.type) throw new Error(\"No output type specified.\");\n u.checkSupport(r2.type), \"darwin\" !== r2.platform && \"freebsd\" !== r2.platform && \"linux\" !== r2.platform && \"sunos\" !== r2.platform || (r2.platform = \"UNIX\"), \"win32\" === r2.platform && (r2.platform = \"DOS\");\n var n2 = r2.comment || this.comment || \"\";\n t2 = o.generateWorker(this, r2, n2);\n } catch (e3) {\n (t2 = new l(\"error\")).error(e3);\n }\n return new a(t2, r2.type || \"string\", r2.mimeType);\n }, generateAsync: function(e2, t2) {\n return this.generateInternalStream(e2).accumulate(t2);\n }, generateNodeStream: function(e2, t2) {\n return (e2 = e2 || {}).type || (e2.type = \"nodebuffer\"), this.generateInternalStream(e2).toNodejsStream(t2);\n } };\n t.exports = n;\n }, { \"./compressedObject\": 2, \"./defaults\": 5, \"./generate\": 9, \"./nodejs/NodejsStreamInputAdapter\": 12, \"./nodejsUtils\": 14, \"./stream/GenericWorker\": 28, \"./stream/StreamHelper\": 29, \"./utf8\": 31, \"./utils\": 32, \"./zipObject\": 35 }], 16: [function(e, t, r) {\n t.exports = e(\"stream\");\n }, { stream: void 0 }], 17: [function(e, t, r) {\n var n = e(\"./DataReader\");\n function i(e2) {\n n.call(this, e2);\n for (var t2 = 0; t2 < this.data.length; t2++) e2[t2] = 255 & e2[t2];\n }\n e(\"../utils\").inherits(i, n), i.prototype.byteAt = function(e2) {\n return this.data[this.zero + e2];\n }, i.prototype.lastIndexOfSignature = function(e2) {\n for (var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) if (this.data[s] === t2 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) return s - this.zero;\n return -1;\n }, i.prototype.readAndCheckSignature = function(e2) {\n var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.readData(4);\n return t2 === s[0] && r2 === s[1] && n2 === s[2] && i2 === s[3];\n }, i.prototype.readData = function(e2) {\n if (this.checkOffset(e2), 0 === e2) return [];\n var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2);\n return this.index += e2, t2;\n }, t.exports = i;\n }, { \"../utils\": 32, \"./DataReader\": 18 }], 18: [function(e, t, r) {\n var n = e(\"../utils\");\n function i(e2) {\n this.data = e2, this.length = e2.length, this.index = 0, this.zero = 0;\n }\n i.prototype = { checkOffset: function(e2) {\n this.checkIndex(this.index + e2);\n }, checkIndex: function(e2) {\n if (this.length < this.zero + e2 || e2 < 0) throw new Error(\"End of data reached (data length = \" + this.length + \", asked index = \" + e2 + \"). Corrupted zip ?\");\n }, setIndex: function(e2) {\n this.checkIndex(e2), this.index = e2;\n }, skip: function(e2) {\n this.setIndex(this.index + e2);\n }, byteAt: function() {\n }, readInt: function(e2) {\n var t2, r2 = 0;\n for (this.checkOffset(e2), t2 = this.index + e2 - 1; t2 >= this.index; t2--) r2 = (r2 << 8) + this.byteAt(t2);\n return this.index += e2, r2;\n }, readString: function(e2) {\n return n.transformTo(\"string\", this.readData(e2));\n }, readData: function() {\n }, lastIndexOfSignature: function() {\n }, readAndCheckSignature: function() {\n }, readDate: function() {\n var e2 = this.readInt(4);\n return new Date(Date.UTC(1980 + (e2 >> 25 & 127), (e2 >> 21 & 15) - 1, e2 >> 16 & 31, e2 >> 11 & 31, e2 >> 5 & 63, (31 & e2) << 1));\n } }, t.exports = i;\n }, { \"../utils\": 32 }], 19: [function(e, t, r) {\n var n = e(\"./Uint8ArrayReader\");\n function i(e2) {\n n.call(this, e2);\n }\n e(\"../utils\").inherits(i, n), i.prototype.readData = function(e2) {\n this.checkOffset(e2);\n var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2);\n return this.index += e2, t2;\n }, t.exports = i;\n }, { \"../utils\": 32, \"./Uint8ArrayReader\": 21 }], 20: [function(e, t, r) {\n var n = e(\"./DataReader\");\n function i(e2) {\n n.call(this, e2);\n }\n e(\"../utils\").inherits(i, n), i.prototype.byteAt = function(e2) {\n return this.data.charCodeAt(this.zero + e2);\n }, i.prototype.lastIndexOfSignature = function(e2) {\n return this.data.lastIndexOf(e2) - this.zero;\n }, i.prototype.readAndCheckSignature = function(e2) {\n return e2 === this.readData(4);\n }, i.prototype.readData = function(e2) {\n this.checkOffset(e2);\n var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2);\n return this.index += e2, t2;\n }, t.exports = i;\n }, { \"../utils\": 32, \"./DataReader\": 18 }], 21: [function(e, t, r) {\n var n = e(\"./ArrayReader\");\n function i(e2) {\n n.call(this, e2);\n }\n e(\"../utils\").inherits(i, n), i.prototype.readData = function(e2) {\n if (this.checkOffset(e2), 0 === e2) return new Uint8Array(0);\n var t2 = this.data.subarray(this.zero + this.index, this.zero + this.index + e2);\n return this.index += e2, t2;\n }, t.exports = i;\n }, { \"../utils\": 32, \"./ArrayReader\": 17 }], 22: [function(e, t, r) {\n var n = e(\"../utils\"), i = e(\"../support\"), s = e(\"./ArrayReader\"), a = e(\"./StringReader\"), o = e(\"./NodeBufferReader\"), h = e(\"./Uint8ArrayReader\");\n t.exports = function(e2) {\n var t2 = n.getTypeOf(e2);\n return n.checkSupport(t2), \"string\" !== t2 || i.uint8array ? \"nodebuffer\" === t2 ? new o(e2) : i.uint8array ? new h(n.transformTo(\"uint8array\", e2)) : new s(n.transformTo(\"array\", e2)) : new a(e2);\n };\n }, { \"../support\": 30, \"../utils\": 32, \"./ArrayReader\": 17, \"./NodeBufferReader\": 19, \"./StringReader\": 20, \"./Uint8ArrayReader\": 21 }], 23: [function(e, t, r) {\n r.LOCAL_FILE_HEADER = \"PK\u0003\u0004\", r.CENTRAL_FILE_HEADER = \"PK\u0001\u0002\", r.CENTRAL_DIRECTORY_END = \"PK\u0005\u0006\", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = \"PK\u0006\\x07\", r.ZIP64_CENTRAL_DIRECTORY_END = \"PK\u0006\u0006\", r.DATA_DESCRIPTOR = \"PK\\x07\\b\";\n }, {}], 24: [function(e, t, r) {\n var n = e(\"./GenericWorker\"), i = e(\"../utils\");\n function s(e2) {\n n.call(this, \"ConvertWorker to \" + e2), this.destType = e2;\n }\n i.inherits(s, n), s.prototype.processChunk = function(e2) {\n this.push({ data: i.transformTo(this.destType, e2.data), meta: e2.meta });\n }, t.exports = s;\n }, { \"../utils\": 32, \"./GenericWorker\": 28 }], 25: [function(e, t, r) {\n var n = e(\"./GenericWorker\"), i = e(\"../crc32\");\n function s() {\n n.call(this, \"Crc32Probe\"), this.withStreamInfo(\"crc32\", 0);\n }\n e(\"../utils\").inherits(s, n), s.prototype.processChunk = function(e2) {\n this.streamInfo.crc32 = i(e2.data, this.streamInfo.crc32 || 0), this.push(e2);\n }, t.exports = s;\n }, { \"../crc32\": 4, \"../utils\": 32, \"./GenericWorker\": 28 }], 26: [function(e, t, r) {\n var n = e(\"../utils\"), i = e(\"./GenericWorker\");\n function s(e2) {\n i.call(this, \"DataLengthProbe for \" + e2), this.propName = e2, this.withStreamInfo(e2, 0);\n }\n n.inherits(s, i), s.prototype.processChunk = function(e2) {\n if (e2) {\n var t2 = this.streamInfo[this.propName] || 0;\n this.streamInfo[this.propName] = t2 + e2.data.length;\n }\n i.prototype.processChunk.call(this, e2);\n }, t.exports = s;\n }, { \"../utils\": 32, \"./GenericWorker\": 28 }], 27: [function(e, t, r) {\n var n = e(\"../utils\"), i = e(\"./GenericWorker\");\n function s(e2) {\n i.call(this, \"DataWorker\");\n var t2 = this;\n this.dataIsReady = false, this.index = 0, this.max = 0, this.data = null, this.type = \"\", this._tickScheduled = false, e2.then(function(e3) {\n t2.dataIsReady = true, t2.data = e3, t2.max = e3 && e3.length || 0, t2.type = n.getTypeOf(e3), t2.isPaused || t2._tickAndRepeat();\n }, function(e3) {\n t2.error(e3);\n });\n }\n n.inherits(s, i), s.prototype.cleanUp = function() {\n i.prototype.cleanUp.call(this), this.data = null;\n }, s.prototype.resume = function() {\n return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = true, n.delay(this._tickAndRepeat, [], this)), true);\n }, s.prototype._tickAndRepeat = function() {\n this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = true));\n }, s.prototype._tick = function() {\n if (this.isPaused || this.isFinished) return false;\n var e2 = null, t2 = Math.min(this.max, this.index + 16384);\n if (this.index >= this.max) return this.end();\n switch (this.type) {\n case \"string\":\n e2 = this.data.substring(this.index, t2);\n break;\n case \"uint8array\":\n e2 = this.data.subarray(this.index, t2);\n break;\n case \"array\":\n case \"nodebuffer\":\n e2 = this.data.slice(this.index, t2);\n }\n return this.index = t2, this.push({ data: e2, meta: { percent: this.max ? this.index / this.max * 100 : 0 } });\n }, t.exports = s;\n }, { \"../utils\": 32, \"./GenericWorker\": 28 }], 28: [function(e, t, r) {\n function n(e2) {\n this.name = e2 || \"default\", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = true, this.isFinished = false, this.isLocked = false, this._listeners = { data: [], end: [], error: [] }, this.previous = null;\n }\n n.prototype = { push: function(e2) {\n this.emit(\"data\", e2);\n }, end: function() {\n if (this.isFinished) return false;\n this.flush();\n try {\n this.emit(\"end\"), this.cleanUp(), this.isFinished = true;\n } catch (e2) {\n this.emit(\"error\", e2);\n }\n return true;\n }, error: function(e2) {\n return !this.isFinished && (this.isPaused ? this.generatedError = e2 : (this.isFinished = true, this.emit(\"error\", e2), this.previous && this.previous.error(e2), this.cleanUp()), true);\n }, on: function(e2, t2) {\n return this._listeners[e2].push(t2), this;\n }, cleanUp: function() {\n this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [];\n }, emit: function(e2, t2) {\n if (this._listeners[e2]) for (var r2 = 0; r2 < this._listeners[e2].length; r2++) this._listeners[e2][r2].call(this, t2);\n }, pipe: function(e2) {\n return e2.registerPrevious(this);\n }, registerPrevious: function(e2) {\n if (this.isLocked) throw new Error(\"The stream '\" + this + \"' has already been used.\");\n this.streamInfo = e2.streamInfo, this.mergeStreamInfo(), this.previous = e2;\n var t2 = this;\n return e2.on(\"data\", function(e3) {\n t2.processChunk(e3);\n }), e2.on(\"end\", function() {\n t2.end();\n }), e2.on(\"error\", function(e3) {\n t2.error(e3);\n }), this;\n }, pause: function() {\n return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true);\n }, resume: function() {\n if (!this.isPaused || this.isFinished) return false;\n var e2 = this.isPaused = false;\n return this.generatedError && (this.error(this.generatedError), e2 = true), this.previous && this.previous.resume(), !e2;\n }, flush: function() {\n }, processChunk: function(e2) {\n this.push(e2);\n }, withStreamInfo: function(e2, t2) {\n return this.extraStreamInfo[e2] = t2, this.mergeStreamInfo(), this;\n }, mergeStreamInfo: function() {\n for (var e2 in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]);\n }, lock: function() {\n if (this.isLocked) throw new Error(\"The stream '\" + this + \"' has already been used.\");\n this.isLocked = true, this.previous && this.previous.lock();\n }, toString: function() {\n var e2 = \"Worker \" + this.name;\n return this.previous ? this.previous + \" -> \" + e2 : e2;\n } }, t.exports = n;\n }, {}], 29: [function(e, t, r) {\n var h = e(\"../utils\"), i = e(\"./ConvertWorker\"), s = e(\"./GenericWorker\"), u = e(\"../base64\"), n = e(\"../support\"), a = e(\"../external\"), o = null;\n if (n.nodestream) try {\n o = e(\"../nodejs/NodejsStreamOutputAdapter\");\n } catch (e2) {\n }\n function l(e2, o2) {\n return new a.Promise(function(t2, r2) {\n var n2 = [], i2 = e2._internalType, s2 = e2._outputType, a2 = e2._mimeType;\n e2.on(\"data\", function(e3, t3) {\n n2.push(e3), o2 && o2(t3);\n }).on(\"error\", function(e3) {\n n2 = [], r2(e3);\n }).on(\"end\", function() {\n try {\n var e3 = (function(e4, t3, r3) {\n switch (e4) {\n case \"blob\":\n return h.newBlob(h.transformTo(\"arraybuffer\", t3), r3);\n case \"base64\":\n return u.encode(t3);\n default:\n return h.transformTo(e4, t3);\n }\n })(s2, (function(e4, t3) {\n var r3, n3 = 0, i3 = null, s3 = 0;\n for (r3 = 0; r3 < t3.length; r3++) s3 += t3[r3].length;\n switch (e4) {\n case \"string\":\n return t3.join(\"\");\n case \"array\":\n return Array.prototype.concat.apply([], t3);\n case \"uint8array\":\n for (i3 = new Uint8Array(s3), r3 = 0; r3 < t3.length; r3++) i3.set(t3[r3], n3), n3 += t3[r3].length;\n return i3;\n case \"nodebuffer\":\n return Buffer.concat(t3);\n default:\n throw new Error(\"concat : unsupported type '\" + e4 + \"'\");\n }\n })(i2, n2), a2);\n t2(e3);\n } catch (e4) {\n r2(e4);\n }\n n2 = [];\n }).resume();\n });\n }\n function f(e2, t2, r2) {\n var n2 = t2;\n switch (t2) {\n case \"blob\":\n case \"arraybuffer\":\n n2 = \"uint8array\";\n break;\n case \"base64\":\n n2 = \"string\";\n }\n try {\n this._internalType = n2, this._outputType = t2, this._mimeType = r2, h.checkSupport(n2), this._worker = e2.pipe(new i(n2)), e2.lock();\n } catch (e3) {\n this._worker = new s(\"error\"), this._worker.error(e3);\n }\n }\n f.prototype = { accumulate: function(e2) {\n return l(this, e2);\n }, on: function(e2, t2) {\n var r2 = this;\n return \"data\" === e2 ? this._worker.on(e2, function(e3) {\n t2.call(r2, e3.data, e3.meta);\n }) : this._worker.on(e2, function() {\n h.delay(t2, arguments, r2);\n }), this;\n }, resume: function() {\n return h.delay(this._worker.resume, [], this._worker), this;\n }, pause: function() {\n return this._worker.pause(), this;\n }, toNodejsStream: function(e2) {\n if (h.checkSupport(\"nodestream\"), \"nodebuffer\" !== this._outputType) throw new Error(this._outputType + \" is not supported by this method\");\n return new o(this, { objectMode: \"nodebuffer\" !== this._outputType }, e2);\n } }, t.exports = f;\n }, { \"../base64\": 1, \"../external\": 6, \"../nodejs/NodejsStreamOutputAdapter\": 13, \"../support\": 30, \"../utils\": 32, \"./ConvertWorker\": 24, \"./GenericWorker\": 28 }], 30: [function(e, t, r) {\n if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = \"undefined\" != typeof ArrayBuffer && \"undefined\" != typeof Uint8Array, r.nodebuffer = \"undefined\" != typeof Buffer, r.uint8array = \"undefined\" != typeof Uint8Array, \"undefined\" == typeof ArrayBuffer) r.blob = false;\n else {\n var n = new ArrayBuffer(0);\n try {\n r.blob = 0 === new Blob([n], { type: \"application/zip\" }).size;\n } catch (e2) {\n try {\n var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();\n i.append(n), r.blob = 0 === i.getBlob(\"application/zip\").size;\n } catch (e3) {\n r.blob = false;\n }\n }\n }\n try {\n r.nodestream = !!e(\"readable-stream\").Readable;\n } catch (e2) {\n r.nodestream = false;\n }\n }, { \"readable-stream\": 16 }], 31: [function(e, t, s) {\n for (var o = e(\"./utils\"), h = e(\"./support\"), r = e(\"./nodejsUtils\"), n = e(\"./stream/GenericWorker\"), u = new Array(256), i = 0; i < 256; i++) u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1;\n u[254] = u[254] = 1;\n function a() {\n n.call(this, \"utf-8 decode\"), this.leftOver = null;\n }\n function l() {\n n.call(this, \"utf-8 encode\");\n }\n s.utf8encode = function(e2) {\n return h.nodebuffer ? r.newBufferFrom(e2, \"utf-8\") : (function(e3) {\n var t2, r2, n2, i2, s2, a2 = e3.length, o2 = 0;\n for (i2 = 0; i2 < a2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4;\n for (t2 = h.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2);\n return t2;\n })(e2);\n }, s.utf8decode = function(e2) {\n return h.nodebuffer ? o.transformTo(\"nodebuffer\", e2).toString(\"utf-8\") : (function(e3) {\n var t2, r2, n2, i2, s2 = e3.length, a2 = new Array(2 * s2);\n for (t2 = r2 = 0; t2 < s2; ) if ((n2 = e3[t2++]) < 128) a2[r2++] = n2;\n else if (4 < (i2 = u[n2])) a2[r2++] = 65533, t2 += i2 - 1;\n else {\n for (n2 &= 2 === i2 ? 31 : 3 === i2 ? 15 : 7; 1 < i2 && t2 < s2; ) n2 = n2 << 6 | 63 & e3[t2++], i2--;\n 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2);\n }\n return a2.length !== r2 && (a2.subarray ? a2 = a2.subarray(0, r2) : a2.length = r2), o.applyFromCharCode(a2);\n })(e2 = o.transformTo(h.uint8array ? \"uint8array\" : \"array\", e2));\n }, o.inherits(a, n), a.prototype.processChunk = function(e2) {\n var t2 = o.transformTo(h.uint8array ? \"uint8array\" : \"array\", e2.data);\n if (this.leftOver && this.leftOver.length) {\n if (h.uint8array) {\n var r2 = t2;\n (t2 = new Uint8Array(r2.length + this.leftOver.length)).set(this.leftOver, 0), t2.set(r2, this.leftOver.length);\n } else t2 = this.leftOver.concat(t2);\n this.leftOver = null;\n }\n var n2 = (function(e3, t3) {\n var r3;\n for ((t3 = t3 || e3.length) > e3.length && (t3 = e3.length), r3 = t3 - 1; 0 <= r3 && 128 == (192 & e3[r3]); ) r3--;\n return r3 < 0 ? t3 : 0 === r3 ? t3 : r3 + u[e3[r3]] > t3 ? r3 : t3;\n })(t2), i2 = t2;\n n2 !== t2.length && (h.uint8array ? (i2 = t2.subarray(0, n2), this.leftOver = t2.subarray(n2, t2.length)) : (i2 = t2.slice(0, n2), this.leftOver = t2.slice(n2, t2.length))), this.push({ data: s.utf8decode(i2), meta: e2.meta });\n }, a.prototype.flush = function() {\n this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null);\n }, s.Utf8DecodeWorker = a, o.inherits(l, n), l.prototype.processChunk = function(e2) {\n this.push({ data: s.utf8encode(e2.data), meta: e2.meta });\n }, s.Utf8EncodeWorker = l;\n }, { \"./nodejsUtils\": 14, \"./stream/GenericWorker\": 28, \"./support\": 30, \"./utils\": 32 }], 32: [function(e, t, a) {\n var o = e(\"./support\"), h = e(\"./base64\"), r = e(\"./nodejsUtils\"), u = e(\"./external\");\n function n(e2) {\n return e2;\n }\n function l(e2, t2) {\n for (var r2 = 0; r2 < e2.length; ++r2) t2[r2] = 255 & e2.charCodeAt(r2);\n return t2;\n }\n e(\"setimmediate\"), a.newBlob = function(t2, r2) {\n a.checkSupport(\"blob\");\n try {\n return new Blob([t2], { type: r2 });\n } catch (e2) {\n try {\n var n2 = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();\n return n2.append(t2), n2.getBlob(r2);\n } catch (e3) {\n throw new Error(\"Bug : can't construct the Blob.\");\n }\n }\n };\n var i = { stringifyByChunk: function(e2, t2, r2) {\n var n2 = [], i2 = 0, s2 = e2.length;\n if (s2 <= r2) return String.fromCharCode.apply(null, e2);\n for (; i2 < s2; ) \"array\" === t2 || \"nodebuffer\" === t2 ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2;\n return n2.join(\"\");\n }, stringifyByChar: function(e2) {\n for (var t2 = \"\", r2 = 0; r2 < e2.length; r2++) t2 += String.fromCharCode(e2[r2]);\n return t2;\n }, applyCanBeUsed: { uint8array: (function() {\n try {\n return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length;\n } catch (e2) {\n return false;\n }\n })(), nodebuffer: (function() {\n try {\n return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length;\n } catch (e2) {\n return false;\n }\n })() } };\n function s(e2) {\n var t2 = 65536, r2 = a.getTypeOf(e2), n2 = true;\n if (\"uint8array\" === r2 ? n2 = i.applyCanBeUsed.uint8array : \"nodebuffer\" === r2 && (n2 = i.applyCanBeUsed.nodebuffer), n2) for (; 1 < t2; ) try {\n return i.stringifyByChunk(e2, r2, t2);\n } catch (e3) {\n t2 = Math.floor(t2 / 2);\n }\n return i.stringifyByChar(e2);\n }\n function f(e2, t2) {\n for (var r2 = 0; r2 < e2.length; r2++) t2[r2] = e2[r2];\n return t2;\n }\n a.applyFromCharCode = s;\n var c = {};\n c.string = { string: n, array: function(e2) {\n return l(e2, new Array(e2.length));\n }, arraybuffer: function(e2) {\n return c.string.uint8array(e2).buffer;\n }, uint8array: function(e2) {\n return l(e2, new Uint8Array(e2.length));\n }, nodebuffer: function(e2) {\n return l(e2, r.allocBuffer(e2.length));\n } }, c.array = { string: s, array: n, arraybuffer: function(e2) {\n return new Uint8Array(e2).buffer;\n }, uint8array: function(e2) {\n return new Uint8Array(e2);\n }, nodebuffer: function(e2) {\n return r.newBufferFrom(e2);\n } }, c.arraybuffer = { string: function(e2) {\n return s(new Uint8Array(e2));\n }, array: function(e2) {\n return f(new Uint8Array(e2), new Array(e2.byteLength));\n }, arraybuffer: n, uint8array: function(e2) {\n return new Uint8Array(e2);\n }, nodebuffer: function(e2) {\n return r.newBufferFrom(new Uint8Array(e2));\n } }, c.uint8array = { string: s, array: function(e2) {\n return f(e2, new Array(e2.length));\n }, arraybuffer: function(e2) {\n return e2.buffer;\n }, uint8array: n, nodebuffer: function(e2) {\n return r.newBufferFrom(e2);\n } }, c.nodebuffer = { string: s, array: function(e2) {\n return f(e2, new Array(e2.length));\n }, arraybuffer: function(e2) {\n return c.nodebuffer.uint8array(e2).buffer;\n }, uint8array: function(e2) {\n return f(e2, new Uint8Array(e2.length));\n }, nodebuffer: n }, a.transformTo = function(e2, t2) {\n if (t2 = t2 || \"\", !e2) return t2;\n a.checkSupport(e2);\n var r2 = a.getTypeOf(t2);\n return c[r2][e2](t2);\n }, a.resolve = function(e2) {\n for (var t2 = e2.split(\"/\"), r2 = [], n2 = 0; n2 < t2.length; n2++) {\n var i2 = t2[n2];\n \".\" === i2 || \"\" === i2 && 0 !== n2 && n2 !== t2.length - 1 || (\"..\" === i2 ? r2.pop() : r2.push(i2));\n }\n return r2.join(\"/\");\n }, a.getTypeOf = function(e2) {\n return \"string\" == typeof e2 ? \"string\" : \"[object Array]\" === Object.prototype.toString.call(e2) ? \"array\" : o.nodebuffer && r.isBuffer(e2) ? \"nodebuffer\" : o.uint8array && e2 instanceof Uint8Array ? \"uint8array\" : o.arraybuffer && e2 instanceof ArrayBuffer ? \"arraybuffer\" : void 0;\n }, a.checkSupport = function(e2) {\n if (!o[e2.toLowerCase()]) throw new Error(e2 + \" is not supported by this platform\");\n }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e2) {\n var t2, r2, n2 = \"\";\n for (r2 = 0; r2 < (e2 || \"\").length; r2++) n2 += \"\\\\x\" + ((t2 = e2.charCodeAt(r2)) < 16 ? \"0\" : \"\") + t2.toString(16).toUpperCase();\n return n2;\n }, a.delay = function(e2, t2, r2) {\n setImmediate(function() {\n e2.apply(r2 || null, t2 || []);\n });\n }, a.inherits = function(e2, t2) {\n function r2() {\n }\n r2.prototype = t2.prototype, e2.prototype = new r2();\n }, a.extend = function() {\n var e2, t2, r2 = {};\n for (e2 = 0; e2 < arguments.length; e2++) for (t2 in arguments[e2]) Object.prototype.hasOwnProperty.call(arguments[e2], t2) && void 0 === r2[t2] && (r2[t2] = arguments[e2][t2]);\n return r2;\n }, a.prepareContent = function(r2, e2, n2, i2, s2) {\n return u.Promise.resolve(e2).then(function(n3) {\n return o.blob && (n3 instanceof Blob || -1 !== [\"[object File]\", \"[object Blob]\"].indexOf(Object.prototype.toString.call(n3))) && \"undefined\" != typeof FileReader ? new u.Promise(function(t2, r3) {\n var e3 = new FileReader();\n e3.onload = function(e4) {\n t2(e4.target.result);\n }, e3.onerror = function(e4) {\n r3(e4.target.error);\n }, e3.readAsArrayBuffer(n3);\n }) : n3;\n }).then(function(e3) {\n var t2 = a.getTypeOf(e3);\n return t2 ? (\"arraybuffer\" === t2 ? e3 = a.transformTo(\"uint8array\", e3) : \"string\" === t2 && (s2 ? e3 = h.decode(e3) : n2 && true !== i2 && (e3 = (function(e4) {\n return l(e4, o.uint8array ? new Uint8Array(e4.length) : new Array(e4.length));\n })(e3))), e3) : u.Promise.reject(new Error(\"Can't read the data of '\" + r2 + \"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"));\n });\n };\n }, { \"./base64\": 1, \"./external\": 6, \"./nodejsUtils\": 14, \"./support\": 30, setimmediate: 54 }], 33: [function(e, t, r) {\n var n = e(\"./reader/readerFor\"), i = e(\"./utils\"), s = e(\"./signature\"), a = e(\"./zipEntry\"), o = e(\"./support\");\n function h(e2) {\n this.files = [], this.loadOptions = e2;\n }\n h.prototype = { checkSignature: function(e2) {\n if (!this.reader.readAndCheckSignature(e2)) {\n this.reader.index -= 4;\n var t2 = this.reader.readString(4);\n throw new Error(\"Corrupted zip or bug: unexpected signature (\" + i.pretty(t2) + \", expected \" + i.pretty(e2) + \")\");\n }\n }, isSignature: function(e2, t2) {\n var r2 = this.reader.index;\n this.reader.setIndex(e2);\n var n2 = this.reader.readString(4) === t2;\n return this.reader.setIndex(r2), n2;\n }, readBlockEndOfCentral: function() {\n this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2);\n var e2 = this.reader.readData(this.zipCommentLength), t2 = o.uint8array ? \"uint8array\" : \"array\", r2 = i.transformTo(t2, e2);\n this.zipComment = this.loadOptions.decodeFileName(r2);\n }, readBlockZip64EndOfCentral: function() {\n this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {};\n for (var e2, t2, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) e2 = this.reader.readInt(2), t2 = this.reader.readInt(4), r2 = this.reader.readData(t2), this.zip64ExtensibleData[e2] = { id: e2, length: t2, value: r2 };\n }, readBlockZip64EndOfCentralLocator: function() {\n if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error(\"Multi-volumes zip are not supported\");\n }, readLocalFiles: function() {\n var e2, t2;\n for (e2 = 0; e2 < this.files.length; e2++) t2 = this.files[e2], this.reader.setIndex(t2.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t2.readLocalPart(this.reader), t2.handleUTF8(), t2.processAttributes();\n }, readCentralDir: function() {\n var e2;\n for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2);\n if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error(\"Corrupted zip or bug: expected \" + this.centralDirRecords + \" records in central dir, got \" + this.files.length);\n }, readEndOfCentral: function() {\n var e2 = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);\n if (e2 < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\") : new Error(\"Corrupted zip: can't find end of central directory\");\n this.reader.setIndex(e2);\n var t2 = e2;\n if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) {\n if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");\n if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");\n this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral();\n }\n var r2 = this.centralDirOffset + this.centralDirSize;\n this.zip64 && (r2 += 20, r2 += 12 + this.zip64EndOfCentralSize);\n var n2 = t2 - r2;\n if (0 < n2) this.isSignature(t2, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2);\n else if (n2 < 0) throw new Error(\"Corrupted zip: missing \" + Math.abs(n2) + \" bytes.\");\n }, prepareReader: function(e2) {\n this.reader = n(e2);\n }, load: function(e2) {\n this.prepareReader(e2), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles();\n } }, t.exports = h;\n }, { \"./reader/readerFor\": 22, \"./signature\": 23, \"./support\": 30, \"./utils\": 32, \"./zipEntry\": 34 }], 34: [function(e, t, r) {\n var n = e(\"./reader/readerFor\"), s = e(\"./utils\"), i = e(\"./compressedObject\"), a = e(\"./crc32\"), o = e(\"./utf8\"), h = e(\"./compressions\"), u = e(\"./support\");\n function l(e2, t2) {\n this.options = e2, this.loadOptions = t2;\n }\n l.prototype = { isEncrypted: function() {\n return 1 == (1 & this.bitFlag);\n }, useUTF8: function() {\n return 2048 == (2048 & this.bitFlag);\n }, readLocalPart: function(e2) {\n var t2, r2;\n if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");\n if (null === (t2 = (function(e3) {\n for (var t3 in h) if (Object.prototype.hasOwnProperty.call(h, t3) && h[t3].magic === e3) return h[t3];\n return null;\n })(this.compressionMethod))) throw new Error(\"Corrupted zip : compression \" + s.pretty(this.compressionMethod) + \" unknown (inner file : \" + s.transformTo(\"string\", this.fileName) + \")\");\n this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t2, e2.readData(this.compressedSize));\n }, readCentralPart: function(e2) {\n this.versionMadeBy = e2.readInt(2), e2.skip(2), this.bitFlag = e2.readInt(2), this.compressionMethod = e2.readString(2), this.date = e2.readDate(), this.crc32 = e2.readInt(4), this.compressedSize = e2.readInt(4), this.uncompressedSize = e2.readInt(4);\n var t2 = e2.readInt(2);\n if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) throw new Error(\"Encrypted zip are not supported\");\n e2.skip(t2), this.readExtraFields(e2), this.parseZIP64ExtraField(e2), this.fileComment = e2.readData(this.fileCommentLength);\n }, processAttributes: function() {\n this.unixPermissions = null, this.dosPermissions = null;\n var e2 = this.versionMadeBy >> 8;\n this.dir = !!(16 & this.externalFileAttributes), 0 == e2 && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e2 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || \"/\" !== this.fileNameStr.slice(-1) || (this.dir = true);\n }, parseZIP64ExtraField: function() {\n if (this.extraFields[1]) {\n var e2 = n(this.extraFields[1].value);\n this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e2.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e2.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e2.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e2.readInt(4));\n }\n }, readExtraFields: function(e2) {\n var t2, r2, n2, i2 = e2.index + this.extraFieldsLength;\n for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) t2 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t2] = { id: t2, length: r2, value: n2 };\n e2.setIndex(i2);\n }, handleUTF8: function() {\n var e2 = u.uint8array ? \"uint8array\" : \"array\";\n if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment);\n else {\n var t2 = this.findExtraFieldUnicodePath();\n if (null !== t2) this.fileNameStr = t2;\n else {\n var r2 = s.transformTo(e2, this.fileName);\n this.fileNameStr = this.loadOptions.decodeFileName(r2);\n }\n var n2 = this.findExtraFieldUnicodeComment();\n if (null !== n2) this.fileCommentStr = n2;\n else {\n var i2 = s.transformTo(e2, this.fileComment);\n this.fileCommentStr = this.loadOptions.decodeFileName(i2);\n }\n }\n }, findExtraFieldUnicodePath: function() {\n var e2 = this.extraFields[28789];\n if (e2) {\n var t2 = n(e2.value);\n return 1 !== t2.readInt(1) ? null : a(this.fileName) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5));\n }\n return null;\n }, findExtraFieldUnicodeComment: function() {\n var e2 = this.extraFields[25461];\n if (e2) {\n var t2 = n(e2.value);\n return 1 !== t2.readInt(1) ? null : a(this.fileComment) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5));\n }\n return null;\n } }, t.exports = l;\n }, { \"./compressedObject\": 2, \"./compressions\": 3, \"./crc32\": 4, \"./reader/readerFor\": 22, \"./support\": 30, \"./utf8\": 31, \"./utils\": 32 }], 35: [function(e, t, r) {\n function n(e2, t2, r2) {\n this.name = e2, this.dir = r2.dir, this.date = r2.date, this.comment = r2.comment, this.unixPermissions = r2.unixPermissions, this.dosPermissions = r2.dosPermissions, this._data = t2, this._dataBinary = r2.binary, this.options = { compression: r2.compression, compressionOptions: r2.compressionOptions };\n }\n var s = e(\"./stream/StreamHelper\"), i = e(\"./stream/DataWorker\"), a = e(\"./utf8\"), o = e(\"./compressedObject\"), h = e(\"./stream/GenericWorker\");\n n.prototype = { internalStream: function(e2) {\n var t2 = null, r2 = \"string\";\n try {\n if (!e2) throw new Error(\"No output type specified.\");\n var n2 = \"string\" === (r2 = e2.toLowerCase()) || \"text\" === r2;\n \"binarystring\" !== r2 && \"text\" !== r2 || (r2 = \"string\"), t2 = this._decompressWorker();\n var i2 = !this._dataBinary;\n i2 && !n2 && (t2 = t2.pipe(new a.Utf8EncodeWorker())), !i2 && n2 && (t2 = t2.pipe(new a.Utf8DecodeWorker()));\n } catch (e3) {\n (t2 = new h(\"error\")).error(e3);\n }\n return new s(t2, r2, \"\");\n }, async: function(e2, t2) {\n return this.internalStream(e2).accumulate(t2);\n }, nodeStream: function(e2, t2) {\n return this.internalStream(e2 || \"nodebuffer\").toNodejsStream(t2);\n }, _compressWorker: function(e2, t2) {\n if (this._data instanceof o && this._data.compression.magic === e2.magic) return this._data.getCompressedWorker();\n var r2 = this._decompressWorker();\n return this._dataBinary || (r2 = r2.pipe(new a.Utf8EncodeWorker())), o.createWorkerFrom(r2, e2, t2);\n }, _decompressWorker: function() {\n return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data);\n } };\n for (var u = [\"asText\", \"asBinary\", \"asNodeBuffer\", \"asUint8Array\", \"asArrayBuffer\"], l = function() {\n throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\");\n }, f = 0; f < u.length; f++) n.prototype[u[f]] = l;\n t.exports = n;\n }, { \"./compressedObject\": 2, \"./stream/DataWorker\": 27, \"./stream/GenericWorker\": 28, \"./stream/StreamHelper\": 29, \"./utf8\": 31 }], 36: [function(e, l, t) {\n (function(t2) {\n var r, n, e2 = t2.MutationObserver || t2.WebKitMutationObserver;\n if (e2) {\n var i = 0, s = new e2(u), a = t2.document.createTextNode(\"\");\n s.observe(a, { characterData: true }), r = function() {\n a.data = i = ++i % 2;\n };\n } else if (t2.setImmediate || void 0 === t2.MessageChannel) r = \"document\" in t2 && \"onreadystatechange\" in t2.document.createElement(\"script\") ? function() {\n var e3 = t2.document.createElement(\"script\");\n e3.onreadystatechange = function() {\n u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null;\n }, t2.document.documentElement.appendChild(e3);\n } : function() {\n setTimeout(u, 0);\n };\n else {\n var o = new t2.MessageChannel();\n o.port1.onmessage = u, r = function() {\n o.port2.postMessage(0);\n };\n }\n var h = [];\n function u() {\n var e3, t3;\n n = true;\n for (var r2 = h.length; r2; ) {\n for (t3 = h, h = [], e3 = -1; ++e3 < r2; ) t3[e3]();\n r2 = h.length;\n }\n n = false;\n }\n l.exports = function(e3) {\n 1 !== h.push(e3) || n || r();\n };\n }).call(this, \"undefined\" != typeof commonjsGlobal ? commonjsGlobal : \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {});\n }, {}], 37: [function(e, t, r) {\n var i = e(\"immediate\");\n function u() {\n }\n var l = {}, s = [\"REJECTED\"], a = [\"FULFILLED\"], n = [\"PENDING\"];\n function o(e2) {\n if (\"function\" != typeof e2) throw new TypeError(\"resolver must be a function\");\n this.state = n, this.queue = [], this.outcome = void 0, e2 !== u && d(this, e2);\n }\n function h(e2, t2, r2) {\n this.promise = e2, \"function\" == typeof t2 && (this.onFulfilled = t2, this.callFulfilled = this.otherCallFulfilled), \"function\" == typeof r2 && (this.onRejected = r2, this.callRejected = this.otherCallRejected);\n }\n function f(t2, r2, n2) {\n i(function() {\n var e2;\n try {\n e2 = r2(n2);\n } catch (e3) {\n return l.reject(t2, e3);\n }\n e2 === t2 ? l.reject(t2, new TypeError(\"Cannot resolve promise with itself\")) : l.resolve(t2, e2);\n });\n }\n function c(e2) {\n var t2 = e2 && e2.then;\n if (e2 && (\"object\" == typeof e2 || \"function\" == typeof e2) && \"function\" == typeof t2) return function() {\n t2.apply(e2, arguments);\n };\n }\n function d(t2, e2) {\n var r2 = false;\n function n2(e3) {\n r2 || (r2 = true, l.reject(t2, e3));\n }\n function i2(e3) {\n r2 || (r2 = true, l.resolve(t2, e3));\n }\n var s2 = p(function() {\n e2(i2, n2);\n });\n \"error\" === s2.status && n2(s2.value);\n }\n function p(e2, t2) {\n var r2 = {};\n try {\n r2.value = e2(t2), r2.status = \"success\";\n } catch (e3) {\n r2.status = \"error\", r2.value = e3;\n }\n return r2;\n }\n (t.exports = o).prototype.finally = function(t2) {\n if (\"function\" != typeof t2) return this;\n var r2 = this.constructor;\n return this.then(function(e2) {\n return r2.resolve(t2()).then(function() {\n return e2;\n });\n }, function(e2) {\n return r2.resolve(t2()).then(function() {\n throw e2;\n });\n });\n }, o.prototype.catch = function(e2) {\n return this.then(null, e2);\n }, o.prototype.then = function(e2, t2) {\n if (\"function\" != typeof e2 && this.state === a || \"function\" != typeof t2 && this.state === s) return this;\n var r2 = new this.constructor(u);\n this.state !== n ? f(r2, this.state === a ? e2 : t2, this.outcome) : this.queue.push(new h(r2, e2, t2));\n return r2;\n }, h.prototype.callFulfilled = function(e2) {\n l.resolve(this.promise, e2);\n }, h.prototype.otherCallFulfilled = function(e2) {\n f(this.promise, this.onFulfilled, e2);\n }, h.prototype.callRejected = function(e2) {\n l.reject(this.promise, e2);\n }, h.prototype.otherCallRejected = function(e2) {\n f(this.promise, this.onRejected, e2);\n }, l.resolve = function(e2, t2) {\n var r2 = p(c, t2);\n if (\"error\" === r2.status) return l.reject(e2, r2.value);\n var n2 = r2.value;\n if (n2) d(e2, n2);\n else {\n e2.state = a, e2.outcome = t2;\n for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) e2.queue[i2].callFulfilled(t2);\n }\n return e2;\n }, l.reject = function(e2, t2) {\n e2.state = s, e2.outcome = t2;\n for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) e2.queue[r2].callRejected(t2);\n return e2;\n }, o.resolve = function(e2) {\n if (e2 instanceof this) return e2;\n return l.resolve(new this(u), e2);\n }, o.reject = function(e2) {\n var t2 = new this(u);\n return l.reject(t2, e2);\n }, o.all = function(e2) {\n var r2 = this;\n if (\"[object Array]\" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError(\"must be an array\"));\n var n2 = e2.length, i2 = false;\n if (!n2) return this.resolve([]);\n var s2 = new Array(n2), a2 = 0, t2 = -1, o2 = new this(u);\n for (; ++t2 < n2; ) h2(e2[t2], t2);\n return o2;\n function h2(e3, t3) {\n r2.resolve(e3).then(function(e4) {\n s2[t3] = e4, ++a2 !== n2 || i2 || (i2 = true, l.resolve(o2, s2));\n }, function(e4) {\n i2 || (i2 = true, l.reject(o2, e4));\n });\n }\n }, o.race = function(e2) {\n var t2 = this;\n if (\"[object Array]\" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError(\"must be an array\"));\n var r2 = e2.length, n2 = false;\n if (!r2) return this.resolve([]);\n var i2 = -1, s2 = new this(u);\n for (; ++i2 < r2; ) a2 = e2[i2], t2.resolve(a2).then(function(e3) {\n n2 || (n2 = true, l.resolve(s2, e3));\n }, function(e3) {\n n2 || (n2 = true, l.reject(s2, e3));\n });\n var a2;\n return s2;\n };\n }, { immediate: 36 }], 38: [function(e, t, r) {\n var n = {};\n (0, e(\"./lib/utils/common\").assign)(n, e(\"./lib/deflate\"), e(\"./lib/inflate\"), e(\"./lib/zlib/constants\")), t.exports = n;\n }, { \"./lib/deflate\": 39, \"./lib/inflate\": 40, \"./lib/utils/common\": 41, \"./lib/zlib/constants\": 44 }], 39: [function(e, t, r) {\n var a = e(\"./zlib/deflate\"), o = e(\"./utils/common\"), h = e(\"./utils/strings\"), i = e(\"./zlib/messages\"), s = e(\"./zlib/zstream\"), u = Object.prototype.toString, l = 0, f = -1, c = 0, d = 8;\n function p(e2) {\n if (!(this instanceof p)) return new p(e2);\n this.options = o.assign({ level: f, method: d, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: c, to: \"\" }, e2 || {});\n var t2 = this.options;\n t2.raw && 0 < t2.windowBits ? t2.windowBits = -t2.windowBits : t2.gzip && 0 < t2.windowBits && t2.windowBits < 16 && (t2.windowBits += 16), this.err = 0, this.msg = \"\", this.ended = false, this.chunks = [], this.strm = new s(), this.strm.avail_out = 0;\n var r2 = a.deflateInit2(this.strm, t2.level, t2.method, t2.windowBits, t2.memLevel, t2.strategy);\n if (r2 !== l) throw new Error(i[r2]);\n if (t2.header && a.deflateSetHeader(this.strm, t2.header), t2.dictionary) {\n var n2;\n if (n2 = \"string\" == typeof t2.dictionary ? h.string2buf(t2.dictionary) : \"[object ArrayBuffer]\" === u.call(t2.dictionary) ? new Uint8Array(t2.dictionary) : t2.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l) throw new Error(i[r2]);\n this._dict_set = true;\n }\n }\n function n(e2, t2) {\n var r2 = new p(t2);\n if (r2.push(e2, true), r2.err) throw r2.msg || i[r2.err];\n return r2.result;\n }\n p.prototype.push = function(e2, t2) {\n var r2, n2, i2 = this.strm, s2 = this.options.chunkSize;\n if (this.ended) return false;\n n2 = t2 === ~~t2 ? t2 : true === t2 ? 4 : 0, \"string\" == typeof e2 ? i2.input = h.string2buf(e2) : \"[object ArrayBuffer]\" === u.call(e2) ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length;\n do {\n if (0 === i2.avail_out && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), 1 !== (r2 = a.deflate(i2, n2)) && r2 !== l) return this.onEnd(r2), !(this.ended = true);\n 0 !== i2.avail_out && (0 !== i2.avail_in || 4 !== n2 && 2 !== n2) || (\"string\" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out)));\n } while ((0 < i2.avail_in || 0 === i2.avail_out) && 1 !== r2);\n return 4 === n2 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l) : 2 !== n2 || (this.onEnd(l), !(i2.avail_out = 0));\n }, p.prototype.onData = function(e2) {\n this.chunks.push(e2);\n }, p.prototype.onEnd = function(e2) {\n e2 === l && (\"string\" === this.options.to ? this.result = this.chunks.join(\"\") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg;\n }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e2, t2) {\n return (t2 = t2 || {}).raw = true, n(e2, t2);\n }, r.gzip = function(e2, t2) {\n return (t2 = t2 || {}).gzip = true, n(e2, t2);\n };\n }, { \"./utils/common\": 41, \"./utils/strings\": 42, \"./zlib/deflate\": 46, \"./zlib/messages\": 51, \"./zlib/zstream\": 53 }], 40: [function(e, t, r) {\n var c = e(\"./zlib/inflate\"), d = e(\"./utils/common\"), p = e(\"./utils/strings\"), m = e(\"./zlib/constants\"), n = e(\"./zlib/messages\"), i = e(\"./zlib/zstream\"), s = e(\"./zlib/gzheader\"), _ = Object.prototype.toString;\n function a(e2) {\n if (!(this instanceof a)) return new a(e2);\n this.options = d.assign({ chunkSize: 16384, windowBits: 0, to: \"\" }, e2 || {});\n var t2 = this.options;\n t2.raw && 0 <= t2.windowBits && t2.windowBits < 16 && (t2.windowBits = -t2.windowBits, 0 === t2.windowBits && (t2.windowBits = -15)), !(0 <= t2.windowBits && t2.windowBits < 16) || e2 && e2.windowBits || (t2.windowBits += 32), 15 < t2.windowBits && t2.windowBits < 48 && 0 == (15 & t2.windowBits) && (t2.windowBits |= 15), this.err = 0, this.msg = \"\", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0;\n var r2 = c.inflateInit2(this.strm, t2.windowBits);\n if (r2 !== m.Z_OK) throw new Error(n[r2]);\n this.header = new s(), c.inflateGetHeader(this.strm, this.header);\n }\n function o(e2, t2) {\n var r2 = new a(t2);\n if (r2.push(e2, true), r2.err) throw r2.msg || n[r2.err];\n return r2.result;\n }\n a.prototype.push = function(e2, t2) {\n var r2, n2, i2, s2, a2, o2, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = false;\n if (this.ended) return false;\n n2 = t2 === ~~t2 ? t2 : true === t2 ? m.Z_FINISH : m.Z_NO_FLUSH, \"string\" == typeof e2 ? h.input = p.binstring2buf(e2) : \"[object ArrayBuffer]\" === _.call(e2) ? h.input = new Uint8Array(e2) : h.input = e2, h.next_in = 0, h.avail_in = h.input.length;\n do {\n if (0 === h.avail_out && (h.output = new d.Buf8(u), h.next_out = 0, h.avail_out = u), (r2 = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o2 = \"string\" == typeof l ? p.string2buf(l) : \"[object ArrayBuffer]\" === _.call(l) ? new Uint8Array(l) : l, r2 = c.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && true === f && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) return this.onEnd(r2), !(this.ended = true);\n h.next_out && (0 !== h.avail_out && r2 !== m.Z_STREAM_END && (0 !== h.avail_in || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || (\"string\" === this.options.to ? (i2 = p.utf8border(h.output, h.next_out), s2 = h.next_out - i2, a2 = p.buf2string(h.output, i2), h.next_out = s2, h.avail_out = u - s2, s2 && d.arraySet(h.output, h.output, i2, s2, 0), this.onData(a2)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = true);\n } while ((0 < h.avail_in || 0 === h.avail_out) && r2 !== m.Z_STREAM_END);\n return r2 === m.Z_STREAM_END && (n2 = m.Z_FINISH), n2 === m.Z_FINISH ? (r2 = c.inflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === m.Z_OK) : n2 !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0));\n }, a.prototype.onData = function(e2) {\n this.chunks.push(e2);\n }, a.prototype.onEnd = function(e2) {\n e2 === m.Z_OK && (\"string\" === this.options.to ? this.result = this.chunks.join(\"\") : this.result = d.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg;\n }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e2, t2) {\n return (t2 = t2 || {}).raw = true, o(e2, t2);\n }, r.ungzip = o;\n }, { \"./utils/common\": 41, \"./utils/strings\": 42, \"./zlib/constants\": 44, \"./zlib/gzheader\": 47, \"./zlib/inflate\": 49, \"./zlib/messages\": 51, \"./zlib/zstream\": 53 }], 41: [function(e, t, r) {\n var n = \"undefined\" != typeof Uint8Array && \"undefined\" != typeof Uint16Array && \"undefined\" != typeof Int32Array;\n r.assign = function(e2) {\n for (var t2 = Array.prototype.slice.call(arguments, 1); t2.length; ) {\n var r2 = t2.shift();\n if (r2) {\n if (\"object\" != typeof r2) throw new TypeError(r2 + \"must be non-object\");\n for (var n2 in r2) r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]);\n }\n }\n return e2;\n }, r.shrinkBuf = function(e2, t2) {\n return e2.length === t2 ? e2 : e2.subarray ? e2.subarray(0, t2) : (e2.length = t2, e2);\n };\n var i = { arraySet: function(e2, t2, r2, n2, i2) {\n if (t2.subarray && e2.subarray) e2.set(t2.subarray(r2, r2 + n2), i2);\n else for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2];\n }, flattenChunks: function(e2) {\n var t2, r2, n2, i2, s2, a;\n for (t2 = n2 = 0, r2 = e2.length; t2 < r2; t2++) n2 += e2[t2].length;\n for (a = new Uint8Array(n2), t2 = i2 = 0, r2 = e2.length; t2 < r2; t2++) s2 = e2[t2], a.set(s2, i2), i2 += s2.length;\n return a;\n } }, s = { arraySet: function(e2, t2, r2, n2, i2) {\n for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2];\n }, flattenChunks: function(e2) {\n return [].concat.apply([], e2);\n } };\n r.setTyped = function(e2) {\n e2 ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s));\n }, r.setTyped(n);\n }, {}], 42: [function(e, t, r) {\n var h = e(\"./common\"), i = true, s = true;\n try {\n String.fromCharCode.apply(null, [0]);\n } catch (e2) {\n i = false;\n }\n try {\n String.fromCharCode.apply(null, new Uint8Array(1));\n } catch (e2) {\n s = false;\n }\n for (var u = new h.Buf8(256), n = 0; n < 256; n++) u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1;\n function l(e2, t2) {\n if (t2 < 65537 && (e2.subarray && s || !e2.subarray && i)) return String.fromCharCode.apply(null, h.shrinkBuf(e2, t2));\n for (var r2 = \"\", n2 = 0; n2 < t2; n2++) r2 += String.fromCharCode(e2[n2]);\n return r2;\n }\n u[254] = u[254] = 1, r.string2buf = function(e2) {\n var t2, r2, n2, i2, s2, a = e2.length, o = 0;\n for (i2 = 0; i2 < a; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4;\n for (t2 = new h.Buf8(o), i2 = s2 = 0; s2 < o; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2);\n return t2;\n }, r.buf2binstring = function(e2) {\n return l(e2, e2.length);\n }, r.binstring2buf = function(e2) {\n for (var t2 = new h.Buf8(e2.length), r2 = 0, n2 = t2.length; r2 < n2; r2++) t2[r2] = e2.charCodeAt(r2);\n return t2;\n }, r.buf2string = function(e2, t2) {\n var r2, n2, i2, s2, a = t2 || e2.length, o = new Array(2 * a);\n for (r2 = n2 = 0; r2 < a; ) if ((i2 = e2[r2++]) < 128) o[n2++] = i2;\n else if (4 < (s2 = u[i2])) o[n2++] = 65533, r2 += s2 - 1;\n else {\n for (i2 &= 2 === s2 ? 31 : 3 === s2 ? 15 : 7; 1 < s2 && r2 < a; ) i2 = i2 << 6 | 63 & e2[r2++], s2--;\n 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2);\n }\n return l(o, n2);\n }, r.utf8border = function(e2, t2) {\n var r2;\n for ((t2 = t2 || e2.length) > e2.length && (t2 = e2.length), r2 = t2 - 1; 0 <= r2 && 128 == (192 & e2[r2]); ) r2--;\n return r2 < 0 ? t2 : 0 === r2 ? t2 : r2 + u[e2[r2]] > t2 ? r2 : t2;\n };\n }, { \"./common\": 41 }], 43: [function(e, t, r) {\n t.exports = function(e2, t2, r2, n) {\n for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; 0 !== r2; ) {\n for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t2[n++] | 0) | 0, --a; ) ;\n i %= 65521, s %= 65521;\n }\n return i | s << 16 | 0;\n };\n }, {}], 44: [function(e, t, r) {\n t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 };\n }, {}], 45: [function(e, t, r) {\n var o = (function() {\n for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) {\n e2 = r2;\n for (var n = 0; n < 8; n++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1;\n t2[r2] = e2;\n }\n return t2;\n })();\n t.exports = function(e2, t2, r2, n) {\n var i = o, s = n + r2;\n e2 ^= -1;\n for (var a = n; a < s; a++) e2 = e2 >>> 8 ^ i[255 & (e2 ^ t2[a])];\n return -1 ^ e2;\n };\n }, {}], 46: [function(e, t, r) {\n var h, c = e(\"../utils/common\"), u = e(\"./trees\"), d = e(\"./adler32\"), p = e(\"./crc32\"), n = e(\"./messages\"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, i = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4;\n function R(e2, t2) {\n return e2.msg = n[t2], t2;\n }\n function T(e2) {\n return (e2 << 1) - (4 < e2 ? 9 : 0);\n }\n function D(e2) {\n for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0;\n }\n function F(e2) {\n var t2 = e2.state, r2 = t2.pending;\n r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (c.arraySet(e2.output, t2.pending_buf, t2.pending_out, r2, e2.next_out), e2.next_out += r2, t2.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t2.pending -= r2, 0 === t2.pending && (t2.pending_out = 0));\n }\n function N(e2, t2) {\n u._tr_flush_block(e2, 0 <= e2.block_start ? e2.block_start : -1, e2.strstart - e2.block_start, t2), e2.block_start = e2.strstart, F(e2.strm);\n }\n function U(e2, t2) {\n e2.pending_buf[e2.pending++] = t2;\n }\n function P(e2, t2) {\n e2.pending_buf[e2.pending++] = t2 >>> 8 & 255, e2.pending_buf[e2.pending++] = 255 & t2;\n }\n function L(e2, t2) {\n var r2, n2, i2 = e2.max_chain_length, s2 = e2.strstart, a2 = e2.prev_length, o2 = e2.nice_match, h2 = e2.strstart > e2.w_size - z ? e2.strstart - (e2.w_size - z) : 0, u2 = e2.window, l2 = e2.w_mask, f2 = e2.prev, c2 = e2.strstart + S, d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2];\n e2.prev_length >= e2.good_match && (i2 >>= 2), o2 > e2.lookahead && (o2 = e2.lookahead);\n do {\n if (u2[(r2 = t2) + a2] === p2 && u2[r2 + a2 - 1] === d2 && u2[r2] === u2[s2] && u2[++r2] === u2[s2 + 1]) {\n s2 += 2, r2++;\n do {\n } while (u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && s2 < c2);\n if (n2 = S - (c2 - s2), s2 = c2 - S, a2 < n2) {\n if (e2.match_start = t2, o2 <= (a2 = n2)) break;\n d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2];\n }\n }\n } while ((t2 = f2[t2 & l2]) > h2 && 0 != --i2);\n return a2 <= e2.lookahead ? a2 : e2.lookahead;\n }\n function j(e2) {\n var t2, r2, n2, i2, s2, a2, o2, h2, u2, l2, f2 = e2.w_size;\n do {\n if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= f2 + (f2 - z)) {\n for (c.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t2 = r2 = e2.hash_size; n2 = e2.head[--t2], e2.head[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ;\n for (t2 = r2 = f2; n2 = e2.prev[--t2], e2.prev[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ;\n i2 += f2;\n }\n if (0 === e2.strm.avail_in) break;\n if (a2 = e2.strm, o2 = e2.window, h2 = e2.strstart + e2.lookahead, u2 = i2, l2 = void 0, l2 = a2.avail_in, u2 < l2 && (l2 = u2), r2 = 0 === l2 ? 0 : (a2.avail_in -= l2, c.arraySet(o2, a2.input, a2.next_in, l2, h2), 1 === a2.state.wrap ? a2.adler = d(a2.adler, o2, l2, h2) : 2 === a2.state.wrap && (a2.adler = p(a2.adler, o2, l2, h2)), a2.next_in += l2, a2.total_in += l2, l2), e2.lookahead += r2, e2.lookahead + e2.insert >= x) for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) ;\n } while (e2.lookahead < z && 0 !== e2.strm.avail_in);\n }\n function Z(e2, t2) {\n for (var r2, n2; ; ) {\n if (e2.lookahead < z) {\n if (j(e2), e2.lookahead < z && t2 === l) return A;\n if (0 === e2.lookahead) break;\n }\n if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2)), e2.match_length >= x) if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) {\n for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, 0 != --e2.match_length; ) ;\n e2.strstart++;\n } else e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask;\n else n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++;\n if (n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A;\n }\n return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I;\n }\n function W(e2, t2) {\n for (var r2, n2, i2; ; ) {\n if (e2.lookahead < z) {\n if (j(e2), e2.lookahead < z && t2 === l) return A;\n if (0 === e2.lookahead) break;\n }\n if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (1 === e2.strategy || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) {\n for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 != --e2.prev_length; ) ;\n if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A;\n } else if (e2.match_available) {\n if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out) return A;\n } else e2.match_available = 1, e2.strstart++, e2.lookahead--;\n }\n return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I;\n }\n function M(e2, t2, r2, n2, i2) {\n this.good_length = e2, this.max_lazy = t2, this.nice_length = r2, this.max_chain = n2, this.func = i2;\n }\n function H() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new c.Buf16(2 * w), this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), this.bl_tree = new c.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new c.Buf16(k + 1), this.heap = new c.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new c.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function G(e2) {\n var t2;\n return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t2 = e2.state).pending = 0, t2.pending_out = 0, t2.wrap < 0 && (t2.wrap = -t2.wrap), t2.status = t2.wrap ? C : E, e2.adler = 2 === t2.wrap ? 0 : 1, t2.last_flush = l, u._tr_init(t2), m) : R(e2, _);\n }\n function K(e2) {\n var t2 = G(e2);\n return t2 === m && (function(e3) {\n e3.window_size = 2 * e3.w_size, D(e3.head), e3.max_lazy_match = h[e3.level].max_lazy, e3.good_match = h[e3.level].good_length, e3.nice_match = h[e3.level].nice_length, e3.max_chain_length = h[e3.level].max_chain, e3.strstart = 0, e3.block_start = 0, e3.lookahead = 0, e3.insert = 0, e3.match_length = e3.prev_length = x - 1, e3.match_available = 0, e3.ins_h = 0;\n })(e2.state), t2;\n }\n function Y(e2, t2, r2, n2, i2, s2) {\n if (!e2) return _;\n var a2 = 1;\n if (t2 === g && (t2 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y < i2 || r2 !== v || n2 < 8 || 15 < n2 || t2 < 0 || 9 < t2 || s2 < 0 || b < s2) return R(e2, _);\n 8 === n2 && (n2 = 9);\n var o2 = new H();\n return (e2.state = o2).strm = e2, o2.wrap = a2, o2.gzhead = null, o2.w_bits = n2, o2.w_size = 1 << o2.w_bits, o2.w_mask = o2.w_size - 1, o2.hash_bits = i2 + 7, o2.hash_size = 1 << o2.hash_bits, o2.hash_mask = o2.hash_size - 1, o2.hash_shift = ~~((o2.hash_bits + x - 1) / x), o2.window = new c.Buf8(2 * o2.w_size), o2.head = new c.Buf16(o2.hash_size), o2.prev = new c.Buf16(o2.w_size), o2.lit_bufsize = 1 << i2 + 6, o2.pending_buf_size = 4 * o2.lit_bufsize, o2.pending_buf = new c.Buf8(o2.pending_buf_size), o2.d_buf = 1 * o2.lit_bufsize, o2.l_buf = 3 * o2.lit_bufsize, o2.level = t2, o2.strategy = s2, o2.method = r2, K(e2);\n }\n h = [new M(0, 0, 0, 0, function(e2, t2) {\n var r2 = 65535;\n for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) {\n if (e2.lookahead <= 1) {\n if (j(e2), 0 === e2.lookahead && t2 === l) return A;\n if (0 === e2.lookahead) break;\n }\n e2.strstart += e2.lookahead, e2.lookahead = 0;\n var n2 = e2.block_start + r2;\n if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), 0 === e2.strm.avail_out)) return A;\n if (e2.strstart - e2.block_start >= e2.w_size - z && (N(e2, false), 0 === e2.strm.avail_out)) return A;\n }\n return e2.insert = 0, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A);\n }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function(e2, t2) {\n return Y(e2, t2, v, 15, 8, 0);\n }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function(e2, t2) {\n return e2 && e2.state ? 2 !== e2.state.wrap ? _ : (e2.state.gzhead = t2, m) : _;\n }, r.deflate = function(e2, t2) {\n var r2, n2, i2, s2;\n if (!e2 || !e2.state || 5 < t2 || t2 < 0) return e2 ? R(e2, _) : _;\n if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || 666 === n2.status && t2 !== f) return R(e2, 0 === e2.avail_out ? -5 : _);\n if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t2, n2.status === C) if (2 === n2.wrap) e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E);\n else {\n var a2 = v + (n2.w_bits - 8 << 4) << 8;\n a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), 0 !== n2.strstart && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1;\n }\n if (69 === n2.status) if (n2.gzhead.extra) {\n for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++;\n n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73);\n } else n2.status = 73;\n if (73 === n2.status) if (n2.gzhead.name) {\n i2 = n2.pending;\n do {\n if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) {\n s2 = 1;\n break;\n }\n s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2);\n } while (0 !== s2);\n n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.gzindex = 0, n2.status = 91);\n } else n2.status = 91;\n if (91 === n2.status) if (n2.gzhead.comment) {\n i2 = n2.pending;\n do {\n if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) {\n s2 = 1;\n break;\n }\n s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2);\n } while (0 !== s2);\n n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.status = 103);\n } else n2.status = 103;\n if (103 === n2.status && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), 0 !== n2.pending) {\n if (F(e2), 0 === e2.avail_out) return n2.last_flush = -1, m;\n } else if (0 === e2.avail_in && T(t2) <= T(r2) && t2 !== f) return R(e2, -5);\n if (666 === n2.status && 0 !== e2.avail_in) return R(e2, -5);\n if (0 !== e2.avail_in || 0 !== n2.lookahead || t2 !== l && 666 !== n2.status) {\n var o2 = 2 === n2.strategy ? (function(e3, t3) {\n for (var r3; ; ) {\n if (0 === e3.lookahead && (j(e3), 0 === e3.lookahead)) {\n if (t3 === l) return A;\n break;\n }\n if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A;\n }\n return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I;\n })(n2, t2) : 3 === n2.strategy ? (function(e3, t3) {\n for (var r3, n3, i3, s3, a3 = e3.window; ; ) {\n if (e3.lookahead <= S) {\n if (j(e3), e3.lookahead <= S && t3 === l) return A;\n if (0 === e3.lookahead) break;\n }\n if (e3.match_length = 0, e3.lookahead >= x && 0 < e3.strstart && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) {\n s3 = e3.strstart + S;\n do {\n } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < s3);\n e3.match_length = S - (s3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead);\n }\n if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A;\n }\n return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I;\n })(n2, t2) : h[n2.level].func(n2, t2);\n if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) return 0 === e2.avail_out && (n2.last_flush = -1), m;\n if (o2 === I && (1 === t2 ? u._tr_align(n2) : 5 !== t2 && (u._tr_stored_block(n2, 0, 0, false), 3 === t2 && (D(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F(e2), 0 === e2.avail_out)) return n2.last_flush = -1, m;\n }\n return t2 !== f ? m : n2.wrap <= 0 ? 1 : (2 === n2.wrap ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), 0 !== n2.pending ? m : 1);\n }, r.deflateEnd = function(e2) {\n var t2;\n return e2 && e2.state ? (t2 = e2.state.status) !== C && 69 !== t2 && 73 !== t2 && 91 !== t2 && 103 !== t2 && t2 !== E && 666 !== t2 ? R(e2, _) : (e2.state = null, t2 === E ? R(e2, -3) : m) : _;\n }, r.deflateSetDictionary = function(e2, t2) {\n var r2, n2, i2, s2, a2, o2, h2, u2, l2 = t2.length;\n if (!e2 || !e2.state) return _;\n if (2 === (s2 = (r2 = e2.state).wrap) || 1 === s2 && r2.status !== C || r2.lookahead) return _;\n for (1 === s2 && (e2.adler = d(e2.adler, t2, l2, 0)), r2.wrap = 0, l2 >= r2.w_size && (0 === s2 && (D(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c.Buf8(r2.w_size), c.arraySet(u2, t2, l2 - r2.w_size, r2.w_size, 0), t2 = u2, l2 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h2 = e2.input, e2.avail_in = l2, e2.next_in = 0, e2.input = t2, j(r2); r2.lookahead >= x; ) {\n for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) ;\n r2.strstart = n2, r2.lookahead = x - 1, j(r2);\n }\n return r2.strstart += r2.lookahead, r2.block_start = r2.strstart, r2.insert = r2.lookahead, r2.lookahead = 0, r2.match_length = r2.prev_length = x - 1, r2.match_available = 0, e2.next_in = o2, e2.input = h2, e2.avail_in = a2, r2.wrap = s2, m;\n }, r.deflateInfo = \"pako deflate (from Nodeca project)\";\n }, { \"../utils/common\": 41, \"./adler32\": 43, \"./crc32\": 45, \"./messages\": 51, \"./trees\": 52 }], 47: [function(e, t, r) {\n t.exports = function() {\n this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = \"\", this.comment = \"\", this.hcrc = 0, this.done = false;\n };\n }, {}], 48: [function(e, t, r) {\n t.exports = function(e2, t2) {\n var r2, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C;\n r2 = e2.state, n = e2.next_in, z = e2.input, i = n + (e2.avail_in - 5), s = e2.next_out, C = e2.output, a = s - (t2 - e2.avail_out), o = s + (e2.avail_out - 257), h = r2.dmax, u = r2.wsize, l = r2.whave, f = r2.wnext, c = r2.window, d = r2.hold, p = r2.bits, m = r2.lencode, _ = r2.distcode, g = (1 << r2.lenbits) - 1, b = (1 << r2.distbits) - 1;\n e: do {\n p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g];\n t: for (; ; ) {\n if (d >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v;\n else {\n if (!(16 & y)) {\n if (0 == (64 & y)) {\n v = m[(65535 & v) + (d & (1 << y) - 1)];\n continue t;\n }\n if (32 & y) {\n r2.mode = 12;\n break e;\n }\n e2.msg = \"invalid literal/length code\", r2.mode = 30;\n break e;\n }\n w = 65535 & v, (y &= 15) && (p < y && (d += z[n++] << p, p += 8), w += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b];\n r: for (; ; ) {\n if (d >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) {\n if (0 == (64 & y)) {\n v = _[(65535 & v) + (d & (1 << y) - 1)];\n continue r;\n }\n e2.msg = \"invalid distance code\", r2.mode = 30;\n break e;\n }\n if (k = 65535 & v, p < (y &= 15) && (d += z[n++] << p, (p += 8) < y && (d += z[n++] << p, p += 8)), h < (k += d & (1 << y) - 1)) {\n e2.msg = \"invalid distance too far back\", r2.mode = 30;\n break e;\n }\n if (d >>>= y, p -= y, (y = s - a) < k) {\n if (l < (y = k - y) && r2.sane) {\n e2.msg = \"invalid distance too far back\", r2.mode = 30;\n break e;\n }\n if (S = c, (x = 0) === f) {\n if (x += u - y, y < w) {\n for (w -= y; C[s++] = c[x++], --y; ) ;\n x = s - k, S = C;\n }\n } else if (f < y) {\n if (x += u + f - y, (y -= f) < w) {\n for (w -= y; C[s++] = c[x++], --y; ) ;\n if (x = 0, f < w) {\n for (w -= y = f; C[s++] = c[x++], --y; ) ;\n x = s - k, S = C;\n }\n }\n } else if (x += f - y, y < w) {\n for (w -= y; C[s++] = c[x++], --y; ) ;\n x = s - k, S = C;\n }\n for (; 2 < w; ) C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3;\n w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++]));\n } else {\n for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3); ) ;\n w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++]));\n }\n break;\n }\n }\n break;\n }\n } while (n < i && s < o);\n n -= w = p >> 3, d &= (1 << (p -= w << 3)) - 1, e2.next_in = n, e2.next_out = s, e2.avail_in = n < i ? i - n + 5 : 5 - (n - i), e2.avail_out = s < o ? o - s + 257 : 257 - (s - o), r2.hold = d, r2.bits = p;\n };\n }, {}], 49: [function(e, t, r) {\n var I = e(\"../utils/common\"), O = e(\"./adler32\"), B = e(\"./crc32\"), R = e(\"./inffast\"), T = e(\"./inftrees\"), D = 1, F = 2, N = 0, U = -2, P = 1, n = 852, i = 592;\n function L(e2) {\n return (e2 >>> 24 & 255) + (e2 >>> 8 & 65280) + ((65280 & e2) << 8) + ((255 & e2) << 24);\n }\n function s() {\n this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function a(e2) {\n var t2;\n return e2 && e2.state ? (t2 = e2.state, e2.total_in = e2.total_out = t2.total = 0, e2.msg = \"\", t2.wrap && (e2.adler = 1 & t2.wrap), t2.mode = P, t2.last = 0, t2.havedict = 0, t2.dmax = 32768, t2.head = null, t2.hold = 0, t2.bits = 0, t2.lencode = t2.lendyn = new I.Buf32(n), t2.distcode = t2.distdyn = new I.Buf32(i), t2.sane = 1, t2.back = -1, N) : U;\n }\n function o(e2) {\n var t2;\n return e2 && e2.state ? ((t2 = e2.state).wsize = 0, t2.whave = 0, t2.wnext = 0, a(e2)) : U;\n }\n function h(e2, t2) {\n var r2, n2;\n return e2 && e2.state ? (n2 = e2.state, t2 < 0 ? (r2 = 0, t2 = -t2) : (r2 = 1 + (t2 >> 4), t2 < 48 && (t2 &= 15)), t2 && (t2 < 8 || 15 < t2) ? U : (null !== n2.window && n2.wbits !== t2 && (n2.window = null), n2.wrap = r2, n2.wbits = t2, o(e2))) : U;\n }\n function u(e2, t2) {\n var r2, n2;\n return e2 ? (n2 = new s(), (e2.state = n2).window = null, (r2 = h(e2, t2)) !== N && (e2.state = null), r2) : U;\n }\n var l, f, c = true;\n function j(e2) {\n if (c) {\n var t2;\n for (l = new I.Buf32(512), f = new I.Buf32(32), t2 = 0; t2 < 144; ) e2.lens[t2++] = 8;\n for (; t2 < 256; ) e2.lens[t2++] = 9;\n for (; t2 < 280; ) e2.lens[t2++] = 7;\n for (; t2 < 288; ) e2.lens[t2++] = 8;\n for (T(D, e2.lens, 0, 288, l, 0, e2.work, { bits: 9 }), t2 = 0; t2 < 32; ) e2.lens[t2++] = 5;\n T(F, e2.lens, 0, 32, f, 0, e2.work, { bits: 5 }), c = false;\n }\n e2.lencode = l, e2.lenbits = 9, e2.distcode = f, e2.distbits = 5;\n }\n function Z(e2, t2, r2, n2) {\n var i2, s2 = e2.state;\n return null === s2.window && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t2, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t2, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t2, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0;\n }\n r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function(e2) {\n return u(e2, 15);\n }, r.inflateInit2 = u, r.inflate = function(e2, t2) {\n var r2, n2, i2, s2, a2, o2, h2, u2, l2, f2, c2, d, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in) return U;\n 12 === (r2 = e2.state).mode && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, f2 = o2, c2 = h2, x = N;\n e: for (; ; ) switch (r2.mode) {\n case P:\n if (0 === r2.wrap) {\n r2.mode = 13;\n break;\n }\n for (; l2 < 16; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (2 & r2.wrap && 35615 === u2) {\n E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l2 = u2 = 0, r2.mode = 2;\n break;\n }\n if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) {\n e2.msg = \"incorrect header check\", r2.mode = 30;\n break;\n }\n if (8 != (15 & u2)) {\n e2.msg = \"unknown compression method\", r2.mode = 30;\n break;\n }\n if (l2 -= 4, k = 8 + (15 & (u2 >>>= 4)), 0 === r2.wbits) r2.wbits = k;\n else if (k > r2.wbits) {\n e2.msg = \"invalid window size\", r2.mode = 30;\n break;\n }\n r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l2 = u2 = 0;\n break;\n case 2:\n for (; l2 < 16; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (r2.flags = u2, 8 != (255 & r2.flags)) {\n e2.msg = \"unknown compression method\", r2.mode = 30;\n break;\n }\n if (57344 & r2.flags) {\n e2.msg = \"unknown header flags set\", r2.mode = 30;\n break;\n }\n r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 3;\n case 3:\n for (; l2 < 32; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l2 = u2 = 0, r2.mode = 4;\n case 4:\n for (; l2 < 16; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 5;\n case 5:\n if (1024 & r2.flags) {\n for (; l2 < 16; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0;\n } else r2.head && (r2.head.extra = null);\n r2.mode = 6;\n case 6:\n if (1024 & r2.flags && (o2 < (d = r2.length) && (d = o2), d && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, r2.length -= d), r2.length)) break e;\n r2.length = 0, r2.mode = 7;\n case 7:\n if (2048 & r2.flags) {\n if (0 === o2) break e;\n for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d < o2; ) ;\n if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e;\n } else r2.head && (r2.head.name = null);\n r2.length = 0, r2.mode = 8;\n case 8:\n if (4096 & r2.flags) {\n if (0 === o2) break e;\n for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d < o2; ) ;\n if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e;\n } else r2.head && (r2.head.comment = null);\n r2.mode = 9;\n case 9:\n if (512 & r2.flags) {\n for (; l2 < 16; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (u2 !== (65535 & r2.check)) {\n e2.msg = \"header crc mismatch\", r2.mode = 30;\n break;\n }\n l2 = u2 = 0;\n }\n r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12;\n break;\n case 10:\n for (; l2 < 32; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n e2.adler = r2.check = L(u2), l2 = u2 = 0, r2.mode = 11;\n case 11:\n if (0 === r2.havedict) return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, 2;\n e2.adler = r2.check = 1, r2.mode = 12;\n case 12:\n if (5 === t2 || 6 === t2) break e;\n case 13:\n if (r2.last) {\n u2 >>>= 7 & l2, l2 -= 7 & l2, r2.mode = 27;\n break;\n }\n for (; l2 < 3; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n switch (r2.last = 1 & u2, l2 -= 1, 3 & (u2 >>>= 1)) {\n case 0:\n r2.mode = 14;\n break;\n case 1:\n if (j(r2), r2.mode = 20, 6 !== t2) break;\n u2 >>>= 2, l2 -= 2;\n break e;\n case 2:\n r2.mode = 17;\n break;\n case 3:\n e2.msg = \"invalid block type\", r2.mode = 30;\n }\n u2 >>>= 2, l2 -= 2;\n break;\n case 14:\n for (u2 >>>= 7 & l2, l2 -= 7 & l2; l2 < 32; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if ((65535 & u2) != (u2 >>> 16 ^ 65535)) {\n e2.msg = \"invalid stored block lengths\", r2.mode = 30;\n break;\n }\n if (r2.length = 65535 & u2, l2 = u2 = 0, r2.mode = 15, 6 === t2) break e;\n case 15:\n r2.mode = 16;\n case 16:\n if (d = r2.length) {\n if (o2 < d && (d = o2), h2 < d && (d = h2), 0 === d) break e;\n I.arraySet(i2, n2, s2, d, a2), o2 -= d, s2 += d, h2 -= d, a2 += d, r2.length -= d;\n break;\n }\n r2.mode = 12;\n break;\n case 17:\n for (; l2 < 14; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l2 -= 4, 286 < r2.nlen || 30 < r2.ndist) {\n e2.msg = \"too many length or distance symbols\", r2.mode = 30;\n break;\n }\n r2.have = 0, r2.mode = 18;\n case 18:\n for (; r2.have < r2.ncode; ) {\n for (; l2 < 3; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l2 -= 3;\n }\n for (; r2.have < 19; ) r2.lens[A[r2.have++]] = 0;\n if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) {\n e2.msg = \"invalid code lengths set\", r2.mode = 30;\n break;\n }\n r2.have = 0, r2.mode = 19;\n case 19:\n for (; r2.have < r2.nlen + r2.ndist; ) {\n for (; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (b < 16) u2 >>>= _, l2 -= _, r2.lens[r2.have++] = b;\n else {\n if (16 === b) {\n for (z = _ + 2; l2 < z; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (u2 >>>= _, l2 -= _, 0 === r2.have) {\n e2.msg = \"invalid bit length repeat\", r2.mode = 30;\n break;\n }\n k = r2.lens[r2.have - 1], d = 3 + (3 & u2), u2 >>>= 2, l2 -= 2;\n } else if (17 === b) {\n for (z = _ + 3; l2 < z; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n l2 -= _, k = 0, d = 3 + (7 & (u2 >>>= _)), u2 >>>= 3, l2 -= 3;\n } else {\n for (z = _ + 7; l2 < z; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n l2 -= _, k = 0, d = 11 + (127 & (u2 >>>= _)), u2 >>>= 7, l2 -= 7;\n }\n if (r2.have + d > r2.nlen + r2.ndist) {\n e2.msg = \"invalid bit length repeat\", r2.mode = 30;\n break;\n }\n for (; d--; ) r2.lens[r2.have++] = k;\n }\n }\n if (30 === r2.mode) break;\n if (0 === r2.lens[256]) {\n e2.msg = \"invalid code -- missing end-of-block\", r2.mode = 30;\n break;\n }\n if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) {\n e2.msg = \"invalid literal/lengths set\", r2.mode = 30;\n break;\n }\n if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) {\n e2.msg = \"invalid distances set\", r2.mode = 30;\n break;\n }\n if (r2.mode = 20, 6 === t2) break e;\n case 20:\n r2.mode = 21;\n case 21:\n if (6 <= o2 && 258 <= h2) {\n e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, R(e2, c2), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, 12 === r2.mode && (r2.back = -1);\n break;\n }\n for (r2.back = 0; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (g && 0 == (240 & g)) {\n for (v = _, y = g, w = b; g = (C = r2.lencode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n u2 >>>= v, l2 -= v, r2.back += v;\n }\n if (u2 >>>= _, l2 -= _, r2.back += _, r2.length = b, 0 === g) {\n r2.mode = 26;\n break;\n }\n if (32 & g) {\n r2.back = -1, r2.mode = 12;\n break;\n }\n if (64 & g) {\n e2.msg = \"invalid literal/length code\", r2.mode = 30;\n break;\n }\n r2.extra = 15 & g, r2.mode = 22;\n case 22:\n if (r2.extra) {\n for (z = r2.extra; l2 < z; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra;\n }\n r2.was = r2.length, r2.mode = 23;\n case 23:\n for (; g = (C = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (0 == (240 & g)) {\n for (v = _, y = g, w = b; g = (C = r2.distcode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n u2 >>>= v, l2 -= v, r2.back += v;\n }\n if (u2 >>>= _, l2 -= _, r2.back += _, 64 & g) {\n e2.msg = \"invalid distance code\", r2.mode = 30;\n break;\n }\n r2.offset = b, r2.extra = 15 & g, r2.mode = 24;\n case 24:\n if (r2.extra) {\n for (z = r2.extra; l2 < z; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra;\n }\n if (r2.offset > r2.dmax) {\n e2.msg = \"invalid distance too far back\", r2.mode = 30;\n break;\n }\n r2.mode = 25;\n case 25:\n if (0 === h2) break e;\n if (d = c2 - h2, r2.offset > d) {\n if ((d = r2.offset - d) > r2.whave && r2.sane) {\n e2.msg = \"invalid distance too far back\", r2.mode = 30;\n break;\n }\n p = d > r2.wnext ? (d -= r2.wnext, r2.wsize - d) : r2.wnext - d, d > r2.length && (d = r2.length), m = r2.window;\n } else m = i2, p = a2 - r2.offset, d = r2.length;\n for (h2 < d && (d = h2), h2 -= d, r2.length -= d; i2[a2++] = m[p++], --d; ) ;\n 0 === r2.length && (r2.mode = 21);\n break;\n case 26:\n if (0 === h2) break e;\n i2[a2++] = r2.length, h2--, r2.mode = 21;\n break;\n case 27:\n if (r2.wrap) {\n for (; l2 < 32; ) {\n if (0 === o2) break e;\n o2--, u2 |= n2[s2++] << l2, l2 += 8;\n }\n if (c2 -= h2, e2.total_out += c2, r2.total += c2, c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, a2 - c2) : O(r2.check, i2, c2, a2 - c2)), c2 = h2, (r2.flags ? u2 : L(u2)) !== r2.check) {\n e2.msg = \"incorrect data check\", r2.mode = 30;\n break;\n }\n l2 = u2 = 0;\n }\n r2.mode = 28;\n case 28:\n if (r2.wrap && r2.flags) {\n for (; l2 < 32; ) {\n if (0 === o2) break e;\n o2--, u2 += n2[s2++] << l2, l2 += 8;\n }\n if (u2 !== (4294967295 & r2.total)) {\n e2.msg = \"incorrect length check\", r2.mode = 30;\n break;\n }\n l2 = u2 = 0;\n }\n r2.mode = 29;\n case 29:\n x = 1;\n break e;\n case 30:\n x = -3;\n break e;\n case 31:\n return -4;\n case 32:\n default:\n return U;\n }\n return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, (r2.wsize || c2 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || 4 !== t2)) && Z(e2, e2.output, e2.next_out, c2 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c2 -= e2.avail_out, e2.total_in += f2, e2.total_out += c2, r2.total += c2, r2.wrap && c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, e2.next_out - c2) : O(r2.check, i2, c2, e2.next_out - c2)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (12 === r2.mode ? 128 : 0) + (20 === r2.mode || 15 === r2.mode ? 256 : 0), (0 == f2 && 0 === c2 || 4 === t2) && x === N && (x = -5), x);\n }, r.inflateEnd = function(e2) {\n if (!e2 || !e2.state) return U;\n var t2 = e2.state;\n return t2.window && (t2.window = null), e2.state = null, N;\n }, r.inflateGetHeader = function(e2, t2) {\n var r2;\n return e2 && e2.state ? 0 == (2 & (r2 = e2.state).wrap) ? U : ((r2.head = t2).done = false, N) : U;\n }, r.inflateSetDictionary = function(e2, t2) {\n var r2, n2 = t2.length;\n return e2 && e2.state ? 0 !== (r2 = e2.state).wrap && 11 !== r2.mode ? U : 11 === r2.mode && O(1, t2, n2, 0) !== r2.check ? -3 : Z(e2, t2, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U;\n }, r.inflateInfo = \"pako inflate (from Nodeca project)\";\n }, { \"../utils/common\": 41, \"./adler32\": 43, \"./crc32\": 45, \"./inffast\": 48, \"./inftrees\": 50 }], 50: [function(e, t, r) {\n var D = e(\"../utils/common\"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];\n t.exports = function(e2, t2, r2, n, i, s, a, o) {\n var h, u, l, f, c, d, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0;\n for (b = 0; b <= 15; b++) O[b] = 0;\n for (v = 0; v < n; v++) O[t2[r2 + v]]++;\n for (k = g, w = 15; 1 <= w && 0 === O[w]; w--) ;\n if (w < k && (k = w), 0 === w) return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0;\n for (y = 1; y < w && 0 === O[y]; y++) ;\n for (k < y && (k = y), b = z = 1; b <= 15; b++) if (z <<= 1, (z -= O[b]) < 0) return -1;\n if (0 < z && (0 === e2 || 1 !== w)) return -1;\n for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b];\n for (v = 0; v < n; v++) 0 !== t2[r2 + v] && (a[B[t2[r2 + v]]++] = v);\n if (d = 0 === e2 ? (A = R = a, 19) : 1 === e2 ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, c = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1;\n for (; ; ) {\n for (p = b - S, _ = a[v] < d ? (m = 0, a[v]) : a[v] > d ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u; ) ;\n for (h = 1 << b - 1; E & h; ) h >>= 1;\n if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) {\n if (b === w) break;\n b = t2[r2 + a[v]];\n }\n if (k < b && (E & f) !== l) {\n for (0 === S && (S = k), c += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0); ) x++, z <<= 1;\n if (C += 1 << x, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1;\n i[l = E & f] = k << 24 | x << 16 | c - s | 0;\n }\n }\n return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0;\n };\n }, { \"../utils/common\": 41 }], 51: [function(e, t, r) {\n t.exports = { 2: \"need dictionary\", 1: \"stream end\", 0: \"\", \"-1\": \"file error\", \"-2\": \"stream error\", \"-3\": \"data error\", \"-4\": \"insufficient memory\", \"-5\": \"buffer error\", \"-6\": \"incompatible version\" };\n }, {}], 52: [function(e, t, r) {\n var i = e(\"../utils/common\"), o = 0, h = 1;\n function n(e2) {\n for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0;\n }\n var s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, c = 19, _ = 2 * l + 1, g = 15, d = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l + 2));\n n(z);\n var C = new Array(2 * f);\n n(C);\n var E = new Array(512);\n n(E);\n var A = new Array(256);\n n(A);\n var I = new Array(a);\n n(I);\n var O, B, R, T = new Array(f);\n function D(e2, t2, r2, n2, i2) {\n this.static_tree = e2, this.extra_bits = t2, this.extra_base = r2, this.elems = n2, this.max_length = i2, this.has_stree = e2 && e2.length;\n }\n function F(e2, t2) {\n this.dyn_tree = e2, this.max_code = 0, this.stat_desc = t2;\n }\n function N(e2) {\n return e2 < 256 ? E[e2] : E[256 + (e2 >>> 7)];\n }\n function U(e2, t2) {\n e2.pending_buf[e2.pending++] = 255 & t2, e2.pending_buf[e2.pending++] = t2 >>> 8 & 255;\n }\n function P(e2, t2, r2) {\n e2.bi_valid > d - r2 ? (e2.bi_buf |= t2 << e2.bi_valid & 65535, U(e2, e2.bi_buf), e2.bi_buf = t2 >> d - e2.bi_valid, e2.bi_valid += r2 - d) : (e2.bi_buf |= t2 << e2.bi_valid & 65535, e2.bi_valid += r2);\n }\n function L(e2, t2, r2) {\n P(e2, r2[2 * t2], r2[2 * t2 + 1]);\n }\n function j(e2, t2) {\n for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t2; ) ;\n return r2 >>> 1;\n }\n function Z(e2, t2, r2) {\n var n2, i2, s2 = new Array(g + 1), a2 = 0;\n for (n2 = 1; n2 <= g; n2++) s2[n2] = a2 = a2 + r2[n2 - 1] << 1;\n for (i2 = 0; i2 <= t2; i2++) {\n var o2 = e2[2 * i2 + 1];\n 0 !== o2 && (e2[2 * i2] = j(s2[o2]++, o2));\n }\n }\n function W(e2) {\n var t2;\n for (t2 = 0; t2 < l; t2++) e2.dyn_ltree[2 * t2] = 0;\n for (t2 = 0; t2 < f; t2++) e2.dyn_dtree[2 * t2] = 0;\n for (t2 = 0; t2 < c; t2++) e2.bl_tree[2 * t2] = 0;\n e2.dyn_ltree[2 * m] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0;\n }\n function M(e2) {\n 8 < e2.bi_valid ? U(e2, e2.bi_buf) : 0 < e2.bi_valid && (e2.pending_buf[e2.pending++] = e2.bi_buf), e2.bi_buf = 0, e2.bi_valid = 0;\n }\n function H(e2, t2, r2, n2) {\n var i2 = 2 * t2, s2 = 2 * r2;\n return e2[i2] < e2[s2] || e2[i2] === e2[s2] && n2[t2] <= n2[r2];\n }\n function G(e2, t2, r2) {\n for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H(t2, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H(t2, n2, e2.heap[i2], e2.depth)); ) e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1;\n e2.heap[r2] = n2;\n }\n function K(e2, t2, r2) {\n var n2, i2, s2, a2, o2 = 0;\n if (0 !== e2.last_lit) for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, 0 === n2 ? L(e2, i2, t2) : (L(e2, (s2 = A[i2]) + u + 1, t2), 0 !== (a2 = w[s2]) && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), 0 !== (a2 = k[s2]) && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) ;\n L(e2, m, t2);\n }\n function Y(e2, t2) {\n var r2, n2, i2, s2 = t2.dyn_tree, a2 = t2.stat_desc.static_tree, o2 = t2.stat_desc.has_stree, h2 = t2.stat_desc.elems, u2 = -1;\n for (e2.heap_len = 0, e2.heap_max = _, r2 = 0; r2 < h2; r2++) 0 !== s2[2 * r2] ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0;\n for (; e2.heap_len < 2; ) s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]);\n for (t2.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) G(e2, s2, r2);\n for (i2 = h2; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G(e2, s2, 1), 2 <= e2.heap_len; ) ;\n e2.heap[--e2.heap_max] = e2.heap[1], (function(e3, t3) {\n var r3, n3, i3, s3, a3, o3, h3 = t3.dyn_tree, u3 = t3.max_code, l2 = t3.stat_desc.static_tree, f2 = t3.stat_desc.has_stree, c2 = t3.stat_desc.extra_bits, d2 = t3.stat_desc.extra_base, p2 = t3.stat_desc.max_length, m2 = 0;\n for (s3 = 0; s3 <= g; s3++) e3.bl_count[s3] = 0;\n for (h3[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _; r3++) p2 < (s3 = h3[2 * h3[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h3[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d2 <= n3 && (a3 = c2[n3 - d2]), o3 = h3[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l2[2 * n3 + 1] + a3)));\n if (0 !== m2) {\n do {\n for (s3 = p2 - 1; 0 === e3.bl_count[s3]; ) s3--;\n e3.bl_count[s3]--, e3.bl_count[s3 + 1] += 2, e3.bl_count[p2]--, m2 -= 2;\n } while (0 < m2);\n for (s3 = p2; 0 !== s3; s3--) for (n3 = e3.bl_count[s3]; 0 !== n3; ) u3 < (i3 = e3.heap[--r3]) || (h3[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h3[2 * i3 + 1]) * h3[2 * i3], h3[2 * i3 + 1] = s3), n3--);\n }\n })(e2, t2), Z(s2, u2, e2.bl_count);\n }\n function X(e2, t2, r2) {\n var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4;\n for (0 === a2 && (h2 = 138, u2 = 3), t2[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) i2 = a2, a2 = t2[2 * (n2 + 1) + 1], ++o2 < h2 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : 0 !== i2 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4));\n }\n function V(e2, t2, r2) {\n var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4;\n for (0 === a2 && (h2 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) if (i2 = a2, a2 = t2[2 * (n2 + 1) + 1], !(++o2 < h2 && i2 === a2)) {\n if (o2 < u2) for (; L(e2, i2, e2.bl_tree), 0 != --o2; ) ;\n else 0 !== i2 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y, e2.bl_tree), P(e2, o2 - 11, 7));\n s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4);\n }\n }\n n(T);\n var q = false;\n function J(e2, t2, r2, n2) {\n P(e2, (s << 1) + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) {\n M(e3), U(e3, r3), U(e3, ~r3), i.arraySet(e3.pending_buf, e3.window, t3, r3, e3.pending), e3.pending += r3;\n })(e2, t2, r2);\n }\n r._tr_init = function(e2) {\n q || ((function() {\n var e3, t2, r2, n2, i2, s2 = new Array(g + 1);\n for (n2 = r2 = 0; n2 < a - 1; n2++) for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) A[r2++] = n2;\n for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) E[i2++] = n2;\n for (i2 >>= 7; n2 < f; n2++) for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) E[256 + i2++] = n2;\n for (t2 = 0; t2 <= g; t2++) s2[t2] = 0;\n for (e3 = 0; e3 <= 143; ) z[2 * e3 + 1] = 8, e3++, s2[8]++;\n for (; e3 <= 255; ) z[2 * e3 + 1] = 9, e3++, s2[9]++;\n for (; e3 <= 279; ) z[2 * e3 + 1] = 7, e3++, s2[7]++;\n for (; e3 <= 287; ) z[2 * e3 + 1] = 8, e3++, s2[8]++;\n for (Z(z, l + 1, s2), e3 = 0; e3 < f; e3++) C[2 * e3 + 1] = 5, C[2 * e3] = j(e3, 5);\n O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, c, p);\n })(), q = true), e2.l_desc = new F(e2.dyn_ltree, O), e2.d_desc = new F(e2.dyn_dtree, B), e2.bl_desc = new F(e2.bl_tree, R), e2.bi_buf = 0, e2.bi_valid = 0, W(e2);\n }, r._tr_stored_block = J, r._tr_flush_block = function(e2, t2, r2, n2) {\n var i2, s2, a2 = 0;\n 0 < e2.level ? (2 === e2.strm.data_type && (e2.strm.data_type = (function(e3) {\n var t3, r3 = 4093624447;\n for (t3 = 0; t3 <= 31; t3++, r3 >>>= 1) if (1 & r3 && 0 !== e3.dyn_ltree[2 * t3]) return o;\n if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26]) return h;\n for (t3 = 32; t3 < u; t3++) if (0 !== e3.dyn_ltree[2 * t3]) return h;\n return o;\n })(e2)), Y(e2, e2.l_desc), Y(e2, e2.d_desc), a2 = (function(e3) {\n var t3;\n for (X(e3, e3.dyn_ltree, e3.l_desc.max_code), X(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t3 = c - 1; 3 <= t3 && 0 === e3.bl_tree[2 * S[t3] + 1]; t3--) ;\n return e3.opt_len += 3 * (t3 + 1) + 5 + 5 + 4, t3;\n })(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && -1 !== t2 ? J(e2, t2, r2, n2) : 4 === e2.strategy || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K(e2, z, C)) : (P(e2, 4 + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) {\n var i3;\n for (P(e3, t3 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) P(e3, e3.bl_tree[2 * S[i3] + 1], 3);\n V(e3, e3.dyn_ltree, t3 - 1), V(e3, e3.dyn_dtree, r3 - 1);\n })(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), K(e2, e2.dyn_ltree, e2.dyn_dtree)), W(e2), n2 && M(e2);\n }, r._tr_tally = function(e2, t2, r2) {\n return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t2 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t2, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t2 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t2--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t2)]++), e2.last_lit === e2.lit_bufsize - 1;\n }, r._tr_align = function(e2) {\n P(e2, 2, 3), L(e2, m, z), (function(e3) {\n 16 === e3.bi_valid ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8);\n })(e2);\n };\n }, { \"../utils/common\": 41 }], 53: [function(e, t, r) {\n t.exports = function() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n };\n }, {}], 54: [function(e, t, r) {\n (function(e2) {\n !(function(r2, n) {\n if (!r2.setImmediate) {\n var i, s, t2, a, o = 1, h = {}, u = false, l = r2.document, e3 = Object.getPrototypeOf && Object.getPrototypeOf(r2);\n e3 = e3 && e3.setTimeout ? e3 : r2, i = \"[object process]\" === {}.toString.call(r2.process) ? function(e4) {\n process$1.nextTick(function() {\n c(e4);\n });\n } : (function() {\n if (r2.postMessage && !r2.importScripts) {\n var e4 = true, t3 = r2.onmessage;\n return r2.onmessage = function() {\n e4 = false;\n }, r2.postMessage(\"\", \"*\"), r2.onmessage = t3, e4;\n }\n })() ? (a = \"setImmediate$\" + Math.random() + \"$\", r2.addEventListener ? r2.addEventListener(\"message\", d, false) : r2.attachEvent(\"onmessage\", d), function(e4) {\n r2.postMessage(a + e4, \"*\");\n }) : r2.MessageChannel ? ((t2 = new MessageChannel()).port1.onmessage = function(e4) {\n c(e4.data);\n }, function(e4) {\n t2.port2.postMessage(e4);\n }) : l && \"onreadystatechange\" in l.createElement(\"script\") ? (s = l.documentElement, function(e4) {\n var t3 = l.createElement(\"script\");\n t3.onreadystatechange = function() {\n c(e4), t3.onreadystatechange = null, s.removeChild(t3), t3 = null;\n }, s.appendChild(t3);\n }) : function(e4) {\n setTimeout(c, 0, e4);\n }, e3.setImmediate = function(e4) {\n \"function\" != typeof e4 && (e4 = new Function(\"\" + e4));\n for (var t3 = new Array(arguments.length - 1), r3 = 0; r3 < t3.length; r3++) t3[r3] = arguments[r3 + 1];\n var n2 = { callback: e4, args: t3 };\n return h[o] = n2, i(o), o++;\n }, e3.clearImmediate = f;\n }\n function f(e4) {\n delete h[e4];\n }\n function c(e4) {\n if (u) setTimeout(c, 0, e4);\n else {\n var t3 = h[e4];\n if (t3) {\n u = true;\n try {\n !(function(e5) {\n var t4 = e5.callback, r3 = e5.args;\n switch (r3.length) {\n case 0:\n t4();\n break;\n case 1:\n t4(r3[0]);\n break;\n case 2:\n t4(r3[0], r3[1]);\n break;\n case 3:\n t4(r3[0], r3[1], r3[2]);\n break;\n default:\n t4.apply(n, r3);\n }\n })(t3);\n } finally {\n f(e4), u = false;\n }\n }\n }\n }\n function d(e4) {\n e4.source === r2 && \"string\" == typeof e4.data && 0 === e4.data.indexOf(a) && c(+e4.data.slice(a.length));\n }\n })(\"undefined\" == typeof self ? void 0 === e2 ? this : e2 : self);\n }).call(this, \"undefined\" != typeof commonjsGlobal ? commonjsGlobal : \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {});\n }, {}] }, {}, [10])(10);\n });\n })(jszip_min);\n return jszip_min.exports;\n}\nvar jszip_minExports = requireJszip_min();\nconst JSZip = /* @__PURE__ */ getDefaultExportFromCjs$1(jszip_minExports);\nvar xml$1 = { exports: {} };\nvar escapeForXML_1;\nvar hasRequiredEscapeForXML;\nfunction requireEscapeForXML() {\n if (hasRequiredEscapeForXML) return escapeForXML_1;\n hasRequiredEscapeForXML = 1;\n var XML_CHARACTER_MAP = {\n \"&\": \"&amp;\",\n '\"': \"&quot;\",\n \"'\": \"&apos;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\"\n };\n function escapeForXML(string) {\n return string && string.replace ? string.replace(/([&\"<>'])/g, function(str, item) {\n return XML_CHARACTER_MAP[item];\n }) : string;\n }\n escapeForXML_1 = escapeForXML;\n return escapeForXML_1;\n}\nvar hasRequiredXml;\nfunction requireXml() {\n if (hasRequiredXml) return xml$1.exports;\n hasRequiredXml = 1;\n var escapeForXML = requireEscapeForXML();\n var Stream = requireStreamBrowserify().Stream;\n var DEFAULT_INDENT = \" \";\n function xml2(input, options) {\n if (typeof options !== \"object\") {\n options = {\n indent: options\n };\n }\n var stream = options.stream ? new Stream() : null, output = \"\", interrupted = false, indent = !options.indent ? \"\" : options.indent === true ? DEFAULT_INDENT : options.indent, instant = true;\n function delay(func) {\n if (!instant) {\n func();\n } else {\n process$1.nextTick(func);\n }\n }\n function append(interrupt, out) {\n if (out !== void 0) {\n output += out;\n }\n if (interrupt && !interrupted) {\n stream = stream || new Stream();\n interrupted = true;\n }\n if (interrupt && interrupted) {\n var data = output;\n delay(function() {\n stream.emit(\"data\", data);\n });\n output = \"\";\n }\n }\n function add(value, last) {\n format(append, resolve(value, indent, indent ? 1 : 0), last);\n }\n function end() {\n if (stream) {\n var data = output;\n delay(function() {\n stream.emit(\"data\", data);\n stream.emit(\"end\");\n stream.readable = false;\n stream.emit(\"close\");\n });\n }\n }\n function addXmlDeclaration(declaration) {\n var encoding = declaration.encoding || \"UTF-8\", attr = { version: \"1.0\", encoding };\n if (declaration.standalone) {\n attr.standalone = declaration.standalone;\n }\n add({ \"?xml\": { _attr: attr } });\n output = output.replace(\"/>\", \"?>\");\n }\n delay(function() {\n instant = false;\n });\n if (options.declaration) {\n addXmlDeclaration(options.declaration);\n }\n if (input && input.forEach) {\n input.forEach(function(value, i) {\n var last;\n if (i + 1 === input.length)\n last = end;\n add(value, last);\n });\n } else {\n add(input, end);\n }\n if (stream) {\n stream.readable = true;\n return stream;\n }\n return output;\n }\n function element() {\n var input = Array.prototype.slice.call(arguments), self2 = {\n _elem: resolve(input)\n };\n self2.push = function(input2) {\n if (!this.append) {\n throw new Error(\"not assigned to a parent!\");\n }\n var that = this;\n var indent = this._elem.indent;\n format(\n this.append,\n resolve(\n input2,\n indent,\n this._elem.icount + (indent ? 1 : 0)\n ),\n function() {\n that.append(true);\n }\n );\n };\n self2.close = function(input2) {\n if (input2 !== void 0) {\n this.push(input2);\n }\n if (this.end) {\n this.end();\n }\n };\n return self2;\n }\n function create_indent(character, count) {\n return new Array(count || 0).join(character || \"\");\n }\n function resolve(data, indent, indent_count) {\n indent_count = indent_count || 0;\n var indent_spaces = create_indent(indent, indent_count);\n var name;\n var values = data;\n var interrupt = false;\n if (typeof data === \"object\") {\n var keys = Object.keys(data);\n name = keys[0];\n values = data[name];\n if (values && values._elem) {\n values._elem.name = name;\n values._elem.icount = indent_count;\n values._elem.indent = indent;\n values._elem.indents = indent_spaces;\n values._elem.interrupt = values;\n return values._elem;\n }\n }\n var attributes = [], content = [];\n var isStringContent;\n function get_attributes(obj) {\n var keys2 = Object.keys(obj);\n keys2.forEach(function(key) {\n attributes.push(attribute(key, obj[key]));\n });\n }\n switch (typeof values) {\n case \"object\":\n if (values === null) break;\n if (values._attr) {\n get_attributes(values._attr);\n }\n if (values._cdata) {\n content.push(\n (\"<![CDATA[\" + values._cdata).replace(/\\]\\]>/g, \"]]]]><![CDATA[>\") + \"]]>\"\n );\n }\n if (values.forEach) {\n isStringContent = false;\n content.push(\"\");\n values.forEach(function(value) {\n if (typeof value == \"object\") {\n var _name = Object.keys(value)[0];\n if (_name == \"_attr\") {\n get_attributes(value._attr);\n } else {\n content.push(resolve(\n value,\n indent,\n indent_count + 1\n ));\n }\n } else {\n content.pop();\n isStringContent = true;\n content.push(escapeForXML(value));\n }\n });\n if (!isStringContent) {\n content.push(\"\");\n }\n }\n break;\n default:\n content.push(escapeForXML(values));\n }\n return {\n name,\n interrupt,\n attributes,\n content,\n icount: indent_count,\n indents: indent_spaces,\n indent\n };\n }\n function format(append, elem, end) {\n if (typeof elem != \"object\") {\n return append(false, elem);\n }\n var len = elem.interrupt ? 1 : elem.content.length;\n function proceed() {\n while (elem.content.length) {\n var value = elem.content.shift();\n if (value === void 0) continue;\n if (interrupt(value)) return;\n format(append, value);\n }\n append(false, (len > 1 ? elem.indents : \"\") + (elem.name ? \"</\" + elem.name + \">\" : \"\") + (elem.indent && !end ? \"\\n\" : \"\"));\n if (end) {\n end();\n }\n }\n function interrupt(value) {\n if (value.interrupt) {\n value.interrupt.append = append;\n value.interrupt.end = proceed;\n value.interrupt = false;\n append(true);\n return true;\n }\n return false;\n }\n append(false, elem.indents + (elem.name ? \"<\" + elem.name : \"\") + (elem.attributes.length ? \" \" + elem.attributes.join(\" \") : \"\") + (len ? elem.name ? \">\" : \"\" : elem.name ? \"/>\" : \"\") + (elem.indent && len > 1 ? \"\\n\" : \"\"));\n if (!len) {\n return append(false, elem.indent ? \"\\n\" : \"\");\n }\n if (!interrupt(elem)) {\n proceed();\n }\n }\n function attribute(key, value) {\n return key + '=\"' + escapeForXML(value) + '\"';\n }\n xml$1.exports = xml2;\n xml$1.exports.element = xml$1.exports.Element = element;\n return xml$1.exports;\n}\nvar xmlExports = requireXml();\nconst xml = /* @__PURE__ */ getDefaultExportFromCjs$1(xmlExports);\nconst obfuscatedStartOffset = 0;\nconst obfuscatedEndOffset = 32;\nconst guidSize = 32;\nconst obfuscate = (buf, fontKey) => {\n const guid = fontKey.replace(/-/g, \"\");\n if (guid.length !== guidSize) {\n throw new Error(`Error: Cannot extract GUID from font filename: ${fontKey}`);\n }\n const hexStrings = guid.replace(/(..)/g, \"$1 \").trim().split(\" \");\n const hexNumbers = hexStrings.map((hexString) => parseInt(hexString, 16));\n hexNumbers.reverse();\n const bytesToObfuscate = buf.slice(obfuscatedStartOffset, obfuscatedEndOffset);\n const obfuscatedBytes = bytesToObfuscate.map((byte, i) => byte ^ hexNumbers[i % hexNumbers.length]);\n const out = new Uint8Array(obfuscatedStartOffset + obfuscatedBytes.length + Math.max(0, buf.length - obfuscatedEndOffset));\n out.set(buf.slice(0, obfuscatedStartOffset));\n out.set(obfuscatedBytes, obfuscatedStartOffset);\n out.set(buf.slice(obfuscatedEndOffset), obfuscatedStartOffset + obfuscatedBytes.length);\n return out;\n};\nclass Formatter {\n /**\n * Formats an XML component into a serializable object.\n *\n * @param input - The XML component to format\n * @param context - The context containing file state and relationships\n * @returns A serializable XML object structure\n * @throws Error if the component cannot be formatted correctly\n */\n format(input, context = { stack: [] }) {\n const output = input.prepForXml(context);\n if (output) {\n return output;\n } else {\n throw Error(\"XMLComponent did not format correctly\");\n }\n }\n}\nclass ImageReplacer {\n /**\n * Replaces image placeholder tokens with relationship IDs.\n *\n * @param xmlData - The XML string containing image placeholders\n * @param mediaData - Array of media data to replace\n * @param offset - Starting offset for relationship IDs\n * @returns XML string with placeholders replaced by relationship IDs\n */\n replace(xmlData, mediaData, offset) {\n let currentXmlData = xmlData;\n mediaData.forEach((image, i) => {\n currentXmlData = currentXmlData.replace(new RegExp(`{${image.fileName}}`, \"g\"), (offset + i).toString());\n });\n return currentXmlData;\n }\n /**\n * Extracts media data referenced in the XML content.\n *\n * @param xmlData - The XML string to search for media references\n * @param media - The media collection to search within\n * @returns Array of media data found in the XML\n */\n getMediaData(xmlData, media) {\n return media.Array.filter((image) => xmlData.search(`{${image.fileName}}`) > 0);\n }\n}\nclass NumberingReplacer {\n /**\n * Replaces numbering placeholder tokens with actual numbering IDs.\n *\n * Placeholder format: {reference-instance} where reference identifies the\n * numbering definition and instance is the specific usage.\n *\n * @param xmlData - The XML string containing numbering placeholders\n * @param concreteNumberings - Array of concrete numbering instances to replace\n * @returns XML string with placeholders replaced by numbering IDs\n */\n replace(xmlData, concreteNumberings) {\n let currentXmlData = xmlData;\n for (const concreteNumbering of concreteNumberings) {\n currentXmlData = currentXmlData.replace(\n new RegExp(`{${concreteNumbering.reference}-${concreteNumbering.instance}}`, \"g\"),\n concreteNumbering.numId.toString()\n );\n }\n return currentXmlData;\n }\n}\nclass Compiler {\n /**\n * Creates a new Compiler instance.\n *\n * Initializes the formatter and replacer utilities used during compilation.\n */\n constructor() {\n __publicField(this, \"formatter\");\n __publicField(this, \"imageReplacer\");\n __publicField(this, \"numberingReplacer\");\n this.formatter = new Formatter();\n this.imageReplacer = new ImageReplacer();\n this.numberingReplacer = new NumberingReplacer();\n }\n /**\n * Compiles a File object into a JSZip archive containing the complete OOXML package.\n *\n * This method orchestrates the entire compilation process:\n * - Converts all document components to XML\n * - Manages image and numbering placeholder replacements\n * - Creates relationship files\n * - Packages fonts and media files\n * - Assembles everything into a ZIP archive\n *\n * @param file - The document to compile\n * @param prettifyXml - Optional XML formatting style\n * @param overrides - Optional custom XML file overrides\n * @returns A JSZip instance containing the complete .docx package\n */\n compile(file, prettifyXml, overrides = []) {\n const zip = new JSZip();\n const xmlifiedFileMapping = this.xmlifyFile(file, prettifyXml);\n const map = new Map(Object.entries(xmlifiedFileMapping));\n for (const [, obj] of map) {\n if (Array.isArray(obj)) {\n for (const subFile of obj) {\n zip.file(subFile.path, encodeUtf8(subFile.data));\n }\n } else {\n zip.file(obj.path, encodeUtf8(obj.data));\n }\n }\n for (const subFile of overrides) {\n zip.file(subFile.path, encodeUtf8(subFile.data));\n }\n for (const data of file.Media.Array) {\n if (data.type !== \"svg\") {\n zip.file(`word/media/${data.fileName}`, data.data);\n } else {\n zip.file(`word/media/${data.fileName}`, data.data);\n zip.file(`word/media/${data.fallback.fileName}`, data.fallback.data);\n }\n }\n for (const { data: buffer2, name, fontKey } of file.FontTable.fontOptionsWithKey) {\n const [nameWithoutExtension] = name.split(\".\");\n zip.file(`word/fonts/${nameWithoutExtension}.odttf`, obfuscate(buffer2, fontKey));\n }\n return zip;\n }\n xmlifyFile(file, prettify) {\n const documentRelationshipCount = file.Document.Relationships.RelationshipCount + 1;\n const documentXmlData = xml(\n this.formatter.format(file.Document.View, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n );\n const commentRelationshipCount = file.Comments.Relationships.RelationshipCount + 1;\n const commentXmlData = xml(\n this.formatter.format(file.Comments, {\n viewWrapper: {\n View: file.Comments,\n Relationships: file.Comments.Relationships\n },\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n );\n const footnoteRelationshipCount = file.FootNotes.Relationships.RelationshipCount + 1;\n const footnoteXmlData = xml(\n this.formatter.format(file.FootNotes.View, {\n viewWrapper: file.FootNotes,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n );\n const documentMediaDatas = this.imageReplacer.getMediaData(documentXmlData, file.Media);\n const commentMediaDatas = this.imageReplacer.getMediaData(commentXmlData, file.Media);\n const footnoteMediaDatas = this.imageReplacer.getMediaData(footnoteXmlData, file.Media);\n return {\n Relationships: {\n data: (() => {\n documentMediaDatas.forEach((mediaData, i) => {\n file.Document.Relationships.addRelationship(\n documentRelationshipCount + i,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `media/${mediaData.fileName}`\n );\n });\n file.Document.Relationships.addRelationship(\n file.Document.Relationships.RelationshipCount + 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\",\n \"fontTable.xml\"\n );\n return xml(\n this.formatter.format(file.Document.Relationships, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n })(),\n path: \"word/_rels/document.xml.rels\"\n },\n Document: {\n data: (() => {\n const xmlData = this.imageReplacer.replace(documentXmlData, documentMediaDatas, documentRelationshipCount);\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\n return referenedXmlData;\n })(),\n path: \"word/document.xml\"\n },\n Styles: {\n data: (() => {\n const xmlStyles = xml(\n this.formatter.format(file.Styles, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n );\n const referencedXmlStyles = this.numberingReplacer.replace(xmlStyles, file.Numbering.ConcreteNumbering);\n return referencedXmlStyles;\n })(),\n path: \"word/styles.xml\"\n },\n Properties: {\n data: xml(\n this.formatter.format(file.CoreProperties, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"docProps/core.xml\"\n },\n Numbering: {\n data: xml(\n this.formatter.format(file.Numbering, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"word/numbering.xml\"\n },\n FileRelationships: {\n data: xml(\n this.formatter.format(file.FileRelationships, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"_rels/.rels\"\n },\n HeaderRelationships: file.Headers.map((headerWrapper, index) => {\n const xmlData = xml(\n this.formatter.format(headerWrapper.View, {\n viewWrapper: headerWrapper,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n const mediaDatas = this.imageReplacer.getMediaData(xmlData, file.Media);\n mediaDatas.forEach((mediaData, i) => {\n headerWrapper.Relationships.addRelationship(\n i,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `media/${mediaData.fileName}`\n );\n });\n return {\n data: xml(\n this.formatter.format(headerWrapper.Relationships, {\n viewWrapper: headerWrapper,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ),\n path: `word/_rels/header${index + 1}.xml.rels`\n };\n }),\n FooterRelationships: file.Footers.map((footerWrapper, index) => {\n const xmlData = xml(\n this.formatter.format(footerWrapper.View, {\n viewWrapper: footerWrapper,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n const mediaDatas = this.imageReplacer.getMediaData(xmlData, file.Media);\n mediaDatas.forEach((mediaData, i) => {\n footerWrapper.Relationships.addRelationship(\n i,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `media/${mediaData.fileName}`\n );\n });\n return {\n data: xml(\n this.formatter.format(footerWrapper.Relationships, {\n viewWrapper: footerWrapper,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ),\n path: `word/_rels/footer${index + 1}.xml.rels`\n };\n }),\n Headers: file.Headers.map((headerWrapper, index) => {\n const tempXmlData = xml(\n this.formatter.format(headerWrapper.View, {\n viewWrapper: headerWrapper,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n const mediaDatas = this.imageReplacer.getMediaData(tempXmlData, file.Media);\n const xmlData = this.imageReplacer.replace(tempXmlData, mediaDatas, 0);\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\n return {\n data: referenedXmlData,\n path: `word/header${index + 1}.xml`\n };\n }),\n Footers: file.Footers.map((footerWrapper, index) => {\n const tempXmlData = xml(\n this.formatter.format(footerWrapper.View, {\n viewWrapper: footerWrapper,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n const mediaDatas = this.imageReplacer.getMediaData(tempXmlData, file.Media);\n const xmlData = this.imageReplacer.replace(tempXmlData, mediaDatas, 0);\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\n return {\n data: referenedXmlData,\n path: `word/footer${index + 1}.xml`\n };\n }),\n ContentTypes: {\n data: xml(\n this.formatter.format(file.ContentTypes, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"[Content_Types].xml\"\n },\n CustomProperties: {\n data: xml(\n this.formatter.format(file.CustomProperties, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"docProps/custom.xml\"\n },\n AppProperties: {\n data: xml(\n this.formatter.format(file.AppProperties, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"docProps/app.xml\"\n },\n FootNotes: {\n data: (() => {\n const xmlData = this.imageReplacer.replace(footnoteXmlData, footnoteMediaDatas, footnoteRelationshipCount);\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\n return referenedXmlData;\n })(),\n path: \"word/footnotes.xml\"\n },\n FootNotesRelationships: {\n data: (() => {\n footnoteMediaDatas.forEach((mediaData, i) => {\n file.FootNotes.Relationships.addRelationship(\n footnoteRelationshipCount + i,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `media/${mediaData.fileName}`\n );\n });\n return xml(\n this.formatter.format(file.FootNotes.Relationships, {\n viewWrapper: file.FootNotes,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n })(),\n path: \"word/_rels/footnotes.xml.rels\"\n },\n Endnotes: {\n data: xml(\n this.formatter.format(file.Endnotes.View, {\n viewWrapper: file.Endnotes,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"word/endnotes.xml\"\n },\n EndnotesRelationships: {\n data: xml(\n this.formatter.format(file.Endnotes.Relationships, {\n viewWrapper: file.Endnotes,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"word/_rels/endnotes.xml.rels\"\n },\n Settings: {\n data: xml(\n this.formatter.format(file.Settings, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"word/settings.xml\"\n },\n Comments: {\n data: (() => {\n const xmlData = this.imageReplacer.replace(commentXmlData, commentMediaDatas, commentRelationshipCount);\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\n return referenedXmlData;\n })(),\n path: \"word/comments.xml\"\n },\n CommentsRelationships: {\n data: (() => {\n commentMediaDatas.forEach((mediaData, i) => {\n file.Comments.Relationships.addRelationship(\n commentRelationshipCount + i,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `media/${mediaData.fileName}`\n );\n });\n return xml(\n this.formatter.format(file.Comments.Relationships, {\n viewWrapper: {\n View: file.Comments,\n Relationships: file.Comments.Relationships\n },\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n );\n })(),\n path: \"word/_rels/comments.xml.rels\"\n },\n FontTable: {\n data: xml(\n this.formatter.format(file.FontTable.View, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n standalone: \"yes\",\n encoding: \"UTF-8\"\n }\n }\n ),\n path: \"word/fontTable.xml\"\n },\n FontTableRelationships: {\n data: (() => xml(\n this.formatter.format(file.FontTable.Relationships, {\n viewWrapper: file.Document,\n file,\n stack: []\n }),\n {\n indent: prettify,\n declaration: {\n encoding: \"UTF-8\"\n }\n }\n ))(),\n path: \"word/_rels/fontTable.xml.rels\"\n }\n };\n }\n}\nconst PrettifyType = {\n /** No prettification (smallest file size) */\n NONE: \"\",\n /** Indent with 2 spaces */\n WITH_2_BLANKS: \" \",\n /** Indent with 4 spaces */\n WITH_4_BLANKS: \" \",\n /** Indent with tab character */\n WITH_TAB: \"\t\"\n};\nconst convertPrettifyType = (prettify) => prettify === true ? PrettifyType.WITH_2_BLANKS : prettify === false ? void 0 : prettify;\nconst _Packer = class _Packer {\n /**\n * Exports a document to the specified output format.\n *\n * @param file - The document to export\n * @param type - The output format type (e.g., \"nodebuffer\", \"blob\", \"string\")\n * @param prettify - Whether to prettify the XML output (boolean or PrettifyType)\n * @param overrides - Optional array of file overrides for custom XML content\n * @returns A promise resolving to the exported document in the specified format\n */\n // eslint-disable-next-line require-await\n static pack(_0, _12, _2) {\n return __async(this, arguments, function* (file, type2, prettify, overrides = []) {\n const zip = this.compiler.compile(file, convertPrettifyType(prettify), overrides);\n return zip.generateAsync({\n type: type2,\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n compression: \"DEFLATE\"\n });\n });\n }\n /**\n * Exports a document to a string representation.\n *\n * @param file - The document to export\n * @param prettify - Whether to prettify the XML output\n * @param overrides - Optional array of file overrides\n * @returns A promise resolving to the document as a string\n */\n static toString(file, prettify, overrides = []) {\n return _Packer.pack(file, \"string\", prettify, overrides);\n }\n /**\n * Exports a document to a Node.js Buffer.\n *\n * @param file - The document to export\n * @param prettify - Whether to prettify the XML output\n * @param overrides - Optional array of file overrides\n * @returns A promise resolving to the document as a Buffer\n */\n static toBuffer(file, prettify, overrides = []) {\n return _Packer.pack(file, \"nodebuffer\", prettify, overrides);\n }\n /**\n * Exports a document to a base64-encoded string.\n *\n * @param file - The document to export\n * @param prettify - Whether to prettify the XML output\n * @param overrides - Optional array of file overrides\n * @returns A promise resolving to the document as a base64 string\n */\n static toBase64String(file, prettify, overrides = []) {\n return _Packer.pack(file, \"base64\", prettify, overrides);\n }\n /**\n * Exports a document to a Blob (for browser environments).\n *\n * @param file - The document to export\n * @param prettify - Whether to prettify the XML output\n * @param overrides - Optional array of file overrides\n * @returns A promise resolving to the document as a Blob\n */\n static toBlob(file, prettify, overrides = []) {\n return _Packer.pack(file, \"blob\", prettify, overrides);\n }\n /**\n * Exports a document to an ArrayBuffer.\n *\n * @param file - The document to export\n * @param prettify - Whether to prettify the XML output\n * @param overrides - Optional array of file overrides\n * @returns A promise resolving to the document as an ArrayBuffer\n */\n static toArrayBuffer(file, prettify, overrides = []) {\n return _Packer.pack(file, \"arraybuffer\", prettify, overrides);\n }\n /**\n * Exports a document to a Node.js Stream.\n *\n * @param file - The document to export\n * @param prettify - Whether to prettify the XML output\n * @param overrides - Optional array of file overrides\n * @returns A readable stream containing the document data\n */\n static toStream(file, prettify, overrides = []) {\n const stream = new streamBrowserifyExports.Stream();\n const zip = this.compiler.compile(file, convertPrettifyType(prettify), overrides);\n zip.generateAsync({\n type: \"nodebuffer\",\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n compression: \"DEFLATE\"\n }).then((z) => {\n stream.emit(\"data\", z);\n stream.emit(\"end\");\n });\n return stream;\n }\n};\n__publicField(_Packer, \"compiler\", new Compiler());\nlet Packer = _Packer;\nconst formatter$1 = new Formatter();\nconst toJson = (xmlData) => {\n const xmlObj = libExports.xml2js(xmlData, { compact: false, captureSpacesBetweenElements: true });\n return xmlObj;\n};\nconst createTextElementContents = (text) => {\n var _a;\n const textJson = toJson(xml(formatter$1.format(new Text({ text }))));\n return (_a = textJson.elements[0].elements) != null ? _a : [];\n};\nconst patchSpaceAttribute = (element) => __spreadProps(__spreadValues({}, element), {\n attributes: {\n \"xml:space\": \"preserve\"\n }\n});\nconst getFirstLevelElements = (relationships, id) => {\n var _a, _b;\n return (_b = (_a = relationships.elements) == null ? void 0 : _a.filter((e) => e.name === id)[0].elements) != null ? _b : [];\n};\nconst appendContentType = (element, contentType, extension) => {\n const relationshipElements = getFirstLevelElements(element, \"Types\");\n const exist = relationshipElements.some(\n (el) => {\n var _a, _b;\n return el.type === \"element\" && el.name === \"Default\" && ((_a = el == null ? void 0 : el.attributes) == null ? void 0 : _a.ContentType) === contentType && ((_b = el == null ? void 0 : el.attributes) == null ? void 0 : _b.Extension) === extension;\n }\n );\n if (exist) {\n return;\n }\n relationshipElements.push({\n attributes: {\n ContentType: contentType,\n Extension: extension\n },\n name: \"Default\",\n type: \"element\"\n });\n};\nconst getIdFromRelationshipId = (relationshipId) => {\n const output = parseInt(relationshipId.substring(3), 10);\n return isNaN(output) ? 0 : output;\n};\nconst getNextRelationshipIndex = (relationships) => {\n const relationshipElements = getFirstLevelElements(relationships, \"Relationships\");\n return relationshipElements.map((e) => {\n var _a, _b, _c;\n return getIdFromRelationshipId((_c = (_b = (_a = e.attributes) == null ? void 0 : _a.Id) == null ? void 0 : _b.toString()) != null ? _c : \"\");\n }).reduce((acc, curr) => Math.max(acc, curr), 0) + 1;\n};\nconst appendRelationship = (relationships, id, type2, target, targetMode) => {\n const relationshipElements = getFirstLevelElements(relationships, \"Relationships\");\n relationshipElements.push({\n attributes: {\n Id: `rId${id}`,\n Type: type2,\n Target: target,\n TargetMode: targetMode\n },\n name: \"Relationship\",\n type: \"element\"\n });\n return relationshipElements;\n};\nclass TokenNotFoundError extends Error {\n constructor(token) {\n super(`Token ${token} not found`);\n this.name = \"TokenNotFoundError\";\n }\n}\nconst findRunElementIndexWithToken = (paragraphElement, token) => {\n var _a, _b, _c, _d;\n for (let i = 0; i < ((_a = paragraphElement.elements) != null ? _a : []).length; i++) {\n const element = paragraphElement.elements[i];\n if (element.type === \"element\" && element.name === \"w:r\") {\n const textElement = ((_b = element.elements) != null ? _b : []).filter((e) => e.type === \"element\" && e.name === \"w:t\");\n for (const text of textElement) {\n if (!((_c = text.elements) == null ? void 0 : _c[0])) {\n continue;\n }\n if ((_d = text.elements[0].text) == null ? void 0 : _d.includes(token)) {\n return i;\n }\n }\n }\n }\n throw new TokenNotFoundError(token);\n};\nconst splitRunElement = (runElement, token) => {\n var _a, _b;\n let splitIndex = -1;\n const splitElements = (_b = (_a = runElement.elements) == null ? void 0 : _a.map((e, i) => {\n var _a2, _b2, _c;\n if (splitIndex !== -1) {\n return e;\n }\n if (e.type === \"element\" && e.name === \"w:t\") {\n const text = (_c = (_b2 = (_a2 = e.elements) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.text) != null ? _c : \"\";\n const splitText = text.split(token);\n const newElements = splitText.map((t) => __spreadProps(__spreadValues(__spreadValues({}, e), patchSpaceAttribute(e)), {\n elements: createTextElementContents(t)\n }));\n if (splitText.length > 1) {\n splitIndex = i;\n }\n return newElements;\n } else {\n return e;\n }\n }).flat()) != null ? _b : [];\n const leftRunElement = __spreadProps(__spreadValues({}, JSON.parse(JSON.stringify(runElement))), {\n elements: splitElements.slice(0, splitIndex + 1)\n });\n const rightRunElement = __spreadProps(__spreadValues({}, JSON.parse(JSON.stringify(runElement))), {\n elements: splitElements.slice(splitIndex + 1)\n });\n return { left: leftRunElement, right: rightRunElement };\n};\nconst ReplaceMode = {\n /** Looking for the start of the replacement text */\n START: 0,\n /** Processing runs in the middle of the replacement text */\n MIDDLE: 1,\n /** Reached the end of the replacement text */\n END: 2\n};\nconst replaceTokenInParagraphElement = ({\n paragraphElement,\n renderedParagraph,\n originalText,\n replacementText\n}) => {\n const startIndex = renderedParagraph.text.indexOf(originalText);\n const endIndex = startIndex + originalText.length - 1;\n let replaceMode = ReplaceMode.START;\n for (const run of renderedParagraph.runs) {\n for (const { text, index, start, end } of run.parts) {\n switch (replaceMode) {\n case ReplaceMode.START:\n if (startIndex >= start && startIndex <= end) {\n const offsetStartIndex = startIndex - start;\n const offsetEndIndex = Math.min(endIndex, end) - start;\n const partToReplace = run.text.substring(offsetStartIndex, offsetEndIndex + 1);\n if (partToReplace === \"\") {\n continue;\n }\n const firstPart = text.replace(partToReplace, replacementText);\n patchTextElement(paragraphElement.elements[run.index].elements[index], firstPart);\n replaceMode = ReplaceMode.MIDDLE;\n continue;\n }\n break;\n case ReplaceMode.MIDDLE:\n if (endIndex <= end) {\n const lastPart = text.substring(endIndex - start + 1);\n patchTextElement(paragraphElement.elements[run.index].elements[index], lastPart);\n const currentElement = paragraphElement.elements[run.index].elements[index];\n paragraphElement.elements[run.index].elements[index] = patchSpaceAttribute(currentElement);\n replaceMode = ReplaceMode.END;\n } else {\n patchTextElement(paragraphElement.elements[run.index].elements[index], \"\");\n }\n break;\n }\n }\n }\n return paragraphElement;\n};\nconst patchTextElement = (element, text) => {\n element.elements = createTextElementContents(text);\n return element;\n};\nconst renderParagraphNode = (node) => {\n if (node.element.name !== \"w:p\") {\n throw new Error(`Invalid node type: ${node.element.name}`);\n }\n if (!node.element.elements) {\n return {\n text: \"\",\n runs: [],\n index: -1,\n pathToParagraph: []\n };\n }\n let currentRunStringLength = 0;\n const runs = node.element.elements.map((element, i) => ({ element, i })).filter(({ element }) => element.name === \"w:r\").map(({ element, i }) => {\n const renderedRunNode = renderRunNode(element, i, currentRunStringLength);\n currentRunStringLength += renderedRunNode.text.length;\n return renderedRunNode;\n }).filter((e) => !!e);\n const text = runs.reduce((acc, curr) => acc + curr.text, \"\");\n return {\n text,\n runs,\n index: node.index,\n pathToParagraph: buildNodePath(node)\n };\n};\nconst renderRunNode = (node, index, currentRunStringIndex) => {\n if (!node.elements) {\n return {\n text: \"\",\n parts: [],\n index: -1,\n start: currentRunStringIndex,\n end: currentRunStringIndex\n };\n }\n let currentTextStringIndex = currentRunStringIndex;\n const parts = node.elements.map(\n (element, i) => {\n var _a, _b;\n return element.name === \"w:t\" && element.elements && element.elements.length > 0 ? {\n text: (_b = (_a = element.elements[0].text) == null ? void 0 : _a.toString()) != null ? _b : \"\",\n index: i,\n start: currentTextStringIndex,\n end: (() => {\n var _a2, _b2;\n currentTextStringIndex += ((_b2 = (_a2 = element.elements[0].text) == null ? void 0 : _a2.toString()) != null ? _b2 : \"\").length - 1;\n return currentTextStringIndex;\n })()\n } : void 0;\n }\n ).filter((e) => !!e).map((e) => e);\n const text = parts.reduce((acc, curr) => acc + curr.text, \"\");\n return {\n text,\n parts,\n index,\n start: currentRunStringIndex,\n end: currentTextStringIndex\n };\n};\nconst buildNodePath = (node) => node.parent ? [...buildNodePath(node.parent), node.index] : [node.index];\nconst elementsToWrapper = (wrapper) => {\n var _a, _b;\n return (_b = (_a = wrapper.element.elements) == null ? void 0 : _a.map((e, i) => ({\n element: e,\n index: i,\n parent: wrapper\n }))) != null ? _b : [];\n};\nconst traverse = (node) => {\n let renderedParagraphs = [];\n const queue2 = [\n ...elementsToWrapper({\n element: node,\n index: 0,\n parent: void 0\n })\n ];\n let currentNode;\n while (queue2.length > 0) {\n currentNode = queue2.shift();\n if (currentNode.element.name === \"w:p\") {\n renderedParagraphs = [...renderedParagraphs, renderParagraphNode(currentNode)];\n }\n queue2.push(...elementsToWrapper(currentNode));\n }\n return renderedParagraphs;\n};\nconst findLocationOfText = (node, text) => traverse(node).filter((p) => p.text.includes(text));\nconst formatter = new Formatter();\nconst SPLIT_TOKEN = \"ɵ\";\nconst replacer = ({\n json,\n patch,\n patchText,\n context,\n keepOriginalStyles = true\n}) => {\n const renderedParagraphs = findLocationOfText(json, patchText);\n if (renderedParagraphs.length === 0) {\n return { element: json, didFindOccurrence: false };\n }\n for (const renderedParagraph of renderedParagraphs) {\n const textJson = patch.children.map((c) => toJson(xml(formatter.format(c, context)))).map((c) => c.elements[0]);\n switch (patch.type) {\n case PatchType.DOCUMENT: {\n const parentElement = goToParentElementFromPath(json, renderedParagraph.pathToParagraph);\n const elementIndex = getLastElementIndexFromPath(renderedParagraph.pathToParagraph);\n parentElement.elements.splice(elementIndex, 1, ...textJson);\n break;\n }\n case PatchType.PARAGRAPH:\n default: {\n const paragraphElement = goToElementFromPath(json, renderedParagraph.pathToParagraph);\n replaceTokenInParagraphElement({\n paragraphElement,\n renderedParagraph,\n originalText: patchText,\n replacementText: SPLIT_TOKEN\n });\n const index = findRunElementIndexWithToken(paragraphElement, SPLIT_TOKEN);\n const runElementToBeReplaced = paragraphElement.elements[index];\n const { left, right } = splitRunElement(runElementToBeReplaced, SPLIT_TOKEN);\n let newRunElements = textJson;\n let patchedRightElement = right;\n if (keepOriginalStyles) {\n const runElementNonTextualElements = runElementToBeReplaced.elements.filter(\n (e) => e.type === \"element\" && e.name === \"w:rPr\"\n );\n newRunElements = textJson.map((e) => {\n var _a;\n return __spreadProps(__spreadValues({}, e), {\n elements: [...runElementNonTextualElements, ...(_a = e.elements) != null ? _a : []]\n });\n });\n patchedRightElement = __spreadProps(__spreadValues({}, right), {\n elements: [...runElementNonTextualElements, ...right.elements]\n });\n }\n paragraphElement.elements.splice(index, 1, left, ...newRunElements, patchedRightElement);\n break;\n }\n }\n }\n return { element: json, didFindOccurrence: true };\n};\nconst goToElementFromPath = (json, path) => {\n let element = json;\n for (let i = 1; i < path.length; i++) {\n const index = path[i];\n const nextElements = element.elements;\n element = nextElements[index];\n }\n return element;\n};\nconst goToParentElementFromPath = (json, path) => goToElementFromPath(json, path.slice(0, path.length - 1));\nconst getLastElementIndexFromPath = (path) => path[path.length - 1];\nconst PatchType = {\n /** Replace entire file-level elements (e.g., whole paragraphs) */\n DOCUMENT: \"file\",\n /** Replace content within paragraphs (inline replacement) */\n PARAGRAPH: \"paragraph\"\n};\nconst imageReplacer = new ImageReplacer();\nconst UTF16LE = new Uint8Array([255, 254]);\nconst UTF16BE = new Uint8Array([254, 255]);\nconst compareByteArrays = (a, b) => {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n};\nconst patchDocument = (_0) => __async(null, [_0], function* ({\n outputType,\n data,\n patches,\n keepOriginalStyles,\n placeholderDelimiters = { start: \"{{\", end: \"}}\" },\n /**\n * Search for occurrences over patched document\n */\n recursive = true\n}) {\n var _a, _b, _c;\n const zipContent = data instanceof JSZip ? data : yield JSZip.loadAsync(data);\n const contexts = /* @__PURE__ */ new Map();\n const file = {\n Media: new Media()\n };\n const map = /* @__PURE__ */ new Map();\n const imageRelationshipAdditions = [];\n const hyperlinkRelationshipAdditions = [];\n let hasMedia = false;\n const binaryContentMap = /* @__PURE__ */ new Map();\n for (const [key, value] of Object.entries(zipContent.files)) {\n const binaryValue = yield value.async(\"uint8array\");\n const startBytes = binaryValue.slice(0, 2);\n if (compareByteArrays(startBytes, UTF16LE) || compareByteArrays(startBytes, UTF16BE)) {\n binaryContentMap.set(key, binaryValue);\n continue;\n }\n if (!key.endsWith(\".xml\") && !key.endsWith(\".rels\")) {\n binaryContentMap.set(key, binaryValue);\n continue;\n }\n const json = toJson(yield value.async(\"text\"));\n if (key === \"word/document.xml\") {\n const document2 = (_a = json.elements) == null ? void 0 : _a.find((i) => i.name === \"w:document\");\n if (document2 && document2.attributes) {\n for (const ns of [\"mc\", \"wp\", \"r\", \"w15\", \"m\"]) {\n document2.attributes[`xmlns:${ns}`] = DocumentAttributeNamespaces[ns];\n }\n document2.attributes[\"mc:Ignorable\"] = `${document2.attributes[\"mc:Ignorable\"] || \"\"} w15`.trim();\n }\n }\n if (key.startsWith(\"word/\") && !key.endsWith(\".xml.rels\")) {\n const context = {\n file,\n viewWrapper: {\n Relationships: {\n addRelationship: (linkId, _, target, __) => {\n hyperlinkRelationshipAdditions.push({\n key,\n hyperlink: {\n id: linkId,\n link: target\n }\n });\n }\n }\n },\n stack: []\n };\n contexts.set(key, context);\n if (!(placeholderDelimiters == null ? void 0 : placeholderDelimiters.start.trim()) || !(placeholderDelimiters == null ? void 0 : placeholderDelimiters.end.trim())) {\n throw new Error(\"Both start and end delimiters must be non-empty strings.\");\n }\n const { start, end } = placeholderDelimiters;\n for (const [patchKey, patchValue] of Object.entries(patches)) {\n const patchText = `${start}${patchKey}${end}`;\n while (true) {\n const { didFindOccurrence } = replacer({\n json,\n patch: __spreadProps(__spreadValues({}, patchValue), {\n children: patchValue.children.map((element) => {\n if (element instanceof ExternalHyperlink) {\n const concreteHyperlink = new ConcreteHyperlink(element.options.children, uniqueId());\n hyperlinkRelationshipAdditions.push({\n key,\n hyperlink: {\n id: concreteHyperlink.linkId,\n link: element.options.link\n }\n });\n return concreteHyperlink;\n } else {\n return element;\n }\n })\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }),\n patchText,\n context,\n keepOriginalStyles\n });\n if (!recursive || !didFindOccurrence) {\n break;\n }\n }\n }\n const mediaDatas = imageReplacer.getMediaData(JSON.stringify(json), context.file.Media);\n if (mediaDatas.length > 0) {\n hasMedia = true;\n imageRelationshipAdditions.push({\n key,\n mediaDatas\n });\n }\n }\n map.set(key, json);\n }\n for (const { key, mediaDatas } of imageRelationshipAdditions) {\n const relationshipKey = `word/_rels/${key.split(\"/\").pop()}.rels`;\n const relationshipsJson = (_b = map.get(relationshipKey)) != null ? _b : createRelationshipFile();\n map.set(relationshipKey, relationshipsJson);\n const index = getNextRelationshipIndex(relationshipsJson);\n const newJson = imageReplacer.replace(JSON.stringify(map.get(key)), mediaDatas, index);\n map.set(key, JSON.parse(newJson));\n for (let i = 0; i < mediaDatas.length; i++) {\n const { fileName } = mediaDatas[i];\n appendRelationship(\n relationshipsJson,\n index + i,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `media/${fileName}`\n );\n }\n }\n for (const { key, hyperlink } of hyperlinkRelationshipAdditions) {\n const relationshipKey = `word/_rels/${key.split(\"/\").pop()}.rels`;\n const relationshipsJson = (_c = map.get(relationshipKey)) != null ? _c : createRelationshipFile();\n map.set(relationshipKey, relationshipsJson);\n appendRelationship(\n relationshipsJson,\n hyperlink.id,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n hyperlink.link,\n TargetModeType.EXTERNAL\n );\n }\n if (hasMedia) {\n const contentTypesJson = map.get(\"[Content_Types].xml\");\n if (!contentTypesJson) {\n throw new Error(\"Could not find content types file\");\n }\n appendContentType(contentTypesJson, \"image/png\", \"png\");\n appendContentType(contentTypesJson, \"image/jpeg\", \"jpeg\");\n appendContentType(contentTypesJson, \"image/jpeg\", \"jpg\");\n appendContentType(contentTypesJson, \"image/bmp\", \"bmp\");\n appendContentType(contentTypesJson, \"image/gif\", \"gif\");\n appendContentType(contentTypesJson, \"image/svg+xml\", \"svg\");\n }\n const zip = new JSZip();\n for (const [key, value] of map) {\n const output = toXml(value);\n zip.file(key, encodeUtf8(output));\n }\n for (const [key, value] of binaryContentMap) {\n zip.file(key, value);\n }\n for (const { data: stream, fileName } of file.Media.Array) {\n zip.file(`word/media/${fileName}`, stream);\n }\n return zip.generateAsync({\n type: outputType,\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n compression: \"DEFLATE\"\n });\n});\nconst toXml = (jsonObj) => {\n const output = libExports.js2xml(jsonObj, {\n attributeValueFn: (str) => String(str).replace(/&(?!amp;|lt;|gt;|quot;|apos;)/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&apos;\")\n // cspell:words apos\n });\n return output;\n};\nconst createRelationshipFile = () => ({\n declaration: {\n attributes: {\n version: \"1.0\",\n encoding: \"UTF-8\",\n standalone: \"yes\"\n }\n },\n elements: [\n {\n type: \"element\",\n name: \"Relationships\",\n attributes: {\n xmlns: \"http://schemas.openxmlformats.org/package/2006/relationships\"\n },\n elements: []\n }\n ]\n});\nconst patchDetector = (_0) => __async(null, [_0], function* ({ data }) {\n const zipContent = data instanceof JSZip ? data : yield JSZip.loadAsync(data);\n const patches = /* @__PURE__ */ new Set();\n for (const [key, value] of Object.entries(zipContent.files)) {\n if (!key.endsWith(\".xml\") && !key.endsWith(\".rels\")) {\n continue;\n }\n if (key.startsWith(\"word/\") && !key.endsWith(\".xml.rels\")) {\n const json = toJson(yield value.async(\"text\"));\n traverse(json).forEach((p) => findPatchKeys(p.text).forEach((patch) => patches.add(patch)));\n }\n }\n return Array.from(patches);\n});\nconst findPatchKeys = (text) => {\n var _a;\n const pattern = new RegExp(\"(?<=\\\\{\\\\{).+?(?=\\\\}\\\\})\", \"gs\");\n return (_a = text.match(pattern)) != null ? _a : [];\n};\nexport {\n AbstractNumbering,\n AlignmentType,\n AnnotationReference,\n Attributes,\n BaseXmlComponent,\n Body,\n Bookmark,\n BookmarkEnd,\n BookmarkStart,\n Border,\n BorderStyle,\n BuilderElement,\n CarriageReturn,\n CellMerge,\n CellMergeAttributes,\n CharacterSet,\n CheckBox,\n CheckBoxSymbolElement,\n CheckBoxUtil,\n Column,\n ColumnBreak,\n Comment,\n CommentRangeEnd,\n CommentRangeStart,\n CommentReference,\n Comments,\n ConcreteHyperlink,\n ConcreteNumbering,\n ContinuationSeparator,\n DayLong,\n DayShort,\n DeletedTableCell,\n DeletedTableRow,\n DeletedTextRun,\n File as Document,\n DocumentAttributeNamespaces,\n DocumentAttributes,\n DocumentBackground,\n DocumentBackgroundAttributes,\n DocumentDefaults,\n DocumentGridType,\n Drawing,\n DropCapType,\n EMPTY_OBJECT,\n EmphasisMarkType,\n EmptyElement,\n EndnoteIdReference,\n EndnoteReference,\n EndnoteReferenceRun,\n EndnoteReferenceRunAttributes,\n Endnotes,\n ExternalHyperlink,\n File,\n FileChild,\n FootNoteReferenceRunAttributes,\n FootNotes,\n Footer2 as Footer,\n FooterWrapper,\n FootnoteReference,\n FootnoteReferenceElement,\n FootnoteReferenceRun,\n FrameAnchorType,\n FrameWrap,\n GridSpan,\n Header2 as Header,\n HeaderFooterReferenceType,\n HeaderFooterType,\n HeaderWrapper,\n HeadingLevel,\n HeightRule,\n HighlightColor,\n HorizontalPositionAlign,\n HorizontalPositionRelativeFrom,\n HpsMeasureElement,\n HyperlinkType,\n IgnoreIfEmptyXmlComponent,\n ImageRun,\n ImportedRootElementAttributes,\n ImportedXmlComponent,\n InitializableXmlComponent,\n InsertedTableCell,\n InsertedTableRow,\n InsertedTextRun,\n InternalHyperlink,\n LastRenderedPageBreak,\n LeaderType,\n Level,\n LevelBase,\n LevelForOverride,\n LevelFormat,\n LevelOverride,\n LevelSuffix,\n LineNumberRestartFormat,\n LineRuleType,\n Math$1 as Math,\n MathAngledBrackets,\n MathCurlyBrackets,\n MathDegree,\n MathDenominator,\n MathFraction,\n MathFunction,\n MathFunctionName,\n MathFunctionProperties,\n MathIntegral,\n MathLimit,\n MathLimitLower,\n MathLimitUpper,\n MathNumerator,\n MathPreSubSuperScript,\n MathRadical,\n MathRadicalProperties,\n MathRoundBrackets,\n MathRun,\n MathSquareBrackets,\n MathSubScript,\n MathSubSuperScript,\n MathSum,\n MathSuperScript,\n Media,\n MonthLong,\n MonthShort,\n NextAttributeComponent,\n NoBreakHyphen,\n NumberFormat$1 as NumberFormat,\n NumberProperties,\n NumberValueElement,\n NumberedItemReference,\n NumberedItemReferenceFormat,\n Numbering,\n OnOffElement,\n OverlapType,\n Packer,\n PageBorderDisplay,\n PageBorderOffsetFrom,\n PageBorderZOrder,\n PageBorders,\n PageBreak,\n PageBreakBefore,\n PageNumber,\n PageNumberElement,\n PageNumberSeparator,\n PageOrientation,\n PageReference,\n PageTextDirection,\n PageTextDirectionType,\n Paragraph,\n ParagraphProperties,\n ParagraphPropertiesChange,\n ParagraphPropertiesDefaults,\n ParagraphRunProperties,\n PatchType,\n PositionalTab,\n PositionalTabAlignment,\n PositionalTabLeader,\n PositionalTabRelativeTo,\n PrettifyType,\n RelativeHorizontalPosition,\n RelativeVerticalPosition,\n Run,\n RunProperties,\n RunPropertiesChange,\n RunPropertiesDefaults,\n SectionProperties,\n SectionPropertiesChange,\n SectionType,\n Separator,\n SequentialIdentifier,\n ShadingType,\n SimpleField,\n SimpleMailMergeField,\n SoftHyphen,\n SpaceType,\n StringContainer,\n StringEnumValueElement,\n StringValueElement,\n StyleForCharacter,\n StyleForParagraph,\n StyleLevel,\n Styles,\n SymbolRun,\n TDirection,\n Tab,\n TabStopPosition,\n TabStopType,\n Table,\n TableAnchorType,\n TableBorders,\n TableCell,\n TableCellBorders,\n TableLayoutType,\n TableOfContents,\n TableProperties,\n TableRow,\n TableRowProperties,\n TableRowPropertiesChange,\n TextDirection,\n TextEffect,\n TextRun,\n TextWrappingSide,\n TextWrappingType,\n Textbox,\n ThematicBreak,\n UnderlineType,\n VerticalAlign,\n VerticalAlignSection,\n VerticalAlignTable,\n VerticalAnchor,\n VerticalMerge,\n VerticalMergeRevisionType,\n VerticalMergeType,\n VerticalPositionAlign,\n VerticalPositionRelativeFrom,\n WORKAROUND2,\n WORKAROUND3,\n WORKAROUND4,\n WidthType,\n WpgGroupRun,\n WpsShapeRun,\n XmlAttributeComponent,\n XmlComponent,\n YearLong,\n YearShort,\n abstractNumUniqueNumericIdGen,\n bookmarkUniqueNumericIdGen,\n concreteNumUniqueNumericIdGen,\n convertInchesToTwip,\n convertMillimetersToTwip,\n convertToXmlComponent,\n createAlignment,\n createBodyProperties,\n createBorderElement,\n createColumns,\n createDocumentGrid,\n createDotEmphasisMark,\n createEmphasisMark,\n createFrameProperties,\n createHeaderFooterReference,\n createHorizontalPosition,\n createIndent,\n createLineNumberType,\n createMathAccentCharacter,\n createMathBase,\n createMathLimitLocation,\n createMathNAryProperties,\n createMathPreSubSuperScriptProperties,\n createMathSubScriptElement,\n createMathSubScriptProperties,\n createMathSubSuperScriptProperties,\n createMathSuperScriptElement,\n createMathSuperScriptProperties,\n createOutlineLevel,\n createPageMargin,\n createPageNumberType,\n createPageSize,\n createParagraphStyle,\n createRunFonts,\n createSectionType,\n createShading,\n createSimplePos,\n createSpacing,\n createStringElement,\n createTabStop,\n createTabStopItem,\n createTableFloatProperties,\n createTableLayout,\n createTableLook,\n createTableRowHeight,\n createTableWidthElement,\n createTransformation,\n createUnderline,\n createVerticalAlign,\n createVerticalPosition,\n createWrapNone,\n createWrapSquare,\n createWrapTight,\n createWrapTopAndBottom,\n dateTimeValue,\n decimalNumber,\n docPropertiesUniqueNumericIdGen,\n eighthPointMeasureValue,\n encodeUtf8,\n hashedId,\n hexColorValue,\n hpsMeasureValue,\n longHexNumber,\n measurementOrPercentValue,\n patchDetector,\n patchDocument,\n percentageValue,\n pointMeasureValue,\n positiveUniversalMeasureValue,\n sectionMarginDefaults,\n sectionPageSizeDefaults,\n shortHexNumber,\n signedHpsMeasureValue,\n signedTwipsMeasureValue,\n standardizeData,\n twipsMeasureValue,\n uCharHexNumber,\n uniqueId,\n uniqueNumericIdCreator,\n uniqueUuid,\n universalMeasureValue,\n unsignedDecimalNumber\n};\n"],"x_google_ignoreList":[0],"mappings":"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AQ,OAAO;AAC/B,QAAO;AACP,QAAO,YAAY;AACnB,QAAO,UAAU;AACjB,QAAO,eAAe;AACtB,QAAO,YAAY;AACnB,QAAO,UAAU,UAAU,SAAS,OAAO,KAAK;AAC9C,MAAI,QAAQ,MACV,QAAO,OAAO,QAAQ,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM;MAEhD,QAAO,OAAO,QAAQ,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM;;AAEpD,QAAO;;AAET,IAAI;AACJ,IAAI;AACJ,SAAS,cAAc;AACrB,KAAI,gBAAiB,QAAO;AAC5B,mBAAkB;CAClB,IAAI,SAAS,cAAc;CAC3B,IAAI,UAAU,iBAAiB;CAC/B,IAAI,SAAS,2BAA2B;CACxC,IAAI,YAAY,OAAO;CACvB,IAAI,YAAY,OAAO;CACvB,IAAI,WAAW,OAAO;CACtB,IAAI,WAAW,OAAO;CACtB,IAAI,QAAQ,OAAO;CACnB,IAAI,WAAW,OAAO;CACtB,IAAI,WAAW,OAAO;CACtB,IAAI,aAAa,OAAO;CACxB,IAAI,aAAa,OAAO;CACxB,IAAI,aAAa,OAAO;CACxB,IAAI,aAAa,OAAO;CACxB,IAAI,YAAY,QAAQ;CACxB,IAAI,WAAW;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E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ACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,IAAI,IAAI;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,IAAI,KAAK;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;AACD,QAAO;;AAET,IAAI;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"}