1
|
{"version":3,"file":"files-reference-files.js?v=aa04e9e4a9741a2990be","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/files/src/views/ReferenceFileWidget.vue?vue&type=style&index=0&id=f5ca5316&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-sscttPbK.mjs","webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/chunks/index-BC-7VPxC.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-BWY0OxW9.mjs","webpack:///nextcloud/apps/files/src/views/ReferenceFileWidget.vue","webpack:///nextcloud/apps/files/src/views/ReferenceFileWidget.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/views/ReferenceFileWidget.vue?75e6","webpack://nextcloud/./apps/files/src/views/ReferenceFileWidget.vue?1c02","webpack:///nextcloud/apps/files/src/views/FileReferencePickerElement.vue","webpack:///nextcloud/apps/files/src/views/FileReferencePickerElement.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/views/FileReferencePickerElement.vue?71ed","webpack:///nextcloud/apps/files/src/reference-files.ts","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import { o as logger } from \"./chunks/dav-DY_3WIBa.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-DY_3WIBa.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nimport require$$1 from \"string_decoder\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename || \"\"),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar sax$1 = {};\nvar hasRequiredSax;\nfunction requireSax() {\n if (hasRequiredSax) return sax$1;\n hasRequiredSax = 1;\n (function(exports) {\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 if (parser.opt.unquotedAttributeValues === void 0) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n parser.trackPosition = parser.opt.position !== false;\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0;\n }\n emit2(parser, \"onready\");\n }\n if (!Object.create) {\n Object.create = function(o) {\n function F2() {\n }\n F2.prototype = o;\n var newf = new F2();\n return newf;\n };\n }\n if (!Object.keys) {\n Object.keys = function(o) {\n var a2 = [];\n for (var i2 in o) if (o.hasOwnProperty(i2)) a2.push(i2);\n return a2;\n };\n }\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax2.MAX_BUFFER_LENGTH, 10);\n var maxActual = 0;\n for (var i2 = 0, l2 = buffers.length; i2 < l2; i2++) {\n var len = parser[buffers[i2]].length;\n if (len > maxAllowed) {\n switch (buffers[i2]) {\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[i2]);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n var m2 = sax2.MAX_BUFFER_LENGTH - maxActual;\n parser.bufferCheckPosition = m2 + parser.position;\n }\n function clearBuffers(parser) {\n for (var i2 = 0, l2 = buffers.length; i2 < l2; i2++) {\n parser[buffers[i2]] = \"\";\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 = require(\"stream\").Stream;\n } catch (ex) {\n Stream = function() {\n };\n }\n if (!Stream) Stream = function() {\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(h2) {\n if (!h2) {\n me.removeAllListeners(ev);\n me._parser[\"on\" + ev] = h2;\n return h2;\n }\n me.on(ev, h2);\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 = require$$1.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(c2) {\n return c2 === \" \" || c2 === \"\\n\" || c2 === \"\\r\" || c2 === \"\t\";\n }\n function isQuote(c2) {\n return c2 === '\"' || c2 === \"'\";\n }\n function isAttribEnd(c2) {\n return c2 === \">\" || isWhitespace(c2);\n }\n function isMatch(regex, c2) {\n return regex.test(c2);\n }\n function notMatch(regex, c2) {\n return !isMatch(regex, c2);\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 // & 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=\""\"\n ATTRIB_VALUE_ENTITY_U: S++,\n // <foo bar="\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 e2 = sax2.ENTITIES[key];\n var s3 = typeof e2 === \"number\" ? String.fromCharCode(e2) : e2;\n sax2.ENTITIES[key] = s3;\n });\n for (var s2 in sax2.STATE) {\n sax2.STATE[sax2.STATE[s2]] = s2;\n }\n S = sax2.STATE;\n function emit2(parser, event, data) {\n parser[event] && parser[event](data);\n }\n function emitNode(parser, nodeType, data) {\n if (parser.textNode) closeText(parser);\n emit2(parser, nodeType, data);\n }\n function closeText(parser) {\n parser.textNode = textopts(parser.opt, parser.textNode);\n if (parser.textNode) emit2(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 emit2(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 emit2(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 i2 = name.indexOf(\":\");\n var qualName = i2 < 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(p2) {\n emitNode(parser, \"onopennamespace\", {\n prefix: p2,\n uri: tag.ns[p2]\n });\n });\n }\n for (var i2 = 0, l2 = parser.attribList.length; i2 < l2; i2++) {\n var nv = parser.attribList[i2];\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 uri = prefix === \"\" ? \"\" : tag.ns[prefix] || \"\";\n var a2 = {\n name,\n value,\n prefix,\n local,\n uri\n };\n if (prefix && prefix !== \"xmlns\" && !uri) {\n strictFail(parser, \"Unbound namespace prefix: \" + JSON.stringify(prefix));\n a2.uri = prefix;\n }\n parser.tag.attributes[name] = a2;\n emitNode(parser, \"onattribute\", a2);\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 t2 = parser.tags.length;\n var tagName = parser.tagName;\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]();\n }\n var closeTo = tagName;\n while (t2--) {\n var close = parser.tags[t2];\n if (close.name !== closeTo) {\n strictFail(parser, \"Unexpected close tag\");\n } else {\n break;\n }\n }\n if (t2 < 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 s3 = parser.tags.length;\n while (s3-- > t2) {\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 i2 in tag.ns) {\n x[i2] = tag.ns[i2];\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(p2) {\n var n2 = tag.ns[p2];\n emitNode(parser, \"onclosenamespace\", { prefix: p2, uri: n2 });\n });\n }\n }\n if (t2 === 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, c2) {\n if (c2 === \"<\") {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else if (!isWhitespace(c2)) {\n strictFail(parser, \"Non-whitespace before first tag.\");\n parser.textNode = c2;\n parser.state = S.TEXT;\n }\n }\n function charAt(chunk, i2) {\n var result = \"\";\n if (i2 < chunk.length) {\n result = chunk.charAt(i2);\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 i2 = 0;\n var c2 = \"\";\n while (true) {\n c2 = charAt(chunk, i2++);\n parser.c = c2;\n if (!c2) {\n break;\n }\n if (parser.trackPosition) {\n parser.position++;\n if (c2 === \"\\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 (c2 === \"\\uFEFF\") {\n continue;\n }\n beginWhiteSpace(parser, c2);\n continue;\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c2);\n continue;\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i2 - 1;\n while (c2 && c2 !== \"<\" && c2 !== \"&\") {\n c2 = charAt(chunk, i2++);\n if (c2 && parser.trackPosition) {\n parser.position++;\n if (c2 === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n }\n parser.textNode += chunk.substring(starti, i2 - 1);\n }\n if (c2 === \"<\" && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else {\n if (!isWhitespace(c2) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, \"Text data outside of root node.\");\n }\n if (c2 === \"&\") {\n parser.state = S.TEXT_ENTITY;\n } else {\n parser.textNode += c2;\n }\n }\n continue;\n case S.SCRIPT:\n if (c2 === \"<\") {\n parser.state = S.SCRIPT_ENDING;\n } else {\n parser.script += c2;\n }\n continue;\n case S.SCRIPT_ENDING:\n if (c2 === \"/\") {\n parser.state = S.CLOSE_TAG;\n } else {\n parser.script += \"<\" + c2;\n parser.state = S.SCRIPT;\n }\n continue;\n case S.OPEN_WAKA:\n if (c2 === \"!\") {\n parser.state = S.SGML_DECL;\n parser.sgmlDecl = \"\";\n } else if (isWhitespace(c2)) ;\n else if (isMatch(nameStart, c2)) {\n parser.state = S.OPEN_TAG;\n parser.tagName = c2;\n } else if (c2 === \"/\") {\n parser.state = S.CLOSE_TAG;\n parser.tagName = \"\";\n } else if (c2 === \"?\") {\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 c2 = new Array(pad).join(\" \") + c2;\n }\n parser.textNode += \"<\" + c2;\n parser.state = S.TEXT;\n }\n continue;\n case S.SGML_DECL:\n if (parser.sgmlDecl + c2 === \"--\") {\n parser.state = S.COMMENT;\n parser.comment = \"\";\n parser.sgmlDecl = \"\";\n continue;\n }\n if (parser.doctype && parser.doctype !== true && parser.sgmlDecl) {\n parser.state = S.DOCTYPE_DTD;\n parser.doctype += \"<!\" + parser.sgmlDecl + c2;\n parser.sgmlDecl = \"\";\n } else if ((parser.sgmlDecl + c2).toUpperCase() === CDATA) {\n emitNode(parser, \"onopencdata\");\n parser.state = S.CDATA;\n parser.sgmlDecl = \"\";\n parser.cdata = \"\";\n } else if ((parser.sgmlDecl + c2).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 (c2 === \">\") {\n emitNode(parser, \"onsgmldeclaration\", parser.sgmlDecl);\n parser.sgmlDecl = \"\";\n parser.state = S.TEXT;\n } else if (isQuote(c2)) {\n parser.state = S.SGML_DECL_QUOTED;\n parser.sgmlDecl += c2;\n } else {\n parser.sgmlDecl += c2;\n }\n continue;\n case S.SGML_DECL_QUOTED:\n if (c2 === parser.q) {\n parser.state = S.SGML_DECL;\n parser.q = \"\";\n }\n parser.sgmlDecl += c2;\n continue;\n case S.DOCTYPE:\n if (c2 === \">\") {\n parser.state = S.TEXT;\n emitNode(parser, \"ondoctype\", parser.doctype);\n parser.doctype = true;\n } else {\n parser.doctype += c2;\n if (c2 === \"[\") {\n parser.state = S.DOCTYPE_DTD;\n } else if (isQuote(c2)) {\n parser.state = S.DOCTYPE_QUOTED;\n parser.q = c2;\n }\n }\n continue;\n case S.DOCTYPE_QUOTED:\n parser.doctype += c2;\n if (c2 === parser.q) {\n parser.q = \"\";\n parser.state = S.DOCTYPE;\n }\n continue;\n case S.DOCTYPE_DTD:\n if (c2 === \"]\") {\n parser.doctype += c2;\n parser.state = S.DOCTYPE;\n } else if (c2 === \"<\") {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else if (isQuote(c2)) {\n parser.doctype += c2;\n parser.state = S.DOCTYPE_DTD_QUOTED;\n parser.q = c2;\n } else {\n parser.doctype += c2;\n }\n continue;\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c2;\n if (c2 === parser.q) {\n parser.state = S.DOCTYPE_DTD;\n parser.q = \"\";\n }\n continue;\n case S.COMMENT:\n if (c2 === \"-\") {\n parser.state = S.COMMENT_ENDING;\n } else {\n parser.comment += c2;\n }\n continue;\n case S.COMMENT_ENDING:\n if (c2 === \"-\") {\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 += \"-\" + c2;\n parser.state = S.COMMENT;\n }\n continue;\n case S.COMMENT_ENDED:\n if (c2 !== \">\") {\n strictFail(parser, \"Malformed comment\");\n parser.comment += \"--\" + c2;\n parser.state = S.COMMENT;\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD;\n } else {\n parser.state = S.TEXT;\n }\n continue;\n case S.CDATA:\n if (c2 === \"]\") {\n parser.state = S.CDATA_ENDING;\n } else {\n parser.cdata += c2;\n }\n continue;\n case S.CDATA_ENDING:\n if (c2 === \"]\") {\n parser.state = S.CDATA_ENDING_2;\n } else {\n parser.cdata += \"]\" + c2;\n parser.state = S.CDATA;\n }\n continue;\n case S.CDATA_ENDING_2:\n if (c2 === \">\") {\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 (c2 === \"]\") {\n parser.cdata += \"]\";\n } else {\n parser.cdata += \"]]\" + c2;\n parser.state = S.CDATA;\n }\n continue;\n case S.PROC_INST:\n if (c2 === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else if (isWhitespace(c2)) {\n parser.state = S.PROC_INST_BODY;\n } else {\n parser.procInstName += c2;\n }\n continue;\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c2)) {\n continue;\n } else if (c2 === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else {\n parser.procInstBody += c2;\n }\n continue;\n case S.PROC_INST_ENDING:\n if (c2 === \">\") {\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 += \"?\" + c2;\n parser.state = S.PROC_INST_BODY;\n }\n continue;\n case S.OPEN_TAG:\n if (isMatch(nameBody, c2)) {\n parser.tagName += c2;\n } else {\n newTag(parser);\n if (c2 === \">\") {\n openTag(parser);\n } else if (c2 === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else {\n if (!isWhitespace(c2)) {\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 (c2 === \">\") {\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(c2)) {\n continue;\n } else if (c2 === \">\") {\n openTag(parser);\n } else if (c2 === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c2)) {\n parser.attribName = c2;\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 (c2 === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (c2 === \">\") {\n strictFail(parser, \"Attribute without value\");\n parser.attribValue = parser.attribName;\n attrib(parser);\n openTag(parser);\n } else if (isWhitespace(c2)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE;\n } else if (isMatch(nameBody, c2)) {\n parser.attribName += c2;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c2 === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (isWhitespace(c2)) {\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 (c2 === \">\") {\n openTag(parser);\n } else if (isMatch(nameStart, c2)) {\n parser.attribName = c2;\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(c2)) {\n continue;\n } else if (isQuote(c2)) {\n parser.q = c2;\n parser.state = S.ATTRIB_VALUE_QUOTED;\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, \"Unquoted attribute value\");\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED;\n parser.attribValue = c2;\n }\n continue;\n case S.ATTRIB_VALUE_QUOTED:\n if (c2 !== parser.q) {\n if (c2 === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q;\n } else {\n parser.attribValue += c2;\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(c2)) {\n parser.state = S.ATTRIB;\n } else if (c2 === \">\") {\n openTag(parser);\n } else if (c2 === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c2)) {\n strictFail(parser, \"No whitespace between attributes\");\n parser.attribName = c2;\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(c2)) {\n if (c2 === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_U;\n } else {\n parser.attribValue += c2;\n }\n continue;\n }\n attrib(parser);\n if (c2 === \">\") {\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(c2)) {\n continue;\n } else if (notMatch(nameStart, c2)) {\n if (parser.script) {\n parser.script += \"</\" + c2;\n parser.state = S.SCRIPT;\n } else {\n strictFail(parser, \"Invalid tagname in closing tag.\");\n }\n } else {\n parser.tagName = c2;\n }\n } else if (c2 === \">\") {\n closeTag(parser);\n } else if (isMatch(nameBody, c2)) {\n parser.tagName += c2;\n } else if (parser.script) {\n parser.script += \"</\" + parser.tagName;\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n } else {\n if (!isWhitespace(c2)) {\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(c2)) {\n continue;\n }\n if (c2 === \">\") {\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 buffer;\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT;\n buffer = \"textNode\";\n break;\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED;\n buffer = \"attribValue\";\n break;\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED;\n buffer = \"attribValue\";\n break;\n }\n if (c2 === \";\") {\n var parsedEntity = parseEntity(parser);\n if (parser.opt.unparsedEntities && !Object.values(sax2.XML_ENTITIES).includes(parsedEntity)) {\n parser.entity = \"\";\n parser.state = returnState;\n parser.write(parsedEntity);\n } else {\n parser[buffer] += parsedEntity;\n parser.entity = \"\";\n parser.state = returnState;\n }\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c2)) {\n parser.entity += c2;\n } else {\n strictFail(parser, \"Invalid character in entity name\");\n parser[buffer] += \"&\" + parser.entity + c2;\n parser.entity = \"\";\n parser.state = returnState;\n }\n continue;\n default: {\n throw new Error(parser, \"Unknown state: \" + parser.state);\n }\n }\n }\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser);\n }\n return parser;\n }\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n if (!String.fromCodePoint) {\n (function() {\n var stringFromCharCode = String.fromCharCode;\n var floor = 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 floor(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);\n })(sax$1);\n return sax$1;\n}\nvar saxExports = requireSax();\nconst sax = /* @__PURE__ */ getDefaultExportFromCjs(saxExports);\nconst namespaceMapping = {\n \"http://www.w3.org/2000/svg\": {\n ext: \"svg\",\n mime: \"image/svg+xml\"\n },\n \"http://www.w3.org/1999/xhtml\": {\n ext: \"xhtml\",\n mime: \"application/xhtml+xml\"\n },\n \"http://www.opengis.net/kml/2.2\": {\n ext: \"kml\",\n mime: \"application/vnd.google-earth.kml+xml\"\n },\n \"http://www.opengis.net/gml\": {\n ext: \"gml\",\n mime: \"application/gml+xml\"\n }\n};\nconst rootNameMapping = {\n rss: {\n ext: \"rss\",\n mime: \"application/rss+xml\"\n },\n \"score-partwise\": {\n ext: \"musicxml\",\n mime: \"application/vnd.recordare.musicxml+xml\"\n },\n svg: {\n ext: \"svg\",\n mime: \"image/svg+xml\"\n }\n};\nclass XmlTextDetector {\n constructor(options) {\n this.options = options ?? {};\n this.firstTag = true;\n this.onEnd = false;\n this.parser = sax.parser(true, { xmlns: true });\n this.nesting = 0;\n this.parser.onerror = (e2) => {\n if (e2.message.startsWith(\"Invalid character entity\")) {\n return;\n }\n this.fileType = void 0;\n this.onEnd = true;\n };\n this.parser.onopentag = (node) => {\n ++this.nesting;\n if (!this.firstTag || this.onEnd) {\n return;\n }\n this.firstTag = false;\n if (node.uri) {\n this.fileType = namespaceMapping[node.uri];\n } else if (node.name) {\n this.fileType = rootNameMapping[node.name.toLowerCase()];\n }\n if (this.fileType && !this.options.fullScan) {\n this.onEnd = true;\n }\n };\n this.parser.onclosetag = () => {\n --this.nesting;\n };\n }\n write(text) {\n this.parser.write(text);\n }\n close() {\n this.parser.close();\n this.onEnd = true;\n }\n isValid() {\n return this.nesting === 0;\n }\n}\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n const xmlTextDetector = new XmlTextDetector();\n xmlTextDetector.write(string);\n return xmlTextDetector.isValid() && xmlTextDetector.fileType?.ext === \"svg\";\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get hidden() {\n return this._view.hidden;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (\"hidden\" in view && typeof view.hidden !== \"boolean\") {\n throw new Error(\"View hidden must be a boolean\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n })(re, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t: t2 } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re2[t2.LOOSE] : re2[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n }\n semver = SemVer;\n return semver;\n}\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.2\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, ...event) {\n this.bus.emit(name, ...event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.2\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, ...event) {\n const handlers = this.handlers.get(name) || [];\n handlers.forEach((h2) => {\n try {\n ;\n h2(event[0]);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, ...event) {\n getBus().emit(name, ...event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n//# sourceMappingURL=index.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.widget-file[data-v-f5ca5316]{display:flex;flex-grow:1;color:var(--color-main-text) !important;text-decoration:none !important;padding:0 !important}.widget-file__image[data-v-f5ca5316]{width:30%;min-width:160px;max-width:320px;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-file__image--icon[data-v-f5ca5316]{min-width:88px;max-width:88px;padding:12px;padding-inline-end:0;display:flex;align-items:center;justify-content:center}.widget-file__title[data-v-f5ca5316]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold}.widget-file__details[data-v-f5ca5316]{padding:12px;flex-grow:1;display:flex;flex-direction:column}.widget-file__details p[data-v-f5ca5316]{margin:0;padding:0}.widget-file__description[data-v-f5ca5316]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-file--link[data-v-f5ca5316]{color:var(--color-text-maxcontrast)}.widget-file--interactive[data-v-f5ca5316]{position:relative;height:400px;max-height:50vh;margin:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/ReferenceFileWidget.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CACA,WAAA,CACA,uCAAA,CACA,+BAAA,CACA,oBAAA,CAEA,qCACC,SAAA,CACA,eAAA,CACA,eAAA,CACA,0BAAA,CACA,qBAAA,CACA,2BAAA,CAEA,2CACC,cAAA,CACA,cAAA,CACA,YAAA,CACA,oBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAIF,qCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CAGD,uCACC,YAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CAEA,yCACC,QAAA,CACA,SAAA,CAIF,2CACC,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,2BAAA,CAID,oCACC,mCAAA,CAGD,2CACC,iBAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA\",\"sourcesContent\":[\"\\n.widget-file {\\n\\tdisplay: flex;\\n\\tflex-grow: 1;\\n\\tcolor: var(--color-main-text) !important;\\n\\ttext-decoration: none !important;\\n\\tpadding: 0 !important;\\n\\n\\t&__image {\\n\\t\\twidth: 30%;\\n\\t\\tmin-width: 160px;\\n\\t\\tmax-width: 320px;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: cover;\\n\\t\\tbackground-repeat: no-repeat;\\n\\n\\t\\t&--icon {\\n\\t\\t\\tmin-width: 88px;\\n\\t\\t\\tmax-width: 88px;\\n\\t\\t\\tpadding: 12px;\\n\\t\\t\\tpadding-inline-end: 0;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__details {\\n\\t\\tpadding: 12px;\\n\\t\\tflex-grow: 1;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__description {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tdisplay: -webkit-box;\\n\\t\\t-webkit-line-clamp: 3;\\n\\t\\tline-clamp: 3;\\n\\t\\t-webkit-box-orient: vertical;\\n\\t}\\n\\n\\t// No preview, standard link to ressource\\n\\t&--link {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&--interactive {\\n\\t\\tposition: relative;\\n\\t\\theight: 400px;\\n\\t\\tmax-height: 50vh;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/referencePickerModal-Ba6soz9w.css';\nimport { e as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, f as hasFullWidth, c as renderCustomPickerElement, g as destroyCustomPickerElement, d as isCustomPickerElementRegistered, j as getCustomPickerElementSize } from \"./index-56SXuvlv.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, V as t21, a as t, W as t7, X as t44, Y as t38, Z as t22, B as t40, _ as t29, n as t17, $ as t11 } from \"./_l10n-DIOHNc85.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { imagePath, generateOcsUrl } from \"@nextcloud/router\";\nimport NcEmptyContent from \"../Components/NcEmptyContent.mjs\";\nimport { N as NcHighlight } from \"./index-Bz6q9mZw.mjs\";\nimport { N as NcSelect } from \"./NcSelect-DmIaznJY.mjs\";\nimport { useElementSize, useIntersectionObserver } from \"@vueuse/core\";\nimport Vue, { ref, nextTick } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcTextField } from \"./NcTextField-Cd_RjGj6.mjs\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nregister(t21);\nconst IDLE_TIMEOUT = 3 * 60 * 1e3;\nconst _sfc_main$8 = {\n name: \"NcReferenceWidget\",\n components: {\n NcButton\n },\n props: {\n reference: {\n type: Object,\n required: true\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const isVisible = ref(false);\n const widgetRoot = ref();\n const { width } = useElementSize(widgetRoot);\n useIntersectionObserver(widgetRoot, ([entry]) => {\n nextTick(() => {\n isVisible.value = entry.isIntersecting;\n });\n });\n return {\n width,\n isVisible,\n widgetRoot\n };\n },\n data() {\n return {\n showInteractive: false,\n rendered: false,\n idleTimeout: null\n };\n },\n computed: {\n isInteractive() {\n return !this.interactiveOptIn && this.interactive || this.showInteractive;\n },\n hasFullWidth() {\n return hasFullWidth(this.reference.richObjectType);\n },\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n hasInteractiveView() {\n return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.numberOfLines === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.numberOfLines;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n numberOfLines() {\n const lineCountOffsets = [450, 550, 650, Infinity];\n return lineCountOffsets.findIndex((max) => this.width < max);\n },\n compactLink() {\n const link = this.reference.openGraphObject.link;\n if (!link) {\n return \"\";\n }\n if (link.startsWith(\"https://\")) {\n return link.substring(8);\n }\n if (link.startsWith(\"http://\")) {\n return link.substring(7);\n }\n return link;\n },\n route() {\n return getRoute(this.$router, this.reference.openGraphObject.link);\n },\n referenceWidgetLinkComponent() {\n return this.route ? RouterLink : \"a\";\n },\n referenceWidgetLinkProps() {\n return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: \"_blank\" };\n }\n },\n watch: {\n isVisible: {\n handler(val) {\n if (!val) {\n this.idleTimeout = setTimeout(() => {\n if (!this.isVisible) {\n this.destroyWidget();\n }\n }, IDLE_TIMEOUT);\n return;\n }\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (!this.rendered) {\n this.renderWidget();\n }\n },\n immediate: true\n }\n },\n beforeDestroy() {\n this.destroyWidget();\n },\n methods: {\n t,\n enableInteractive() {\n this.showInteractive = true;\n this.renderWidget();\n },\n renderWidget() {\n if (!this.$refs.customWidget) {\n return;\n }\n if (this?.reference?.richObjectType === \"open-graph\") {\n return;\n }\n this.$refs.customWidget.innerHTML = \"\";\n const widget = document.createElement(\"div\");\n widget.style = \"width: 100%;\";\n this.$refs.customWidget.appendChild(widget);\n this.$nextTick(() => {\n renderWidget(widget, {\n ...this.reference,\n interactive: this.isInteractive\n });\n this.rendered = true;\n });\n },\n destroyWidget() {\n if (this.rendered) {\n destroyWidget(this.reference.richObjectType, this.$el);\n this.rendered = false;\n }\n }\n }\n};\nvar _sfc_render$8 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"widgetRoot\", class: { \"toggle-interactive\": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { ref: \"customWidget\", staticClass: \"widget-custom\", class: { \"full-width\": _vm.hasFullWidth } }) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: \"component\", staticClass: \"widget-default\", attrs: { \"rel\": \"noopener noreferrer\" } }, \"component\", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--name\" }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.name) + \" \")]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.description) + \" \")]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(\" \" + _vm._s(_vm.compactLink) + \" \")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c(\"NcButton\", { staticClass: \"toggle-interactive--button\", on: { \"click\": _vm.enableInteractive } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Enable interactive view\")) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$8 = [];\nvar __component__$8 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$8,\n _sfc_render$8,\n _sfc_staticRenderFns$8,\n false,\n null,\n \"734d6ae9\"\n);\nconst NcReferenceWidget = __component__$8.exports;\nconst _sfc_main$7 = {\n name: \"NcCustomPickerElement\",\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n isRegistered: isCustomPickerElementRegistered(this.provider.id),\n renderResult: null\n };\n },\n mounted() {\n if (this.isRegistered) {\n this.renderElement();\n }\n },\n beforeDestroy() {\n if (this.isRegistered) {\n destroyCustomPickerElement(this.provider.id, this.$el, this.renderResult);\n }\n },\n methods: {\n renderElement() {\n if (this.$refs.domElement) {\n this.$refs.domElement.innerHTML = \"\";\n }\n const renderFunctionResult = renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false });\n Promise.resolve(renderFunctionResult).then((result) => {\n this.renderResult = result;\n if (this.renderResult.object?._isVue && this.renderResult.object?.$on) {\n this.renderResult.object.$on(\"submit\", this.onSubmit);\n this.renderResult.object.$on(\"cancel\", this.onCancel);\n }\n this.renderResult.element.addEventListener(\"submit\", (e) => {\n this.onSubmit(e.detail);\n });\n this.renderResult.element.addEventListener(\"cancel\", this.onCancel);\n });\n },\n onSubmit(value) {\n this.$emit(\"submit\", value);\n },\n onCancel() {\n this.$emit(\"cancel\");\n }\n }\n};\nvar _sfc_render$7 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"domElement\" });\n};\nvar _sfc_staticRenderFns$7 = [];\nvar __component__$7 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$7,\n _sfc_render$7,\n _sfc_staticRenderFns$7,\n false,\n null,\n \"de9850e4\"\n);\nconst NcCustomPickerElement = __component__$7.exports;\nregister(t7);\nconst anyLinkProviderId = \"any-link\";\nconst anyLinkProvider = {\n id: anyLinkProviderId,\n title: t(\"Any link\"),\n icon_url: imagePath(\"core\", \"filetypes/link.svg\")\n};\nif (!window._vue_richtext_reference_providers) {\n window._vue_richtext_reference_providers = loadState(\"core\", \"reference-provider-list\", []);\n}\nif (!window._vue_richtext_reference_provider_timestamps) {\n window._vue_richtext_reference_provider_timestamps = loadState(\"core\", \"reference-provider-timestamps\", {});\n}\nfunction getProvider(providerId) {\n if (providerId === anyLinkProviderId) {\n return anyLinkProvider;\n }\n return getProviders().find((p) => p.id === providerId);\n}\nfunction getProviders() {\n return window._vue_richtext_reference_providers.filter((p) => {\n const keep = !!p.search_providers_ids && p.search_providers_ids.length > 0 || isCustomPickerElementRegistered(p.id);\n if (!keep) {\n console.debug(\"[smart picker]\", p.id, \"reference provider is discoverable but does not have any related search provider or custom picker component registered\");\n }\n return keep;\n });\n}\nfunction sortProviders(providerList) {\n const timestamps = window._vue_richtext_reference_provider_timestamps;\n return providerList.sort((a, b) => {\n return a.order === b.order ? 0 : a.order > b.order ? 1 : -1;\n }).sort((a, b) => {\n const ta = timestamps[a.id];\n const tb = timestamps[b.id];\n return ta === tb ? 0 : tb === void 0 ? -1 : ta === void 0 ? 1 : ta > tb ? -1 : 1;\n });\n}\nfunction searchProvider(query, limit = null) {\n const providers = getProviders();\n const escapedQuery = query.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const regexp = new RegExp(escapedQuery, \"i\");\n const sortedProviders = sortProviders(providers);\n const filteredSortedProviders = sortedProviders.filter((p) => {\n return p.title.match(regexp);\n });\n const searchResult = limit ? filteredSortedProviders.slice(0, limit) : filteredSortedProviders;\n if (query === \"\" || searchResult.length === 0) {\n searchResult.push(anyLinkProvider);\n }\n return searchResult;\n}\nfunction touchProvider(providerId) {\n const timestamp = Math.floor(Date.now() / 1e3);\n const params = {\n timestamp\n };\n const url = generateOcsUrl(\"references/provider/{providerId}\", { providerId });\n axios.put(url, params).then((response) => {\n window._vue_richtext_reference_provider_timestamps[providerId] = timestamp;\n });\n}\nlet mytimer = 0;\nfunction delay(callback, ms) {\n return function() {\n const context = this;\n const args = arguments;\n clearTimeout(mytimer);\n mytimer = setTimeout(function() {\n callback.apply(context, args);\n }, ms);\n };\n}\nfunction isUrl(str) {\n try {\n return Boolean(new URL(str));\n } catch (error) {\n return false;\n }\n}\nregister(t38, t44);\nconst _sfc_main$6 = {\n name: \"LinkVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$6 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon link-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$6 = [];\nvar __component__$6 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$6,\n _sfc_render$6,\n _sfc_staticRenderFns$6,\n false,\n null,\n null\n);\nconst LinkVariantIcon = __component__$6.exports;\nconst _sfc_main$5 = {\n name: \"NcProviderList\",\n components: {\n NcSelect,\n NcHighlight,\n NcEmptyContent,\n LinkVariantIcon\n },\n emits: [\n \"select-provider\",\n \"submit\"\n ],\n data() {\n return {\n selectedProvider: null,\n query: \"\",\n multiselectPlaceholder: t(\"Select provider\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n options() {\n const result = [];\n if (this.query !== \"\" && isUrl(this.query)) {\n result.push({\n id: this.query,\n title: this.query,\n isLink: true\n });\n }\n result.push(...searchProvider(this.query));\n return result;\n }\n },\n methods: {\n focus() {\n setTimeout(() => {\n this.$refs[\"provider-select\"]?.$el?.querySelector(\"#provider-select-input\")?.focus();\n }, 300);\n },\n onProviderSelected(p) {\n if (p !== null) {\n if (p.isLink) {\n this.$emit(\"submit\", p.title);\n } else {\n this.$emit(\"select-provider\", p);\n }\n this.selectedProvider = null;\n }\n },\n onSearch(query, loading) {\n this.query = query;\n }\n }\n};\nvar _sfc_render$5 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"provider-list\" }, [_c(\"NcSelect\", { ref: \"provider-select\", staticClass: \"provider-list--select\", attrs: { \"input-id\": \"provider-select-input\", \"label\": \"title\", \"placeholder\": _vm.multiselectPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"clear-search-on-select\": true, \"clear-search-on-blur\": () => false, \"filterable\": false }, on: { \"search\": _vm.onSearch, \"input\": _vm.onProviderSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isLink ? _c(\"div\", { staticClass: \"provider\" }, [_c(\"LinkVariantIcon\", { staticClass: \"link-icon\", attrs: { \"size\": 20 } }), _c(\"span\", [_vm._v(_vm._s(option.title))])], 1) : _c(\"div\", { staticClass: \"provider\" }, [_c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": option.icon_url, \"alt\": _vm.providerIconAlt } }), _c(\"NcHighlight\", { staticClass: \"option-text\", attrs: { \"search\": _vm.query, \"text\": option.title } })], 1)];\n } }]), model: { value: _vm.selectedProvider, callback: function($$v) {\n _vm.selectedProvider = $$v;\n }, expression: \"selectedProvider\" } }), _c(\"NcEmptyContent\", { staticClass: \"provider-list--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n \"f03ee0c9\"\n);\nconst NcProviderList = __component__$5.exports;\nregister(t22);\nconst _sfc_main$4 = {\n name: \"NcRawLinkInput\",\n components: {\n LinkVariantIcon,\n NcEmptyContent,\n NcLoadingIcon,\n NcReferenceWidget,\n NcTextField\n },\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n inputValue: \"\",\n loading: false,\n reference: null,\n abortController: null,\n inputPlaceholder: t(\"Enter link\")\n };\n },\n computed: {\n isLinkValid() {\n return isUrl(this.inputValue);\n }\n },\n methods: {\n focus() {\n this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0]?.focus();\n },\n onSubmit(e) {\n const value = e.target.value;\n if (this.isLinkValid) {\n this.$emit(\"submit\", value);\n }\n },\n onClear() {\n this.inputValue = \"\";\n this.reference = null;\n },\n onInput() {\n this.reference = null;\n if (this.abortController) {\n this.abortController.abort();\n }\n if (this.isLinkValid) {\n delay(() => {\n this.updateReference();\n }, 500)();\n }\n },\n updateReference() {\n this.loading = true;\n this.abortController = new AbortController();\n axios.get(generateOcsUrl(\"references/resolve\", 2) + \"?reference=\" + encodeURIComponent(this.inputValue), {\n signal: this.abortController.signal\n }).then((response) => {\n this.reference = response.data.ocs.data.references[this.inputValue];\n }).catch((error) => {\n console.error(error);\n }).then(() => {\n this.loading = false;\n });\n }\n }\n};\nvar _sfc_render$4 = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"raw-link\" }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"NcTextField\", { ref: \"url-input\", attrs: { \"value\": _vm.inputValue, \"show-trailing-button\": _vm.inputValue !== \"\", \"label\": _vm.inputPlaceholder }, on: { \"update:value\": [function($event) {\n _vm.inputValue = $event;\n }, _vm.onInput], \"trailing-button-click\": _vm.onClear }, nativeOn: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_vm.loading ? _c(\"NcLoadingIcon\", { attrs: { \"size\": 16 } }) : _c(\"LinkVariantIcon\", { attrs: { \"size\": 16 } })], 1)], 1), _vm.reference !== null ? _c(\"NcReferenceWidget\", { staticClass: \"reference-widget\", attrs: { \"reference\": _vm.reference } }) : _c(\"NcEmptyContent\", { staticClass: \"raw-link--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n \"3c1803b5\"\n);\nconst NcRawLinkInput = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"NcSearchResult\",\n components: {\n NcHighlight\n },\n props: {\n /**\n * Unified search result entry\n */\n entry: {\n type: Object,\n required: true\n },\n /**\n * The query that led to getting this result\n * Used to highlight the entry text\n */\n query: {\n type: String,\n required: true\n }\n }\n};\nvar _sfc_render$3 = function render6() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"result\" }, [_vm.entry.icon ? _c(\"div\", { staticClass: \"result--icon-class\", class: { [_vm.entry.icon]: true, rounded: _vm.entry.rounded } }) : _c(\"img\", { staticClass: \"result--image\", class: { rounded: _vm.entry.rounded }, attrs: { \"src\": _vm.entry.thumbnailUrl } }), _c(\"div\", { staticClass: \"result--content\" }, [_c(\"span\", { staticClass: \"result--content--name\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.title } })], 1), _c(\"span\", { staticClass: \"result--content--subline\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.subline } })], 1)])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"ff4bcbf3\"\n);\nconst NcSearchResult = __component__$3.exports;\nregister(t29, t38, t40);\nconst LIMIT = 5;\nconst _sfc_main$2 = {\n name: \"NcSearch\",\n components: {\n LinkVariantIcon,\n DotsHorizontalIcon: DotsHorizontal,\n NcEmptyContent,\n NcSelect,\n NcSearchResult\n },\n props: {\n /**\n * The selected reference provider\n */\n provider: {\n type: Object,\n required: true\n },\n showEmptyContent: {\n type: Boolean,\n default: true\n },\n searchPlaceholder: {\n type: String,\n default: null\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n searchQuery: \"\",\n selectedResult: null,\n resultsBySearchProvider: {},\n searching: false,\n searchingMoreOf: null,\n abortController: null,\n noOptionsText: t(\"Start typing to search\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n mySearchPlaceholder() {\n return this.searchPlaceholder || t(\"Search\");\n },\n searchProviderIds() {\n return this.provider.search_providers_ids;\n },\n options() {\n if (this.searchQuery === \"\") {\n return [];\n }\n const options = [];\n if (isUrl(this.searchQuery)) {\n options.push(this.rawLinkEntry);\n }\n options.push(...this.formattedSearchResults);\n return options;\n },\n rawLinkEntry() {\n return {\n id: \"rawLinkEntry\",\n resourceUrl: this.searchQuery,\n isRawLink: true\n };\n },\n formattedSearchResults() {\n const results = [];\n this.searchProviderIds.forEach((pid) => {\n if (this.resultsBySearchProvider[pid].entries.length > 0) {\n if (this.searchProviderIds.length > 1 || this.resultsBySearchProvider[pid].entries.length > 1) {\n results.push({\n id: \"groupTitle-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isCustomGroupTitle: true,\n providerId: pid\n });\n }\n const providerEntriesWithId = this.resultsBySearchProvider[pid].entries.map((entry, index) => {\n return {\n id: \"provider-\" + pid + \"-entry-\" + index,\n ...entry\n };\n });\n results.push(...providerEntriesWithId);\n if (this.resultsBySearchProvider[pid].isPaginated) {\n results.push({\n id: \"moreOf-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isMore: true,\n providerId: pid,\n isLoading: this.searchingMoreOf === pid\n });\n }\n }\n });\n return results;\n }\n },\n mounted() {\n this.resetResults();\n },\n beforeDestroy() {\n this.cancelSearchRequests();\n },\n methods: {\n t,\n resetResults() {\n const resultsBySearchProvider = {};\n this.searchProviderIds.forEach((pid) => {\n resultsBySearchProvider[pid] = {\n entries: []\n };\n });\n this.resultsBySearchProvider = resultsBySearchProvider;\n },\n focus() {\n setTimeout(() => {\n this.$refs[\"search-select\"]?.$el?.querySelector(\"#search-select-input\")?.focus();\n }, 300);\n },\n cancelSearchRequests() {\n if (this.abortController) {\n this.abortController.abort();\n }\n },\n onSearchInput(query, loading) {\n this.searchQuery = query;\n delay(() => {\n this.updateSearch();\n }, 500)();\n },\n onSelectResultSelected(item) {\n if (item !== null) {\n if (item.resourceUrl) {\n this.cancelSearchRequests();\n this.$emit(\"submit\", item.resourceUrl);\n } else if (item.isMore) {\n this.searchMoreOf(item.providerId).then(() => {\n this.selectedResult = null;\n });\n }\n }\n },\n searchMoreOf(searchProviderId) {\n this.searchingMoreOf = searchProviderId;\n this.cancelSearchRequests();\n return this.searchProviders(searchProviderId);\n },\n updateSearch() {\n this.cancelSearchRequests();\n this.resetResults();\n if (this.searchQuery === \"\") {\n this.searching = false;\n return;\n }\n return this.searchProviders();\n },\n searchProviders(searchProviderId = null) {\n this.abortController = new AbortController();\n this.searching = true;\n const searchPromises = searchProviderId === null ? [...this.searchProviderIds].map((pid) => {\n return this.searchOneProvider(pid);\n }) : [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)];\n return Promise.allSettled(searchPromises).then((promises) => {\n const isOneCanceled = !!promises.find((p) => {\n return p.status === \"rejected\" && (p.reason.name === \"CanceledError\" || p.reason.code === \"ERR_CANCELED\");\n });\n if (!isOneCanceled) {\n this.searching = false;\n this.searchingMoreOf = null;\n }\n });\n },\n searchOneProvider(providerId, cursor = null) {\n const url = cursor === null ? generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}\", { providerId, term: this.searchQuery, limit: LIMIT }) : generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\", { providerId, term: this.searchQuery, limit: LIMIT, cursor });\n return axios.get(url, {\n signal: this.abortController.signal\n }).then((response) => {\n const data = response.data.ocs.data;\n this.resultsBySearchProvider[providerId].name = data.name;\n this.resultsBySearchProvider[providerId].cursor = data.cursor;\n this.resultsBySearchProvider[providerId].isPaginated = data.isPaginated;\n this.resultsBySearchProvider[providerId].entries.push(...data.entries);\n });\n }\n }\n};\nvar _sfc_render$2 = function render7() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"smart-picker-search\", class: { \"with-empty-content\": _vm.showEmptyContent } }, [_c(\"NcSelect\", { ref: \"search-select\", staticClass: \"smart-picker-search--select\", attrs: { \"input-id\": \"search-select-input\", \"label\": \"name\", \"placeholder\": _vm.mySearchPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"close-on-select\": false, \"clear-search-on-select\": false, \"clear-search-on-blur\": () => false, \"reset-focus-on-options-change\": false, \"filterable\": false, \"autoscroll\": true, \"reset-on-options-change\": false, \"loading\": _vm.searching }, on: { \"search\": _vm.onSearchInput, \"input\": _vm.onSelectResultSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isRawLink ? _c(\"div\", { staticClass: \"custom-option\" }, [_c(\"LinkVariantIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Raw link {options}\", { options: option.resourceUrl })) + \" \")])], 1) : option.resourceUrl ? _c(\"NcSearchResult\", { staticClass: \"search-result\", attrs: { \"entry\": option, \"query\": _vm.searchQuery } }) : option.isCustomGroupTitle ? _c(\"span\", { staticClass: \"custom-option group-name\" }, [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon group-name-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _vm._e(), _c(\"span\", { staticClass: \"option-text\" }, [_c(\"strong\", [_vm._v(_vm._s(option.name))])])]) : option.isMore ? _c(\"span\", { class: { \"custom-option\": true } }, [option.isLoading ? _c(\"span\", { staticClass: \"option-simple-icon icon-loading-small\" }) : _c(\"DotsHorizontalIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t('Load more \"{options}\"', { options: option.name })) + \" \")])], 1) : _vm._e()];\n } }, { key: \"no-options\", fn: function() {\n return [_vm._v(\" \" + _vm._s(_vm.noOptionsText) + \" \")];\n }, proxy: true }]), model: { value: _vm.selectedResult, callback: function($$v) {\n _vm.selectedResult = $$v;\n }, expression: \"selectedResult\" } }), _vm.showEmptyContent ? _c(\"NcEmptyContent\", { staticClass: \"smart-picker-search--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"alt\": _vm.providerIconAlt, \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }], null, false, 2922132592) }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"05fef988\"\n);\nconst NcSearch = __component__$2.exports;\nconst MODES = {\n providerList: 1,\n standardLinkInput: 2,\n searchInput: 3,\n customElement: 4\n};\nconst _sfc_main$1 = {\n name: \"NcReferencePicker\",\n components: {\n NcCustomPickerElement,\n NcProviderList,\n NcRawLinkInput,\n NcSearch\n },\n props: {\n /**\n * Provider to select on creation\n * Default: null. Show the provider list\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Optional width in pixels\n * Default: 100%\n */\n width: {\n type: Number,\n default: null\n },\n /**\n * Focus on the provider list select input on creation\n * Default: true\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"cancel\",\n \"cancel-raw-link\",\n \"cancel-search\",\n \"provider-selected\",\n \"submit\"\n ],\n data() {\n return {\n MODES,\n selectedProvider: this.initialProvider\n };\n },\n computed: {\n mode() {\n return this.selectedProvider === null ? MODES.providerList : isCustomPickerElementRegistered(this.selectedProvider.id) ? MODES.customElement : this.selectedProvider.search_providers_ids ? MODES.searchInput : MODES.standardLinkInput;\n },\n pickerWrapperStyle() {\n return {\n width: this.width ? this.width + \"px\" : void 0\n };\n }\n },\n mounted() {\n if (this.focusOnCreate) {\n if (this.initialProvider) {\n setTimeout(() => {\n this.$refs[\"url-input\"]?.focus();\n }, 300);\n } else {\n this.$nextTick(() => {\n this.$refs[\"provider-list\"]?.focus();\n });\n }\n }\n },\n methods: {\n onEscapePressed() {\n if (this.selectedProvider !== null) {\n this.deselectProvider();\n } else {\n this.cancelProviderSelection();\n }\n },\n onProviderSelected(provider) {\n this.selectedProvider = provider;\n this.$emit(\"provider-selected\", provider);\n this.$nextTick(() => {\n this.$refs[\"url-input\"]?.focus();\n });\n },\n cancelCustomElement() {\n this.deselectProvider();\n },\n cancelSearch() {\n this.$emit(\"cancel-search\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelRawLinkInput() {\n this.$emit(\"cancel-raw-link\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelProviderSelection() {\n this.$emit(\"cancel\");\n },\n submitLink(link) {\n if (this.selectedProvider !== null) {\n touchProvider(this.selectedProvider.id);\n }\n this.$emit(\"submit\", link);\n this.deselectProvider();\n },\n deselectProvider() {\n this.selectedProvider = null;\n this.$emit(\"provider-selected\", null);\n setTimeout(() => {\n this.$refs[\"provider-list\"]?.focus();\n }, 300);\n }\n }\n};\nvar _sfc_render$1 = function render8() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"reference-picker\", style: _vm.pickerWrapperStyle, attrs: { \"tabindex\": \"-1\" }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onEscapePressed.apply(null, arguments);\n } } }, [_vm.mode === _vm.MODES.providerList ? _c(\"NcProviderList\", { ref: \"provider-list\", on: { \"select-provider\": _vm.onProviderSelected, \"submit\": _vm.submitLink, \"cancel\": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c(\"NcRawLinkInput\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c(\"NcSearch\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"cancel\": _vm.cancelSearch, \"submit\": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c(\"div\", { staticClass: \"custom-element-wrapper\" }, [_c(\"NcCustomPickerElement\", { staticClass: \"custom-element\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"cd33df8e\"\n);\nconst NcReferencePicker = __component__$1.exports;\nregister(t11, t17);\nconst _sfc_main = {\n name: \"NcReferencePickerModal\",\n components: {\n NcReferencePicker,\n NcModal,\n NcButton,\n ArrowLeftIcon: ArrowLeft,\n CloseIcon: Close\n },\n props: {\n /**\n * Provider to select on creation\n * Show the provider list if no initial one is provided\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Focus on the input item on create\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n },\n /**\n * If true, add the modal content to the Viewer trap elements via the event-bus\n */\n isInsideViewer: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n show: true,\n selectedProvider: this.initialProvider,\n backButtonTitle: t(\"Back to provider selection\"),\n closeButtonTitle: t(\"Close\"),\n closeButtonLabel: t(\"Close Smart Picker\")\n };\n },\n computed: {\n isProviderSelected() {\n return this.selectedProvider !== null;\n },\n showBackButton() {\n return this.initialProvider === null && this.isProviderSelected;\n },\n modalSize() {\n return this.isProviderSelected && isCustomPickerElementRegistered(this.selectedProvider.id) ? getCustomPickerElementSize(this.selectedProvider.id) ?? \"large\" : \"normal\";\n },\n showModalName() {\n return !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id);\n },\n modalName() {\n return this.isProviderSelected ? this.selectedProvider.title : t(\"Smart Picker\");\n }\n },\n mounted() {\n if (this.isInsideViewer) {\n const elem = this.$refs.modal_content;\n emit(\"viewer:trapElements:changed\", elem);\n }\n },\n methods: {\n onCancel() {\n this.show = false;\n this.$emit(\"cancel\");\n },\n onSubmit(value) {\n this.show = false;\n this.$emit(\"submit\", value);\n },\n onProviderSelect(provider) {\n this.selectedProvider = provider;\n if (provider === null && this.initialProvider !== null) {\n this.onCancel();\n }\n },\n onBackClicked() {\n this.$refs.referencePicker.deselectProvider();\n }\n }\n};\nvar _sfc_render = function render9() {\n var _vm = this, _c = _vm._self._c;\n return _vm.show ? _c(\"NcModal\", { staticClass: \"reference-picker-modal\", attrs: { \"size\": _vm.modalSize, \"can-close\": true }, on: { \"close\": _vm.onCancel } }, [_c(\"div\", { ref: \"modal_content\", staticClass: \"reference-picker-modal--content\" }, [_vm.showBackButton ? _c(\"NcButton\", { staticClass: \"back-button\", attrs: { \"aria-label\": _vm.backButtonTitle, \"title\": _vm.backButtonTitle }, on: { \"click\": _vm.onBackClicked }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowLeftIcon\")];\n }, proxy: true }], null, false, 3001860362) }) : _vm._e(), _c(\"NcButton\", { staticClass: \"close-button\", attrs: { \"aria-label\": _vm.closeButtonLabel, \"title\": _vm.closeButtonTitle, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"CloseIcon\")];\n }, proxy: true }], null, false, 2491825086) }), _vm.showModalName ? _c(\"h2\", [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"NcReferencePicker\", { ref: \"referencePicker\", attrs: { \"initial-provider\": _vm.initialProvider, \"focus-on-create\": _vm.focusOnCreate }, on: { \"provider-selected\": _vm.onProviderSelect, \"submit\": _vm.onSubmit, \"cancel\": _vm.onCancel } })], 1)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"c66449c1\"\n);\nconst NcReferencePickerModal = __component__.exports;\nasync function getLinkWithPicker(providerId = null, isInsideViewer = void 0) {\n return await new Promise((resolve, reject) => {\n const modalId = \"referencePickerModal\";\n const modalElement = document.createElement(\"div\");\n modalElement.id = modalId;\n document.body.append(modalElement);\n const initialProvider = providerId === null ? null : getProvider(providerId) ?? null;\n const View = Vue.extend(NcReferencePickerModal);\n const view = new View({\n propsData: {\n initialProvider,\n isInsideViewer\n }\n }).$mount(modalElement);\n view.$on(\"cancel\", () => {\n view.$destroy();\n reject(new Error(\"User cancellation\"));\n });\n view.$on(\"submit\", (link) => {\n view.$destroy();\n resolve(link);\n });\n });\n}\nexport {\n NcReferenceWidget as N,\n anyLinkProviderId as a,\n getProvider as b,\n getProviders as c,\n searchProvider as d,\n NcReferencePicker as e,\n NcReferencePickerModal as f,\n getLinkWithPicker as g,\n NcSearch as h,\n sortProviders as s\n};\n//# sourceMappingURL=referencePickerModal-sscttPbK.mjs.map\n","import { defineAsyncComponent } from \"vue\";\nconst FilePickerVue = defineAsyncComponent(() => import(\"./FilePicker-CsU6FfAP.mjs\"));\nexport {\n FilePickerVue\n};\n//# sourceMappingURL=index-BC-7VPxC.mjs.map\n","import '../assets/NcRichText-CWVHZl8s.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-sscttPbK.mjs\";\nimport { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch-BIEYfWtF.mjs\";\nimport { visit, SKIP as SKIP$1, EXIT as EXIT$1 } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport breaks from \"remark-breaks\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport remark2rehype from \"remark-rehype\";\nimport rehype2react from \"rehype-react\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport { RouterLink } from \"vue-router\";\nconst _sfc_main$1 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Array,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n },\n displayFallback: {\n type: Boolean,\n default: false\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.isVisible ? _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"NcReferenceWidget\", { key: reference?.openGraphObject?.id, attrs: { \"reference\": reference, \"interactive\": _vm.interactive, \"interactive-opt-in\": _vm.interactiveOptIn } });\n }), 1) : _vm._e();\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"ffdba753\"\n);\nconst NcReferenceList = __component__$1.exports;\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit(ast, (node2) => node2.type === \"text\", visitor);\n function visitor(node2, index, parent) {\n const placeholders = node2.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index2, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n const componentClass = component.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return h(component, {\n props,\n class: componentClass\n });\n });\n }\n return text2;\n};\nconst remarkUnescape = function() {\n return function(tree) {\n visit(\n tree,\n (node2) => [\"text\", \"code\", \"inlineCode\"].includes(node2.type),\n (node2, index, parent) => {\n parent.children.splice(index, 1, {\n ...node2,\n value: node2.value.replace(/</gmi, \"<\").replace(/>/gmi, \">\")\n });\n return [SKIP$1, index + 1];\n }\n );\n };\n};\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test);\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n }\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n const checkAsRecord = (\n /** @type {Record<string, unknown>} */\n check\n );\n return castFactory(all2);\n function all2(node2) {\n const nodeAsRecord = (\n /** @type {Record<string, unknown>} */\n /** @type {unknown} */\n node2\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node2) {\n return node2 && node2.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction color(d) {\n return d;\n}\nconst empty = [];\nconst CONTINUE = true;\nconst EXIT = false;\nconst SKIP = \"skip\";\nfunction visitParents(tree, test, visitor, reverse) {\n let check;\n {\n check = test;\n }\n const is = convert(check);\n const step = 1;\n factory(tree, void 0, [])();\n function factory(node2, index, parents) {\n const value = (\n /** @type {Record<string, unknown>} */\n node2 && typeof node2 === \"object\" ? node2 : {}\n );\n if (typeof value.type === \"string\") {\n const name = (\n // `hast`\n typeof value.tagName === \"string\" ? value.tagName : (\n // `xast`\n typeof value.name === \"string\" ? value.name : void 0\n )\n );\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(node2.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = empty;\n let subresult;\n let offset;\n let grandparents;\n if (is(node2, index, parents[parents.length - 1] || void 0)) {\n result = toResult(visitor(node2, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (\"children\" in node2 && node2.children) {\n const nodeAsParent = (\n /** @type {UnistParent} */\n node2\n );\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = -1 + step;\n grandparents = parents.concat(nodeAsParent);\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset];\n subresult = factory(child, offset, grandparents)();\n if (subresult[0] === EXIT) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n }\n return result;\n }\n }\n}\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE, value];\n }\n return value === null || value === void 0 ? empty : [value];\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node2, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node2, parents);\n }\n }\n function handler(node2, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node2);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node2.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node2]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node2.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node2.value);\n }\n if (change) {\n if (start < node2.value.length) {\n nodes.push({ type: \"text\", value: node2.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node2];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"link\");\n node2.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n };\n}\nfunction gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"phrasing\", \"label\", \"reference\"] }],\n handlers: { footnoteDefinition, footnoteReference }\n };\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteDefinition\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteReference\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction footnoteReference(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteDefinition(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n value += tracker.move(\n \"]:\" + (node2.children && node2.children.length > 0 ? \" \" : \"\")\n );\n tracker.shift(4);\n value += tracker.move(\n state.indentLines(state.containerFlow(node2, tracker.current()), map$2)\n );\n exit2();\n return value;\n}\nfunction map$2(line, index, blank) {\n if (index === 0) {\n return line;\n }\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node2, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node2, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction markdownTable(table, options = {}) {\n const align = (options.align || []).concat();\n const stringLength = options.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = options.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (options.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (options.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (options.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === \"\") && (options.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (options.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (options.alignDelimiters !== false) {\n line.push(after);\n }\n if (options.padding !== false) {\n line.push(\" \");\n }\n if (options.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n options.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node2, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node2, state) {\n return Boolean(\n state.options.fences === false && node2.value && // If there’s no info…\n !node2.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node2.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node2.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node2, _, state, info) {\n const marker = checkFence(state);\n const raw = node2.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node2, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node2.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node2.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node2.lang && node2.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node2.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node2.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node2, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker);\n exit2();\n return value;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nconst emptyOptions$1 = {};\nfunction toString(value, options) {\n const settings = emptyOptions$1;\n const includeImageAlt = typeof settings.includeImageAlt === \"boolean\" ? settings.includeImageAlt : true;\n const includeHtml = typeof settings.includeHtml === \"boolean\" ? settings.includeHtml : true;\n return one(value, includeImageAlt, includeHtml);\n}\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if (\"value\" in value) {\n return value.type === \"html\" && !includeHtml ? \"\" : value.value;\n }\n if (includeImageAlt && \"alt\" in value && value.alt) {\n return value.alt;\n }\n if (\"children\" in value) {\n return all(value.children, includeImageAlt, includeHtml);\n }\n }\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml);\n }\n return \"\";\n}\nfunction all(values, includeImageAlt, includeHtml) {\n const result = [];\n let index = -1;\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml);\n }\n return result.join(\"\");\n}\nfunction node(value) {\n return Boolean(value && typeof value === \"object\");\n}\nfunction formatHeadingAsSetext(node2, state) {\n let literalWithBreak = false;\n visit(node2, function(node3) {\n if (\"value\" in node3 && /\\r?\\n|\\r/.test(node3.value) || node3.type === \"break\") {\n literalWithBreak = true;\n return EXIT$1;\n }\n });\n return Boolean(\n (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node2, _, state, info) {\n const rank = Math.max(Math.min(6, node2.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node2, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node2, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node2, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = \"&#x\" + value.charCodeAt(0).toString(16).toUpperCase() + \";\" + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node2) {\n return node2.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node2.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node2.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node2, _, state) {\n let value = node2.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node2, state) {\n const raw = toString(node2);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node2.url && // And there’s a no title…\n !node2.title && // And the content of `node` is a single text node…\n node2.children && node2.children.length === 1 && node2.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node2.url || \"mailto:\" + raw === node2.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node2.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node2.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node2, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node2, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node2, _, state) {\n return formatLinkAsAutolink(node2, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node2, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node2, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node2.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node2.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node2.ordered) {\n const firstListItem = node2.children ? node2.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node2.children.length) {\n const item = node2.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node2, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node2, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node2)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node2.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node2, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node2, _, state, info) {\n const hasPhrasing = node2.children.some(function(d) {\n return phrasing(d);\n });\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return fn.call(state, node2, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node2, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker + marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker + marker);\n exit2();\n return value;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node2, _, state, info) {\n return state.safe(node2.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"inlineCode\");\n node2.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node2, _, state, info) {\n return serializeData(handleTableAsData(node2, state, info), node2.align);\n }\n function handleTableRow(node2, _, state, info) {\n const row = handleTableRowAsData(node2, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node2, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node2, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node2, parent, state) {\n let value = handle.inlineCode(node2, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node2 = this.stack[this.stack.length - 2];\n ok$1(node2.type === \"listItem\");\n node2.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"paragraph\");\n const head = node2.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node2) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node2.children.shift();\n } else if (node2.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node2.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node2, parent, state, info) {\n const head = node2.children[0];\n const checkable = typeof node2.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node2.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node2, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all2, extensions[index]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharRefStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharRefStart(code2) {\n return asciiAlpha(code2) ? trailCharRefInside(code2) : nok(code2);\n }\n function trailCharRefInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharRefInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n );\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(\n effects,\n whitespaceAfter,\n \"gfmFootnoteDefinitionWhitespace\"\n );\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"gfmFootnoteDefinitionIndent\",\n 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [\n [\"enter\", strikethrough, context],\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context],\n [\"enter\", text2, context]\n ];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n );\n }\n splice(nextEvents, nextEvents.length, 0, [\n [\"exit\", text2, context],\n [\"enter\", events[index][1], context],\n [\"exit\", events[index][1], context],\n [\"exit\", strikethrough, context]\n ]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array<Event>} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array<Event>} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array<Event>} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n );\n events.length = this.map[index][0];\n }\n vecs.push([...events]);\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n events.push(...slice);\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImpl(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(\n events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\"\n );\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\")\n index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n );\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok2,\n nok\n )(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor<Root>} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"interact-todo\",\n \"interact:todo\"\n ],\n data() {\n return {\n parentId: GenRandomId(5)\n };\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node2) {\n return toHast(node2, node2.component, { value: node2.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n if (this.useExtendedMarkdown) {\n if (tag === \"code\" && !rehypeHighlight.value && attrs?.attrs?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n let nestedNode = null;\n if (tag === \"li\" && Array.isArray(children) && children[0].tag === \"input\" && children[0].data.attrs.type === \"checkbox\") {\n const [inputNode, ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.tag));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + GenRandomId(5);\n const inputComponent = h(NcCheckboxRadioSwitch, {\n attrs: {\n ...inputNode.data.attrs,\n id,\n disabled: !this.interactive\n },\n on: {\n \"update:checked\": () => {\n this.$emit(\"interact-todo\", id);\n this.$emit(\"interact:todo\", id);\n }\n }\n }, labelParts);\n return h(tag, attrs, [inputComponent, nestedNode]);\n }\n }\n if (tag === \"a\") {\n const route = getRoute(this.$router, attrs.attrs.href);\n if (route) {\n delete attrs.attrs.href;\n delete attrs.attrs.target;\n return h(RouterLink, {\n ...attrs,\n props: {\n to: route\n }\n }, children);\n }\n }\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(\n this.text.replace(/<[^>]+>/g, (match) => match.replace(/</g, \"<\")).replace(/>/gmi, \">\")\n ).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n }\n },\n render(h) {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"cd4f75c7\"\n);\nconst NcRichText = __component__.exports;\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText-BWY0OxW9.mjs.map\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.accessible)?_c('div',{staticClass:\"widget-file widget-file--no-access\"},[_c('span',{staticClass:\"widget-file__image widget-file__image--icon\"},[(_vm.isFolder)?_c('FolderIcon',{attrs:{\"size\":88}}):_c('FileIcon',{attrs:{\"size\":88}})],1),_vm._v(\" \"),_c('span',{staticClass:\"widget-file__details\"},[_c('p',{staticClass:\"widget-file__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'File cannot be accessed'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"widget-file__description\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'The file could not be found or you do not have permissions to view it. Ask the sender to share it.'))+\"\\n\\t\\t\")])])]):(_vm.interactive && _vm.viewerHandler && !_vm.failedViewer)?_c(_vm.viewerHandler.component,_vm._b({tag:\"component\",staticClass:\"widget-file widget-file--interactive\",attrs:{\"active\":false /* prevent video from autoplaying */,\"can-swipe\":false,\"can-zoom\":false,\"is-embedded\":true,\"file-list\":[_vm.viewerFile],\"is-full-screen\":false,\"is-sidebar-shown\":false},on:{\"error\":function($event){_vm.failedViewer = true}}},'component',_vm.viewerFile,false)):_c('a',{staticClass:\"widget-file widget-file--link\",attrs:{\"href\":_vm.richObject.link,\"target\":\"_blank\"},on:{\"click\":_vm.navigate}},[_c('span',{staticClass:\"widget-file__image\",class:_vm.filePreviewClass,style:(_vm.filePreviewStyle)},[(!_vm.previewUrl)?[(_vm.isFolder)?_c('FolderIcon',{attrs:{\"size\":88,\"fill-color\":\"var(--color-primary-element)\"}}):_c('FileIcon',{attrs:{\"size\":88}})]:_vm._e()],2),_vm._v(\" \"),_c('span',{staticClass:\"widget-file__details\"},[_c('p',{staticClass:\"widget-file__title\"},[_vm._v(_vm._s(_vm.richObject.name))]),_vm._v(\" \"),_c('p',{staticClass:\"widget-file__description\"},[_vm._v(_vm._s(_vm.fileSize)),_c('br'),_vm._v(_vm._s(_vm.fileMtime))]),_vm._v(\" \"),_c('p',{staticClass:\"widget-file__link\"},[_vm._v(_vm._s(_vm.filePath))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceFileWidget.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceFileWidget.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceFileWidget.vue?vue&type=style&index=0&id=f5ca5316&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceFileWidget.vue?vue&type=style&index=0&id=f5ca5316&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ReferenceFileWidget.vue?vue&type=template&id=f5ca5316&scoped=true\"\nimport script from \"./ReferenceFileWidget.vue?vue&type=script&lang=ts\"\nexport * from \"./ReferenceFileWidget.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ReferenceFileWidget.vue?vue&type=style&index=0&id=f5ca5316&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f5ca5316\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":_vm.containerId}},[_c('FilePicker',_vm._b({on:{\"close\":_vm.onClose}},'FilePicker',_vm.filepickerOptions,false))],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileReferencePickerElement.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileReferencePickerElement.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileReferencePickerElement.vue?vue&type=template&id=444a075a\"\nimport script from \"./FileReferencePickerElement.vue?vue&type=script&lang=ts\"\nexport * from \"./FileReferencePickerElement.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport { t } from '@nextcloud/l10n';\nimport { registerWidget, registerCustomPickerElement, NcCustomPickerRenderResult } from '@nextcloud/vue/components/NcRichText';\nimport FileWidget from './views/ReferenceFileWidget.vue';\nimport FileReferencePickerElement from './views/FileReferencePickerElement.vue';\nVue.mixin({\n methods: {\n t,\n },\n});\nregisterWidget('file', (el, { richObjectType, richObject, accessible, interactive }) => {\n const Widget = Vue.extend(FileWidget);\n new Widget({\n propsData: {\n richObjectType,\n richObject,\n accessible,\n interactive,\n },\n }).$mount(el);\n}, () => { }, { hasInteractiveView: true });\nregisterCustomPickerElement('files', (el, { providerId, accessible }) => {\n const Element = Vue.extend(FileReferencePickerElement);\n const vueElement = new Element({\n propsData: {\n providerId,\n accessible,\n },\n }).$mount(el);\n return new NcCustomPickerRenderResult(vueElement.$el, vueElement);\n}, (el, renderResult) => {\n renderResult.object.$destroy();\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"640\":\"b2fa23a809053c6305c5\",\"5771\":\"a4e2a98efcfb7393c5bd\",\"5810\":\"f63f10359069f886ce52\",\"5862\":\"142cd48ca8ec32e57725\",\"7432\":\"4733db1a0617c85383b0\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 54;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t54: 0,\n\t640: 0,\n\t1820: 0,\n\t5810: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(75673)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","InvalidFilenameErrorReason","InvalidFilenameErrorReason2","InvalidFilenameError","Error","constructor","options","super","reason","segment","filename","cause","this","validateFilename","capabilities","files","forbiddenCharacters","forbidden_filename_characters","window","_oc_config","forbidden_filenames_characters","character","includes","toLocaleLowerCase","forbidden_filenames","endOfBasename","indexOf","basename2","substring","forbidden_filename_basenames","forbiddenFilenameExtensions","forbidden_filename_extensions","extension","length","endsWith","humanList","humanListBinary","formatFileSize","size","skipSmallSizes","binaryPrefixes","base1000","Number","order","Math","floor","log","min","readableFormat","relativeSize","pow","toFixed","parseFloat","toLocaleString","stringify","value","Date","toISOString","String","sortNodes","nodes","sortingOptions","sortingMode","sortingOrder","collection","identifiers2","orders","sorting","map","_","index","collator","Intl","Collator","numeric","usage","sort","a2","b2","identifier","entries","compare","orderBy","sortFavoritesFirst","v","attributes","favorite","sortFoldersFirst","type","name","displayname","basename","lastIndexOf","slice","hasRequiredSax","debug_1","hasRequiredDebug","constants","hasRequiredConstants","requireDebug","debug","process","env","NODE_DEBUG","test","args","console","error","requireConstants","MAX_SAFE_INTEGER","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","sax2","parser","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","i2","l2","clearBuffers","q","c","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","tag","noscript","state","S","BEGIN","strictEntities","ENTITIES","Object","create","XML_ENTITIES","attribList","xmlns","ns","rootNS","unquotedAttributeValues","trackPosition","position","line","column","emit2","EVENTS","o","F2","prototype","keys","hasOwnProperty","push","end","write","chunk","toString","c2","charAt","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT","SCRIPT_ENDING","script","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","tagName","PROC_INST","procInstName","procInstBody","pad","Array","join","COMMENT","comment","doctype","DOCTYPE_DTD","toUpperCase","CDATA","emitNode","cdata","DOCTYPE","isQuote","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","body","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","buffer","parsedEntity","parseEntity","unparsedEntities","values","entity","entityBody","entityStart","maxAllowed","max","maxActual","len","closeText","m2","checkBufferLength","resume","close","flush","require","ex","streamWraps","filter","ev","apply","_parser","writable","readable","me","onend","emit","onerror","er","_decoder","forEach","defineProperty","get","set","h2","removeAllListeners","on","enumerable","configurable","data","Buffer","isBuffer","SD","handler","arguments","splice","call","XML_NAMESPACE","XMLNS_NAMESPACE","xml","regex","stringFromCharCode","fromCodePoint","s2","STATE","COMMENT_STARTING","key","e2","s3","fromCharCode","event","nodeType","text","trim","normalize","replace","message","parent","qname","attribute","qualName","split","prefix","local","qn","selfClosing","uri","JSON","p2","nv","isSelfClosing","toLowerCase","t2","closeTo","pop","x","n2","num","entityLC","numStr","parseInt","isNaN","result","highSurrogate","lowSurrogate","codeUnits","codePoint","isFinite","RangeError","hasRequiredRe","parseOptions_1","hasRequiredParseOptions","identifiers","hasRequiredIdentifiers","semver","hasRequiredSemver","parse_1","hasRequiredParse","valid_1","hasRequiredValid","major_1","hasRequiredMajor","re","exports","requireSemver","safeRe","re2","t","module","src","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","isGlobal","safe","token","makeSafeRegex","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","parseOptions","looseOption","freeze","loose","emptyOpts","requireParseOptions","compareIdentifiers","anum","bnum","rcompareIdentifiers","requireIdentifiers","SemVer","version","includePrerelease","TypeError","match","LOOSE","FULL","raw","major","minor","patch","prerelease","id","build","format","other","compareMain","comparePre","compareBuild","inc","release","identifierBase","base","parse","throwErrors","requireParse","requireValid","requireMajor","___CSS_LOADER_EXPORT___","r","_sfc_main$8","components","NcButton","props","reference","required","interactive","Boolean","default","interactiveOptIn","setup","isVisible","widgetRoot","width","entry","isIntersecting","showInteractive","rendered","idleTimeout","computed","isInteractive","hasFullWidth","richObjectType","hasCustomWidget","i","hasInteractiveView","h","noAccess","accessible","descriptionStyle","numberOfLines","display","lineClamp","webkitLineClamp","Infinity","findIndex","compactLink","link","openGraphObject","startsWith","route","g","$router","referenceWidgetLinkComponent","referenceWidgetLinkProps","to","href","target","watch","val","clearTimeout","renderWidget","setTimeout","destroyWidget","immediate","beforeDestroy","methods","enableInteractive","$refs","customWidget","innerHTML","widget","document","createElement","style","appendChild","$nextTick","$el","_sfc_render$8","_vm","_c","_self","ref","class","staticClass","_b","attrs","thumb","_e","_v","_s","description","_sfc_staticRenderFns$8","NcReferenceWidget","n","_sfc_main$7","provider","emits","isRegistered","renderResult","mounted","renderElement","domElement","renderFunctionResult","providerId","Promise","resolve","then","object","_isVue","$on","onSubmit","onCancel","element","addEventListener","e","detail","$emit","_sfc_render$7","_sfc_staticRenderFns$7","NcCustomPickerElement","anyLinkProvider","title","icon_url","searchProvider","query","limit","providers","_vue_richtext_reference_providers","p","keep","search_providers_ids","escapedQuery","regexp","filteredSortedProviders","providerList","timestamps","_vue_richtext_reference_provider_timestamps","a","b","ta","tb","sortProviders","searchResult","mytimer","delay","callback","ms","context","isUrl","str","URL","_sfc_main$6","fillColor","_sfc_render$6","$event","$attrs","_sfc_staticRenderFns$6","LinkVariantIcon","_sfc_main$5","NcSelect","NcHighlight","NcEmptyContent","selectedProvider","multiselectPlaceholder","providerIconAlt","isLink","focus","querySelector","onProviderSelected","onSearch","loading","_sfc_render$5","scopedSlots","_u","fn","option","model","$$v","expression","proxy","_sfc_staticRenderFns$5","NcProviderList","_sfc_main$4","NcLoadingIcon","NcTextField","inputValue","abortController","inputPlaceholder","isLinkValid","getElementsByTagName","onClear","onInput","abort","updateReference","AbortController","encodeURIComponent","signal","response","ocs","references","catch","_sfc_render$4","nativeOn","_k","keyCode","_sfc_staticRenderFns$4","NcRawLinkInput","_sfc_main$3","_sfc_render$3","icon","rounded","thumbnailUrl","subline","_sfc_staticRenderFns$3","NcSearchResult","_sfc_main$2","DotsHorizontalIcon","D","showEmptyContent","searchPlaceholder","searchQuery","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","noOptionsText","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","results","pid","isCustomGroupTitle","providerEntriesWithId","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","item","searchMoreOf","searchProviderId","searchProviders","searchPromises","searchOneProvider","cursor","allSettled","promises","find","status","code","url","term","_sfc_render$2","_sfc_staticRenderFns$2","NcSearch","MODES","standardLinkInput","searchInput","customElement","_sfc_main$1","initialProvider","focusOnCreate","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","now","params","put","touchProvider","_sfc_render$1","stopPropagation","preventDefault","_sfc_staticRenderFns$1","NcReferencePicker","_sfc_main","NcModal","ArrowLeftIcon","A","CloseIcon","C","isInsideViewer","show","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalName","modalName","elem","modal_content","onProviderSelect","onBackClicked","referencePicker","_sfc_render","_sfc_staticRenderFns","FilePickerVue","referenceData","displayFallback","displayedReferences","fallbackReference","firstReference","fetch","U","exec","isPublic","post","sharingToken","_l","NcReferenceList","remarkPlaceholder","ast","node2","placeholders","index2","list2","matches","u","component","children","remarkUnescape","tree","ccount","source","count","asciiAlpha","regexCheck","asciiAlphanumeric","markdownLineEnding","code2","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","convert","ok","castFactory","isArray","tests","checks","parameters","anyFactory","check","checkAsRecord","nodeAsRecord","propsFactory","testFunction","looksLikeANode","empty","CONTINUE","EXIT","SKIP","visitParents","visitor","reverse","is","factory","parents","visit2","subresult","offset","grandparents","toResult","nodeAsParent","concat","child","toFunction","replace2","inConstruct","notInConstruct","enterLiteralAutolink","enter","enterLiteralAutolinkValue","config","autolinkProtocol","exitLiteralAutolinkHttp","exit","exitLiteralAutolinkWww","stack","sliceSerialize","exitLiteralAutolinkEmail","autolinkEmail","exitLiteralAutolink","transformGfmAutolinkLiterals","ignored","ignore","pairs","tupleOrList","tuple","string","escapeStringRegexp","toPairs","pairIndex","grandparent","siblings","start","change","lastIndex","matchObject","input","global","findAndReplace","findUrl","findEmail","protocol","domain2","path2","previous","parts","isCorrectDomain","trailExec","trail2","closingParenIndex","openingParens","closingParens","splitUrl","atext","label","email","charCodeAt","normalizeIdentifier","enterFootnoteDefinition","enterFootnoteDefinitionLabelString","exitFootnoteDefinitionLabelString","exitFootnoteDefinition","enterFootnoteCall","enterFootnoteCallString","exitFootnoteCallString","exitFootnoteCall","footnoteReference","info","tracker","createTracker","move","exit2","subexit","associationId","current","before","after","footnoteDefinition","shift","indentLines","containerFlow","map$2","blank","peek","constructsWithoutStrikethrough","enterStrikethrough","exitStrikethrough","handleDelete","containerPhrasing","defaultStringLength","toAlignment","codePointAt","map$1","listInScope","none","hardBreak","_1","unsafe","pattern","checkQuote","marker","quote","emphasis","checkEmphasis","emptyOptions$1","settings","one","includeImageAlt","includeHtml","node","alt","all","html","image","suffix","imageReference","referenceType","inlineCode","sequence","compilePattern","atBreak","formatLinkAsAutolink","resourceLink","value2","linkReference","text2","checkBullet","bullet","checkRule","rule","phrasing","strong","checkStrong","handle","blockquote","break","fence","checkFence","fences","lang","formatCodeAsIndented","exit3","repeat","expected","longestStreak","encode","meta","definition","heading","rank","depth","literalWithBreak","node3","setext","formatHeadingAsSetext","subexit2","closeAtx","list","bulletCurrent","ordered","bulletOrdered","checkBulletOrdered","bulletOther","checkBulletOther","useDifferentMarker","bulletLastUsed","firstListItem","indexStack","listItem","listItemIndent","checkListItemIndent","incrementListMarker","spread","ceil","paragraph","root","some","d","thematicBreak","ruleSpaces","repetition","ruleRepetition","checkRuleRepetition","enterTable","align","_align","inTable","exitTable","enterRow","enterCell","exitCodeText","$0","$1","gfmTableToMarkdown","padding","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","handlers","table","serializeData","handleTableRowAsData","handleTableAsData","tableCell","handleTableCell","tableRow","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","row2","sizes2","columnIndex2","cell","columnIndex","row","sizes","lines","delimiterStart","delimiterEnd","markdownTable","exitCheck","checked","exitParagraphWithTaskListItem","head","firstParaghraph","sibling","assign","listItemWithTaskListItem","checkable","checkbox","remove","items","chunkStart","from","unshift","syntaxExtension","all2","hook","left","right","constructs","existing","add","wwwPrefix","tokenize","effects","ok2","nok","wwwPrefixInside","consume","wwwPrefixAfter","partial","domain","underscoreInLastSegment","underscoreInLastLastSegment","seen","domainInside","trail","domainAfter","domainAtPunctuation","path","sizeOpen","sizeClose","pathInside","pathAtPunctuation","trailCharRefStart","trailBracketAfter","trailCharRefInside","emailDomainDotTrail","wwwAutolink","self","previousWww","previousUnbalanced","events","attempt","wwwAfter","protocolAutolink","previousProtocol","protocolPrefixInside","protocolSlashesInside","afterProtocol","asciiControl","protocolAfter","emailAutolink","dot","gfmAtext","previousEmail","emailDomain","emailDomainAfter","emailDomainDot","_balanced","_gfmAutolinkLiteralWalkedInto","classifyCharacter","resolveAll","constructs2","called","factorySpace","POSITIVE_INFINITY","blankLine","indent","tail","tokenizePotentialGfmFootnoteCall","defined","gfmFootnotes","labelStart","resolveToPotentialGfmFootnoteCall","_bufferIndex","contentType","replacement","tokenizeGfmFootnoteCall","callStart","callData","callEscape","tokenizeDefinitionStart","_container","labelAtMarker","labelInside","labelAfter","labelEscape","whitespaceAfter","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","gfmStrikethrough","single","singleTilde","tokenizer","previous2","more","_open","_close","open","strikethrough","nextEvents","insideSpan","null","attentionMarkers","EditMap","editMap","at","addImpl","vecs","gfmTableAlign","inDelimiterRow","alignIndex","tokenizeTable","sizeB","next","bodyRowStart","headRowBefore","lazy","headRowBreak","headRowStart","interrupt","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","disable","headDelimiterValueBefore","headDelimiterCellBefore","headDelimiterNok","headDelimiterLeftAlignmentAfter","headDelimiterCellAfter","headDelimiterFiller","headDelimiterRightAlignmentAfter","bodyRowBreak","bodyRowData","bodyRowEscape","resolveTable","currentTable","currentBody","currentCell","inFirstCellAwaitingPipe","rowKind","lastCell","afterHeadAwaitingFirstBodyRow","lastTableEnd","map2","flushTableEnd","flushCell","range","rowEnd","previousCell","groupName","getPoint","relatedStart","relatedEnd","valueToken","tableBody","exits","related","side","tasklistCheck","_gfmTasklistFirstContentOfListItem","inside","spaceThenNonSpace","emptyOptions","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","extensions","combineExtensions","continuation","resolveTo","flow","gfm","transforms","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","canContainEols","tableData","tableHeader","codeText","taskListCheckValueChecked","taskListCheckValueUnchecked","delete","gfmToMarkdown","LINK_PROTOCOLS","rehypeHighlight","referenceLimit","referenceInteractive","referenceInteractiveOptIn","useMarkdown","useExtendedMarkdown","autolink","parentId","G","renderPlaintext","componentClass","prepareTextNode","argumentId","argument","flat","renderMarkdown","renderedMarkdown","use","except","toHast","rel","async","importRehypeHighlightLibrary","nestedNode","inputNode","labelParts","nestedNodeIndex","inputComponent","N","disabled","placeholder","processSync","render","defineComponent","FolderIcon","FileIcon","richObject","previewUrl","failedViewer","availableViewerHandlers","OCA","Viewer","availableHandlers","viewerHandler","mimes","mimetype","viewerFile","davSource","generateRemoteUrl","getCurrentUser","uid","lastmod","mtime","mime","fileid","failed","loaded","davPath","fileSize","OC","Util","humanFileSize","fileMtime","relativeModifiedDate","filePath","filePreviewStyle","backgroundImage","filePreviewClass","isFolder","generateUrl","fileId","img","Image","onload","err","navigate","openFilePicker","mimetypes","file","getFilePickerBuilder","allowDirectories","setMultiSelect","addButton","disableNavigation","startAt","pick","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_setupProxy","FilePicker","containerId","random","filepickerOptions","allowPickDirectory","buttons","buttonFactory","container","multiselect","selected","onClose","undefined","location","pathname","search","Vue","mixin","registerWidget","el","_ref","extend","FileWidget","propsData","$mount","registerCustomPickerElement","_ref2","vueElement","FileReferencePickerElement","NcCustomPickerRenderResult","$destroy","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","fulfilled","j","every","getter","__esModule","f","chunkId","reduce","globalThis","Function","obj","prop","l","done","needAttach","scripts","s","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","prev","doneFns","parentNode","removeChild","bind","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|