1 line
1.3 MiB
1 line
1.3 MiB
{"version":3,"file":"_plugin-vue_export-helper-CmRM7S2g.chunk.mjs","sources":["../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/vue-router/dist/devtools-BLCumUwL.mjs","../node_modules/vue-router/dist/vue-router.mjs","../node_modules/@nextcloud/vue/dist/chunks/legacy-DcjXBL_t.mjs","../node_modules/@nextcloud/vue/dist/chunks/_plugin-vue_export-helper-1tPrXgE0.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcButton-ZNHdqKQl.mjs","../node_modules/@nextcloud/l10n/dist/gettext.mjs","../node_modules/@nextcloud/vue/dist/chunks/_l10n-CWKr1fUH.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../node_modules/@nextcloud/axios/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/createElementId-DhjFt1I9.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcLoadingIcon-b_ajZ_nQ.mjs","../node_modules/tabbable/dist/index.esm.js","../node_modules/focus-trap/dist/focus-trap.esm.js","../node_modules/@nextcloud/vue/dist/chunks/focusTrap-HJQ4pqHV.mjs","../node_modules/@nextcloud/vue/dist/chunks/useTrapStackControl-B6cEicto.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/floating-vue/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/floating-vue/dist/floating-vue.mjs","../node_modules/@nextcloud/vue/dist/chunks/logger-D3RVzcfQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/rtl-v0UOPAM7.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPopover-C-MTaPCs.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcActions-CiGWxAJE.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActions-B0kM6AYb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcModal-DZtBQM1y.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCheckboxRadioSwitch-6ty3DxEG.mjs"],"sourcesContent":["function linkTo(app, file) {\n return generateFilePath(app, \"\", file);\n}\nconst linkToRemoteBase = (service) => \"/remote.php/\" + service;\nconst generateRemoteUrl = (service, options) => {\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + linkToRemoteBase(service);\n};\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + \"/ocs/v\" + version + \".php\" + _generateUrlPath(url, params, options);\n};\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n const _build = function(text, vars) {\n vars = vars || {};\n return text.replace(\n /{([^{}]*)}/g,\n function(a, b) {\n const r = vars[b];\n if (allOptions.escape) {\n return typeof r === \"string\" || typeof r === \"number\" ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === \"string\" || typeof r === \"number\" ? r.toString() : a;\n }\n }\n );\n };\n if (url.charAt(0) !== \"/\") {\n url = \"/\" + url;\n }\n return _build(url, params || {});\n};\nconst generateUrl = (url, params, options) => {\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n const baseOrRootURL = options?.baseURL ?? getRootUrl();\n if (window?.OC?.config?.modRewriteWorking === true && !allOptions.noRewrite) {\n return baseOrRootURL + _generateUrlPath(url, params, options);\n }\n return baseOrRootURL + \"/index.php\" + _generateUrlPath(url, params, options);\n};\nconst imagePath = (app, file) => {\n if (!file.includes(\".\")) {\n return generateFilePath(app, \"img\", `${file}.svg`);\n }\n return generateFilePath(app, \"img\", file);\n};\nconst generateFilePath = (app, type, file) => {\n const isCore = window?.OC?.coreApps?.includes(app) ?? false;\n const isPHP = file.slice(-3) === \"php\";\n let link = getRootUrl();\n if (isPHP && !isCore) {\n link += `/index.php/apps/${app}`;\n if (type) {\n link += `/${encodeURI(type)}`;\n }\n if (file !== \"index.php\") {\n link += `/${file}`;\n }\n } else if (!isPHP && !isCore) {\n link = getAppRootUrl(app);\n if (type) {\n link += `/${type}/`;\n }\n if (link.at(-1) !== \"/\") {\n link += \"/\";\n }\n link += file;\n } else {\n if ((app === \"settings\" || app === \"core\" || app === \"search\") && type === \"ajax\") {\n link += \"/index.php\";\n }\n if (app) {\n link += `/${app}`;\n }\n if (type) {\n link += `/${type}`;\n }\n link += `/${file}`;\n }\n return link;\n};\nconst getBaseUrl = () => window.location.protocol + \"//\" + window.location.host + getRootUrl();\nfunction getRootUrl() {\n let webroot = window._oc_webroot;\n if (typeof webroot === \"undefined\") {\n webroot = location.pathname;\n const pos = webroot.indexOf(\"/index.php/\");\n if (pos !== -1) {\n webroot = webroot.slice(0, pos);\n } else {\n const index = webroot.indexOf(\"/\", 1);\n webroot = webroot.slice(0, index > 0 ? index : void 0);\n }\n }\n return webroot;\n}\nfunction getAppRootUrl(app) {\n const webroots = window._oc_appswebroots ?? {};\n return webroots[app] ?? \"\";\n}\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction generateAvatarUrl(user, options) {\n const size = (options?.size || 64) <= 64 ? 64 : 512;\n const guestUrl = options?.isGuestUser ? \"/guest\" : \"\";\n const themeUrl = options?.isDarkTheme ? \"/dark\" : \"\";\n return generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n user,\n size\n });\n}\nexport {\n generateAvatarUrl,\n generateFilePath,\n generateOcsUrl,\n generateRemoteUrl,\n generateUrl,\n getAppRootUrl,\n getBaseUrl,\n getRootUrl,\n imagePath,\n linkTo\n};\n//# sourceMappingURL=index.mjs.map\n","/*!\n * vue-router v4.6.3\n * (c) 2025 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from \"vue\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n\n//#region src/utils/env.ts\nconst isBrowser = typeof document !== \"undefined\";\n\n//#endregion\n//#region src/utils/index.ts\n/**\n* Identity function that returns the value as is.\n*\n* @param v - the value to return\n*\n* @internal\n*/\nconst identityFn = (v) => v;\n/**\n* Allows differentiating lazy components from functional components and vue-class-component\n* @internal\n*\n* @param component\n*/\nfunction isRouteComponent(component) {\n\treturn typeof component === \"object\" || \"displayName\" in component || \"props\" in component || \"__vccOpts\" in component;\n}\nfunction isESModule(obj) {\n\treturn obj.__esModule || obj[Symbol.toStringTag] === \"Module\" || obj.default && isRouteComponent(obj.default);\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n\tconst newParams = {};\n\tfor (const key in params) {\n\t\tconst value = params[key];\n\t\tnewParams[key] = isArray(value) ? value.map(fn) : fn(value);\n\t}\n\treturn newParams;\n}\nconst noop = () => {};\n/**\n* Typesafe alternative to Array.isArray\n* https://github.com/microsoft/TypeScript/pull/48228\n*/\nconst isArray = Array.isArray;\nfunction mergeOptions(defaults, partialOptions) {\n\tconst options = {};\n\tfor (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n\treturn options;\n}\n\n//#endregion\n//#region src/warning.ts\nfunction warn$1(msg) {\n\tconst args = Array.from(arguments).slice(1);\n\tconsole.warn.apply(console, [\"[Vue Router warn]: \" + msg].concat(args));\n}\n\n//#endregion\n//#region src/encoding.ts\n/**\n* Encoding Rules (␣ = Space)\n* - Path: ␣ \" < > # ? { }\n* - Query: ␣ \" < > # & =\n* - Hash: ␣ \" < > `\n*\n* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n* defines some extra characters to be encoded. Most browsers do not encode them\n* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n* plus `-._~`. This extra safety should be applied to query by patching the\n* string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n* into a `/` if directly typed in. The _backtick_ (`````) should also be\n* encoded everywhere because some browsers like FF encode it when directly\n* written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n*/\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\n/**\n* NOTE: It's not clear to me if we should encode the + symbol in queries, it\n* seems to be less flexible than not doing so and I can't find out the legacy\n* systems requiring this for regular requests like text/html. In the standard,\n* the encoding of the plus character is only mentioned for\n* application/x-www-form-urlencoded\n* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n* leave the plus character as is in queries. To be more flexible, we allow the\n* plus character on the query, but it can also be manually encoded by the user.\n*\n* Resources:\n* - https://url.spec.whatwg.org/#urlencoded-parsing\n* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n*/\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\n/**\n* Encode characters that need to be encoded on the path, search and hash\n* sections of the URL.\n*\n* @internal\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction commonEncode(text) {\n\treturn text == null ? \"\" : encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\n/**\n* Encode characters that need to be encoded on the hash section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeHash(text) {\n\treturn commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Encode characters that need to be encoded query values on the query\n* section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeQueryValue(text) {\n\treturn commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Like `encodeQueryValue` but also encodes the `=` character.\n*\n* @param text - string to encode\n*/\nfunction encodeQueryKey(text) {\n\treturn encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodePath(text) {\n\treturn commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL as a\n* param. This function encodes everything {@link encodePath} does plus the\n* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n* string instead.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeParam(text) {\n\treturn encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n\tif (text == null) return null;\n\ttry {\n\t\treturn decodeURIComponent(\"\" + text);\n\t} catch (err) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(`Error decoding \"${text}\". Using original value`);\n\t}\n\treturn \"\" + text;\n}\n\n//#endregion\n//#region src/location.ts\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\n/**\n* Transforms a URI into a normalized history location\n*\n* @param parseQuery\n* @param location - URI to normalize\n* @param currentLocation - current absolute location. Allows resolving relative\n* paths. Must start with `/`. Defaults to `/`\n* @returns a normalized history location\n*/\nfunction parseURL(parseQuery$1, location, currentLocation = \"/\") {\n\tlet path, query = {}, searchString = \"\", hash = \"\";\n\tconst hashPos = location.indexOf(\"#\");\n\tlet searchPos = location.indexOf(\"?\");\n\tsearchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos;\n\tif (searchPos >= 0) {\n\t\tpath = location.slice(0, searchPos);\n\t\tsearchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length);\n\t\tquery = parseQuery$1(searchString.slice(1));\n\t}\n\tif (hashPos >= 0) {\n\t\tpath = path || location.slice(0, hashPos);\n\t\thash = location.slice(hashPos, location.length);\n\t}\n\tpath = resolveRelativePath(path != null ? path : location, currentLocation);\n\treturn {\n\t\tfullPath: path + searchString + hash,\n\t\tpath,\n\t\tquery,\n\t\thash: decode(hash)\n\t};\n}\nfunction NEW_stringifyURL(stringifyQuery$1, path, query, hash = \"\") {\n\tconst searchText = stringifyQuery$1(query);\n\treturn path + (searchText && \"?\") + searchText + encodeHash(hash);\n}\n/**\n* Stringifies a URL object\n*\n* @param stringifyQuery\n* @param location\n*/\nfunction stringifyURL(stringifyQuery$1, location) {\n\tconst query = location.query ? stringifyQuery$1(location.query) : \"\";\n\treturn location.path + (query && \"?\") + query + (location.hash || \"\");\n}\n/**\n* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n*\n* @param pathname - location.pathname\n* @param base - base to strip off\n*/\nfunction stripBase(pathname, base) {\n\tif (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;\n\treturn pathname.slice(base.length) || \"/\";\n}\n/**\n* Checks if two RouteLocation are equal. This means that both locations are\n* pointing towards the same {@link RouteRecord} and that all `params`, `query`\n* parameters and `hash` are the same\n*\n* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n* @param a - first {@link RouteLocation}\n* @param b - second {@link RouteLocation}\n*/\nfunction isSameRouteLocation(stringifyQuery$1, a, b) {\n\tconst aLastIndex = a.matched.length - 1;\n\tconst bLastIndex = b.matched.length - 1;\n\treturn aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery$1(a.query) === stringifyQuery$1(b.query) && a.hash === b.hash;\n}\n/**\n* Check if two `RouteRecords` are equal. Takes into account aliases: they are\n* considered equal to the `RouteRecord` they are aliasing.\n*\n* @param a - first {@link RouteRecord}\n* @param b - second {@link RouteRecord}\n*/\nfunction isSameRouteRecord(a, b) {\n\treturn (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (const key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;\n\treturn true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n\treturn isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : a === b;\n}\n/**\n* Check if two arrays are the same or if an array with one single entry is the\n* same as another primitive value. Used to check query and parameters\n*\n* @param a - array of values\n* @param b - array of values or a single value\n*/\nfunction isEquivalentArray(a, b) {\n\treturn isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\n/**\n* Resolves a relative path that starts with `.`.\n*\n* @param to - path location we are resolving\n* @param from - currentLocation.path, should start with `/`\n*/\nfunction resolveRelativePath(to, from) {\n\tif (to.startsWith(\"/\")) return to;\n\tif (process.env.NODE_ENV !== \"production\" && !from.startsWith(\"/\")) {\n\t\twarn$1(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n\t\treturn to;\n\t}\n\tif (!to) return from;\n\tconst fromSegments = from.split(\"/\");\n\tconst toSegments = to.split(\"/\");\n\tconst lastToSegment = toSegments[toSegments.length - 1];\n\tif (lastToSegment === \"..\" || lastToSegment === \".\") toSegments.push(\"\");\n\tlet position = fromSegments.length - 1;\n\tlet toPosition;\n\tlet segment;\n\tfor (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n\t\tsegment = toSegments[toPosition];\n\t\tif (segment === \".\") continue;\n\t\tif (segment === \"..\") {\n\t\t\tif (position > 1) position--;\n\t\t} else break;\n\t}\n\treturn fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition).join(\"/\");\n}\n/**\n* Initial route location where the router is. Can be used in navigation guards\n* to differentiate the initial navigation.\n*\n* @example\n* ```js\n* import { START_LOCATION } from 'vue-router'\n*\n* router.beforeEach((to, from) => {\n* if (from === START_LOCATION) {\n* // initial navigation\n* }\n* })\n* ```\n*/\nconst START_LOCATION_NORMALIZED = {\n\tpath: \"/\",\n\tname: void 0,\n\tparams: {},\n\tquery: {},\n\thash: \"\",\n\tfullPath: \"/\",\n\tmatched: [],\n\tmeta: {},\n\tredirectedFrom: void 0\n};\n\n//#endregion\n//#region src/history/common.ts\nlet NavigationType = /* @__PURE__ */ function(NavigationType$1) {\n\tNavigationType$1[\"pop\"] = \"pop\";\n\tNavigationType$1[\"push\"] = \"push\";\n\treturn NavigationType$1;\n}({});\nlet NavigationDirection = /* @__PURE__ */ function(NavigationDirection$1) {\n\tNavigationDirection$1[\"back\"] = \"back\";\n\tNavigationDirection$1[\"forward\"] = \"forward\";\n\tNavigationDirection$1[\"unknown\"] = \"\";\n\treturn NavigationDirection$1;\n}({});\n/**\n* Starting location for Histories\n*/\nconst START = \"\";\n/**\n* Normalizes a base by removing any trailing slash and reading the base tag if\n* present.\n*\n* @param base - base to normalize\n*/\nfunction normalizeBase(base) {\n\tif (!base) if (isBrowser) {\n\t\tconst baseEl = document.querySelector(\"base\");\n\t\tbase = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n\t\tbase = base.replace(/^\\w+:\\/\\/[^\\/]+/, \"\");\n\t} else base = \"/\";\n\tif (base[0] !== \"/\" && base[0] !== \"#\") base = \"/\" + base;\n\treturn removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n\treturn base.replace(BEFORE_HASH_RE, \"#\") + location;\n}\n\n//#endregion\n//#region src/scrollBehavior.ts\nfunction getElementPosition(el, offset) {\n\tconst docRect = document.documentElement.getBoundingClientRect();\n\tconst elRect = el.getBoundingClientRect();\n\treturn {\n\t\tbehavior: offset.behavior,\n\t\tleft: elRect.left - docRect.left - (offset.left || 0),\n\t\ttop: elRect.top - docRect.top - (offset.top || 0)\n\t};\n}\nconst computeScrollPosition = () => ({\n\tleft: window.scrollX,\n\ttop: window.scrollY\n});\nfunction scrollToPosition(position) {\n\tlet scrollToOptions;\n\tif (\"el\" in position) {\n\t\tconst positionEl = position.el;\n\t\tconst isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n\t\t/**\n\t\t* `id`s can accept pretty much any characters, including CSS combinators\n\t\t* like `>` or `~`. It's still possible to retrieve elements using\n\t\t* `document.getElementById('~')` but it needs to be escaped when using\n\t\t* `document.querySelector('#\\\\~')` for it to be valid. The only\n\t\t* requirements for `id`s are them to be unique on the page and to not be\n\t\t* empty (`id=\"\"`). Because of that, when passing an id selector, it should\n\t\t* be properly escaped for it to work with `querySelector`. We could check\n\t\t* for the id selector to be simple (no CSS combinators `+ >~`) but that\n\t\t* would make things inconsistent since they are valid characters for an\n\t\t* `id` but would need to be escaped when using `querySelector`, breaking\n\t\t* their usage and ending up in no selector returned. Selectors need to be\n\t\t* escaped:\n\t\t*\n\t\t* - `#1-thing` becomes `#\\31 -thing`\n\t\t* - `#with~symbols` becomes `#with\\\\~symbols`\n\t\t*\n\t\t* - More information about the topic can be found at\n\t\t* https://mathiasbynens.be/notes/html5-id-class.\n\t\t* - Practical example: https://mathiasbynens.be/demo/html5-id\n\t\t*/\n\t\tif (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n\t\t\tif (!isIdSelector || !document.getElementById(position.el.slice(1))) try {\n\t\t\t\tconst foundEl = document.querySelector(position.el);\n\t\t\t\tif (isIdSelector && foundEl) {\n\t\t\t\t\twarn$1(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\twarn$1(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n\t\tif (!el) {\n\t\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n\t\t\treturn;\n\t\t}\n\t\tscrollToOptions = getElementPosition(el, position);\n\t} else scrollToOptions = position;\n\tif (\"scrollBehavior\" in document.documentElement.style) window.scrollTo(scrollToOptions);\n\telse window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n}\nfunction getScrollKey(path, delta) {\n\treturn (history.state ? history.state.position - delta : -1) + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n\tscrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n\tconst scroll = scrollPositions.get(key);\n\tscrollPositions.delete(key);\n\treturn scroll;\n}\n/**\n* ScrollBehavior instance used by the router to compute and restore the scroll\n* position when navigating.\n*/\n\n//#endregion\n//#region src/types/typeGuards.ts\nfunction isRouteLocation(route) {\n\treturn typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n\treturn typeof name === \"string\" || typeof name === \"symbol\";\n}\n\n//#endregion\n//#region src/errors.ts\n/**\n* Flags so we can combine them when checking for multiple errors. This is the internal version of\n* {@link NavigationFailureType}.\n*\n* @internal\n*/\nlet ErrorTypes = /* @__PURE__ */ function(ErrorTypes$1) {\n\tErrorTypes$1[ErrorTypes$1[\"MATCHER_NOT_FOUND\"] = 1] = \"MATCHER_NOT_FOUND\";\n\tErrorTypes$1[ErrorTypes$1[\"NAVIGATION_GUARD_REDIRECT\"] = 2] = \"NAVIGATION_GUARD_REDIRECT\";\n\tErrorTypes$1[ErrorTypes$1[\"NAVIGATION_ABORTED\"] = 4] = \"NAVIGATION_ABORTED\";\n\tErrorTypes$1[ErrorTypes$1[\"NAVIGATION_CANCELLED\"] = 8] = \"NAVIGATION_CANCELLED\";\n\tErrorTypes$1[ErrorTypes$1[\"NAVIGATION_DUPLICATED\"] = 16] = \"NAVIGATION_DUPLICATED\";\n\treturn ErrorTypes$1;\n}({});\nconst NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\n/**\n* Enumeration with all possible types for navigation failures. Can be passed to\n* {@link isNavigationFailure} to check for specific failures.\n*/\nlet NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType$1) {\n\t/**\n\t* An aborted navigation is a navigation that failed because a navigation\n\t* guard returned `false` or called `next(false)`\n\t*/\n\tNavigationFailureType$1[NavigationFailureType$1[\"aborted\"] = 4] = \"aborted\";\n\t/**\n\t* A cancelled navigation is a navigation that failed because a more recent\n\t* navigation finished started (not necessarily finished).\n\t*/\n\tNavigationFailureType$1[NavigationFailureType$1[\"cancelled\"] = 8] = \"cancelled\";\n\t/**\n\t* A duplicated navigation is a navigation that failed because it was\n\t* initiated while already being at the exact same location.\n\t*/\n\tNavigationFailureType$1[NavigationFailureType$1[\"duplicated\"] = 16] = \"duplicated\";\n\treturn NavigationFailureType$1;\n}({});\nconst ErrorTypeMessages = {\n\t[ErrorTypes.MATCHER_NOT_FOUND]({ location, currentLocation }) {\n\t\treturn `No match for\\n ${JSON.stringify(location)}${currentLocation ? \"\\nwhile being at\\n\" + JSON.stringify(currentLocation) : \"\"}`;\n\t},\n\t[ErrorTypes.NAVIGATION_GUARD_REDIRECT]({ from, to }) {\n\t\treturn `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n\t},\n\t[ErrorTypes.NAVIGATION_ABORTED]({ from, to }) {\n\t\treturn `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n\t},\n\t[ErrorTypes.NAVIGATION_CANCELLED]({ from, to }) {\n\t\treturn `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n\t},\n\t[ErrorTypes.NAVIGATION_DUPLICATED]({ from, to }) {\n\t\treturn `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n\t}\n};\n/**\n* Creates a typed NavigationFailure object.\n* @internal\n* @param type - NavigationFailureType\n* @param params - { from, to }\n*/\nfunction createRouterError(type, params) {\n\tif (process.env.NODE_ENV !== \"production\" || false) return assign(new Error(ErrorTypeMessages[type](params)), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n\telse return assign(/* @__PURE__ */ new Error(), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n}\nfunction isNavigationFailure(error, type) {\n\treturn error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));\n}\nconst propertiesToLog = [\n\t\"params\",\n\t\"query\",\n\t\"hash\"\n];\nfunction stringifyRoute(to) {\n\tif (typeof to === \"string\") return to;\n\tif (to.path != null) return to.path;\n\tconst location = {};\n\tfor (const key of propertiesToLog) if (key in to) location[key] = to[key];\n\treturn JSON.stringify(location, null, 2);\n}\n\n//#endregion\n//#region src/query.ts\n/**\n* Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n* version with the leading `?` and without Should work as URLSearchParams\n\n* @internal\n*\n* @param search - search string to parse\n* @returns a query object\n*/\nfunction parseQuery(search) {\n\tconst query = {};\n\tif (search === \"\" || search === \"?\") return query;\n\tconst searchParams = (search[0] === \"?\" ? search.slice(1) : search).split(\"&\");\n\tfor (let i = 0; i < searchParams.length; ++i) {\n\t\tconst searchParam = searchParams[i].replace(PLUS_RE, \" \");\n\t\tconst eqPos = searchParam.indexOf(\"=\");\n\t\tconst key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n\t\tconst value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n\t\tif (key in query) {\n\t\t\tlet currentValue = query[key];\n\t\t\tif (!isArray(currentValue)) currentValue = query[key] = [currentValue];\n\t\t\tcurrentValue.push(value);\n\t\t} else query[key] = value;\n\t}\n\treturn query;\n}\n/**\n* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n* doesn't prepend a `?`\n*\n* @internal\n*\n* @param query - query object to stringify\n* @returns string version of the query without the leading `?`\n*/\nfunction stringifyQuery(query) {\n\tlet search = \"\";\n\tfor (let key in query) {\n\t\tconst value = query[key];\n\t\tkey = encodeQueryKey(key);\n\t\tif (value == null) {\n\t\t\tif (value !== void 0) search += (search.length ? \"&\" : \"\") + key;\n\t\t\tcontinue;\n\t\t}\n\t\t(isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value$1) => {\n\t\t\tif (value$1 !== void 0) {\n\t\t\t\tsearch += (search.length ? \"&\" : \"\") + key;\n\t\t\t\tif (value$1 != null) search += \"=\" + value$1;\n\t\t\t}\n\t\t});\n\t}\n\treturn search;\n}\n/**\n* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n* numbers into strings, removing keys with an undefined value and replacing\n* undefined with null in arrays\n*\n* @param query - query object to normalize\n* @returns a normalized query object\n*/\nfunction normalizeQuery(query) {\n\tconst normalizedQuery = {};\n\tfor (const key in query) {\n\t\tconst value = query[key];\n\t\tif (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n\t}\n\treturn normalizedQuery;\n}\n\n//#endregion\n//#region src/injectionSymbols.ts\n/**\n* RouteRecord being rendered by the closest ancestor Router View. Used for\n* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n* Location Matched\n*\n* @internal\n*/\nconst matchedRouteKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\");\n/**\n* Allows overriding the router view depth to control which component in\n* `matched` is rendered. rvd stands for Router View Depth\n*\n* @internal\n*/\nconst viewDepthKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\");\n/**\n* Allows overriding the router instance returned by `useRouter` in tests. r\n* stands for router\n*\n* @internal\n*/\nconst routerKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\");\n/**\n* Allows overriding the current route returned by `useRoute` in tests. rl\n* stands for route location\n*\n* @internal\n*/\nconst routeLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\");\n/**\n* Allows overriding the current route used by router-view. Internally this is\n* used when the `route` prop is passed.\n*\n* @internal\n*/\nconst routerViewLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\n\n//#endregion\n//#region src/utils/callbacks.ts\n/**\n* Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n*/\nfunction useCallbacks() {\n\tlet handlers = [];\n\tfunction add(handler) {\n\t\thandlers.push(handler);\n\t\treturn () => {\n\t\t\tconst i = handlers.indexOf(handler);\n\t\t\tif (i > -1) handlers.splice(i, 1);\n\t\t};\n\t}\n\tfunction reset() {\n\t\thandlers = [];\n\t}\n\treturn {\n\t\tadd,\n\t\tlist: () => handlers.slice(),\n\t\treset\n\t};\n}\n\n//#endregion\n//#region src/navigationGuards.ts\nfunction registerGuard(record, name, guard) {\n\tconst removeFromList = () => {\n\t\trecord[name].delete(guard);\n\t};\n\tonUnmounted(removeFromList);\n\tonDeactivated(removeFromList);\n\tonActivated(() => {\n\t\trecord[name].add(guard);\n\t});\n\trecord[name].add(guard);\n}\n/**\n* Add a navigation guard that triggers whenever the component for the current\n* location is about to be left. Similar to {@link beforeRouteLeave} but can be\n* used in any component. The guard is removed when the component is unmounted.\n*\n* @param leaveGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteLeave(leaveGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\twarn$1(\"getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function\");\n\t\treturn;\n\t}\n\tconst activeRecord = inject(matchedRouteKey, {}).value;\n\tif (!activeRecord) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(\"No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?\");\n\t\treturn;\n\t}\n\tregisterGuard(activeRecord, \"leaveGuards\", leaveGuard);\n}\n/**\n* Add a navigation guard that triggers whenever the current location is about\n* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n* component. The guard is removed when the component is unmounted.\n*\n* @param updateGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteUpdate(updateGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\twarn$1(\"getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function\");\n\t\treturn;\n\t}\n\tconst activeRecord = inject(matchedRouteKey, {}).value;\n\tif (!activeRecord) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warn$1(\"No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?\");\n\t\treturn;\n\t}\n\tregisterGuard(activeRecord, \"updateGuards\", updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {\n\tconst enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n\treturn () => new Promise((resolve, reject) => {\n\t\tconst next = (valid) => {\n\t\t\tif (valid === false) reject(createRouterError(ErrorTypes.NAVIGATION_ABORTED, {\n\t\t\t\tfrom,\n\t\t\t\tto\n\t\t\t}));\n\t\t\telse if (valid instanceof Error) reject(valid);\n\t\t\telse if (isRouteLocation(valid)) reject(createRouterError(ErrorTypes.NAVIGATION_GUARD_REDIRECT, {\n\t\t\t\tfrom: to,\n\t\t\t\tto: valid\n\t\t\t}));\n\t\t\telse {\n\t\t\t\tif (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") enterCallbackArray.push(valid);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tconst guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? canOnlyBeCalledOnce(next, to, from) : next));\n\t\tlet guardCall = Promise.resolve(guardReturn);\n\t\tif (guard.length < 3) guardCall = guardCall.then(next);\n\t\tif (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n\t\t\tconst message = `The \"next\" callback was never called inside of ${guard.name ? \"\\\"\" + guard.name + \"\\\"\" : \"\"}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n\t\t\tif (typeof guardReturn === \"object\" && \"then\" in guardReturn) guardCall = guardCall.then((resolvedValue) => {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\twarn$1(message);\n\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t}\n\t\t\t\treturn resolvedValue;\n\t\t\t});\n\t\t\telse if (guardReturn !== void 0) {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\twarn$1(message);\n\t\t\t\t\treject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tguardCall.catch((err) => reject(err));\n\t});\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n\tlet called = 0;\n\treturn function() {\n\t\tif (called++ === 1) warn$1(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n\t\tnext._called = true;\n\t\tif (called === 1) next.apply(null, arguments);\n\t};\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {\n\tconst guards = [];\n\tfor (const record of matched) {\n\t\tif (process.env.NODE_ENV !== \"production\" && !record.components && record.children && !record.children.length) warn$1(`Record with path \"${record.path}\" is either missing a \"component(s)\" or \"children\" property.`);\n\t\tfor (const name in record.components) {\n\t\t\tlet rawComponent = record.components[name];\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is not a valid component. Received \"${String(rawComponent)}\".`);\n\t\t\t\t\tthrow new Error(\"Invalid route component\");\n\t\t\t\t} else if (\"then\" in rawComponent) {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is a Promise instead of a function that returns a Promise. Did you write \"import('./MyPage.vue')\" instead of \"() => import('./MyPage.vue')\" ? This will break in production if not fixed.`);\n\t\t\t\t\tconst promise = rawComponent;\n\t\t\t\t\trawComponent = () => promise;\n\t\t\t\t} else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) {\n\t\t\t\t\trawComponent.__warnedDefineAsync = true;\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is defined using \"defineAsyncComponent()\". Write \"() => import('./MyPage.vue')\" instead of \"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (guardType !== \"beforeRouteEnter\" && !record.instances[name]) continue;\n\t\t\tif (isRouteComponent(rawComponent)) {\n\t\t\t\tconst guard = (rawComponent.__vccOpts || rawComponent)[guardType];\n\t\t\t\tguard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n\t\t\t} else {\n\t\t\t\tlet componentPromise = rawComponent();\n\t\t\t\tif (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n\t\t\t\t\twarn$1(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n\t\t\t\t\tcomponentPromise = Promise.resolve(componentPromise);\n\t\t\t\t}\n\t\t\t\tguards.push(() => componentPromise.then((resolved) => {\n\t\t\t\t\tif (!resolved) throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n\t\t\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\t\t\trecord.mods[name] = resolved;\n\t\t\t\t\trecord.components[name] = resolvedComponent;\n\t\t\t\t\tconst guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];\n\t\t\t\t\treturn guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\treturn guards;\n}\n/**\n* Ensures a route is loaded, so it can be passed as o prop to `<RouterView>`.\n*\n* @param route - resolved route to load\n*/\nfunction loadRouteLocation(route) {\n\treturn route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error(\"Cannot load a route that redirects.\")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => {\n\t\tconst rawComponent = record.components[name];\n\t\tif (typeof rawComponent === \"function\" && !(\"displayName\" in rawComponent)) promises.push(rawComponent().then((resolved) => {\n\t\t\tif (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\trecord.mods[name] = resolved;\n\t\t\trecord.components[name] = resolvedComponent;\n\t\t}));\n\t\treturn promises;\n\t}, [])))).then(() => route);\n}\n/**\n* Split the leaving, updating, and entering records.\n* @internal\n*\n* @param to - Location we are navigating to\n* @param from - Location we are navigating from\n*/\nfunction extractChangingRecords(to, from) {\n\tconst leavingRecords = [];\n\tconst updatingRecords = [];\n\tconst enteringRecords = [];\n\tconst len = Math.max(from.matched.length, to.matched.length);\n\tfor (let i = 0; i < len; i++) {\n\t\tconst recordFrom = from.matched[i];\n\t\tif (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);\n\t\telse leavingRecords.push(recordFrom);\n\t\tconst recordTo = to.matched[i];\n\t\tif (recordTo) {\n\t\t\tif (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);\n\t\t}\n\t}\n\treturn [\n\t\tleavingRecords,\n\t\tupdatingRecords,\n\t\tenteringRecords\n\t];\n}\n\n//#endregion\n//#region src/devtools.ts\n/**\n* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n*\n* @param routeLocation - routeLocation to format\n* @param tooltip - optional tooltip\n* @returns a copy of the routeLocation\n*/\nfunction formatRouteLocation(routeLocation, tooltip) {\n\tconst copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [\n\t\t\"instances\",\n\t\t\"children\",\n\t\t\"aliasOf\"\n\t])) });\n\treturn { _custom: {\n\t\ttype: null,\n\t\treadOnly: true,\n\t\tdisplay: routeLocation.fullPath,\n\t\ttooltip,\n\t\tvalue: copy\n\t} };\n}\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n\tif (router.__hasDevtools) return;\n\trouter.__hasDevtools = true;\n\tconst id = routerId++;\n\tsetupDevtoolsPlugin({\n\t\tid: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n\t\tlabel: \"Vue Router\",\n\t\tpackageName: \"vue-router\",\n\t\thomepage: \"https://router.vuejs.org\",\n\t\tlogo: \"https://router.vuejs.org/logo.png\",\n\t\tcomponentStateTypes: [\"Routing\"],\n\t\tapp\n\t}, (api) => {\n\t\tif (typeof api.now !== \"function\") warn$1(\"[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.\");\n\t\tapi.on.inspectComponent((payload, ctx) => {\n\t\t\tif (payload.instanceData) payload.instanceData.state.push({\n\t\t\t\ttype: \"Routing\",\n\t\t\t\tkey: \"$route\",\n\t\t\t\teditable: false,\n\t\t\t\tvalue: formatRouteLocation(router.currentRoute.value, \"Current Route\")\n\t\t\t});\n\t\t});\n\t\tapi.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n\t\t\tif (componentInstance.__vrv_devtools) {\n\t\t\t\tconst info = componentInstance.__vrv_devtools;\n\t\t\t\tnode.tags.push({\n\t\t\t\t\tlabel: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n\t\t\t\t\ttextColor: 0,\n\t\t\t\t\ttooltip: \"This component is rendered by <router-view>\",\n\t\t\t\t\tbackgroundColor: PINK_500\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (isArray(componentInstance.__vrl_devtools)) {\n\t\t\t\tcomponentInstance.__devtoolsApi = api;\n\t\t\t\tcomponentInstance.__vrl_devtools.forEach((devtoolsData) => {\n\t\t\t\t\tlet label = devtoolsData.route.path;\n\t\t\t\t\tlet backgroundColor = ORANGE_400;\n\t\t\t\t\tlet tooltip = \"\";\n\t\t\t\t\tlet textColor = 0;\n\t\t\t\t\tif (devtoolsData.error) {\n\t\t\t\t\t\tlabel = devtoolsData.error;\n\t\t\t\t\t\tbackgroundColor = RED_100;\n\t\t\t\t\t\ttextColor = RED_700;\n\t\t\t\t\t} else if (devtoolsData.isExactActive) {\n\t\t\t\t\t\tbackgroundColor = LIME_500;\n\t\t\t\t\t\ttooltip = \"This is exactly active\";\n\t\t\t\t\t} else if (devtoolsData.isActive) {\n\t\t\t\t\t\tbackgroundColor = BLUE_600;\n\t\t\t\t\t\ttooltip = \"This link is active\";\n\t\t\t\t\t}\n\t\t\t\t\tnode.tags.push({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\tbackgroundColor\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(router.currentRoute, () => {\n\t\t\trefreshRoutesView();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(routerInspectorId);\n\t\t\tapi.sendInspectorState(routerInspectorId);\n\t\t});\n\t\tconst navigationsLayerId = \"router:navigations:\" + id;\n\t\tapi.addTimelineLayer({\n\t\t\tid: navigationsLayerId,\n\t\t\tlabel: `Router${id ? \" \" + id : \"\"} Navigations`,\n\t\t\tcolor: 4237508\n\t\t});\n\t\trouter.onError((error, to) => {\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"Error during Navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata: { error },\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tlet navigationId = 0;\n\t\trouter.beforeEach((to, from) => {\n\t\t\tconst data = {\n\t\t\t\tguard: formatDisplay(\"beforeEach\"),\n\t\t\t\tfrom: formatRouteLocation(from, \"Current Location during this navigation\"),\n\t\t\t\tto: formatRouteLocation(to, \"Target location\")\n\t\t\t};\n\t\t\tObject.defineProperty(to.meta, \"__navigationId\", { value: navigationId++ });\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\ttitle: \"Start of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tdata,\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\trouter.afterEach((to, from, failure) => {\n\t\t\tconst data = { guard: formatDisplay(\"afterEach\") };\n\t\t\tif (failure) {\n\t\t\t\tdata.failure = { _custom: {\n\t\t\t\t\ttype: Error,\n\t\t\t\t\treadOnly: true,\n\t\t\t\t\tdisplay: failure ? failure.message : \"\",\n\t\t\t\t\ttooltip: \"Navigation Failure\",\n\t\t\t\t\tvalue: failure\n\t\t\t\t} };\n\t\t\t\tdata.status = formatDisplay(\"❌\");\n\t\t\t} else data.status = formatDisplay(\"✅\");\n\t\t\tdata.from = formatRouteLocation(from, \"Current Location during this navigation\");\n\t\t\tdata.to = formatRouteLocation(to, \"Target location\");\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"End of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata,\n\t\t\t\t\tlogType: failure ? \"warning\" : \"default\",\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t* Inspector of Existing routes\n\t\t*/\n\t\tconst routerInspectorId = \"router-inspector:\" + id;\n\t\tapi.addInspector({\n\t\t\tid: routerInspectorId,\n\t\t\tlabel: \"Routes\" + (id ? \" \" + id : \"\"),\n\t\t\ticon: \"book\",\n\t\t\ttreeFilterPlaceholder: \"Search routes\"\n\t\t});\n\t\tfunction refreshRoutesView() {\n\t\t\tif (!activeRoutesPayload) return;\n\t\t\tconst payload = activeRoutesPayload;\n\t\t\tlet routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components);\n\t\t\troutes.forEach(resetMatchStateOnRouteRecord);\n\t\t\tif (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase()));\n\t\t\troutes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value));\n\t\t\tpayload.rootNodes = routes.map(formatRouteRecordForInspector);\n\t\t}\n\t\tlet activeRoutesPayload;\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tactiveRoutesPayload = payload;\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView();\n\t\t});\n\t\t/**\n\t\t* Display information about the currently selected route record\n\t\t*/\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) {\n\t\t\t\tconst route = matcher.getRoutes().find((route$1) => route$1.record.__vd_id === payload.nodeId);\n\t\t\t\tif (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) };\n\t\t\t}\n\t\t});\n\t\tapi.sendInspectorTree(routerInspectorId);\n\t\tapi.sendInspectorState(routerInspectorId);\n\t});\n}\nfunction modifierForKey(key) {\n\tif (key.optional) return key.repeatable ? \"*\" : \"?\";\n\telse return key.repeatable ? \"+\" : \"\";\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n\tconst { record } = route;\n\tconst fields = [{\n\t\teditable: false,\n\t\tkey: \"path\",\n\t\tvalue: record.path\n\t}];\n\tif (record.name != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"name\",\n\t\tvalue: record.name\n\t});\n\tfields.push({\n\t\teditable: false,\n\t\tkey: \"regexp\",\n\t\tvalue: route.re\n\t});\n\tif (route.keys.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"keys\",\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n\t\t\ttooltip: \"Param keys\",\n\t\t\tvalue: route.keys\n\t\t} }\n\t});\n\tif (record.redirect != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"redirect\",\n\t\tvalue: record.redirect\n\t});\n\tif (route.alias.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"aliases\",\n\t\tvalue: route.alias.map((alias) => alias.record.path)\n\t});\n\tif (Object.keys(route.record.meta).length) fields.push({\n\t\teditable: false,\n\t\tkey: \"meta\",\n\t\tvalue: route.record.meta\n\t});\n\tfields.push({\n\t\tkey: \"score\",\n\t\teditable: false,\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.score.map((score) => score.join(\", \")).join(\" | \"),\n\t\t\ttooltip: \"Score used to sort routes\",\n\t\t\tvalue: route.score\n\t\t} }\n\t});\n\treturn fields;\n}\n/**\n* Extracted from tailwind palette\n*/\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nconst RED_100 = 16704226;\nconst RED_700 = 12131356;\nfunction formatRouteRecordForInspector(route) {\n\tconst tags = [];\n\tconst { record } = route;\n\tif (record.name != null) tags.push({\n\t\tlabel: String(record.name),\n\t\ttextColor: 0,\n\t\tbackgroundColor: CYAN_400\n\t});\n\tif (record.aliasOf) tags.push({\n\t\tlabel: \"alias\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: ORANGE_400\n\t});\n\tif (route.__vd_match) tags.push({\n\t\tlabel: \"matches\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: PINK_500\n\t});\n\tif (route.__vd_exactActive) tags.push({\n\t\tlabel: \"exact\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: LIME_500\n\t});\n\tif (route.__vd_active) tags.push({\n\t\tlabel: \"active\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: BLUE_600\n\t});\n\tif (record.redirect) tags.push({\n\t\tlabel: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n\t\ttextColor: 16777215,\n\t\tbackgroundColor: DARK\n\t});\n\tlet id = record.__vd_id;\n\tif (id == null) {\n\t\tid = String(routeRecordId++);\n\t\trecord.__vd_id = id;\n\t}\n\treturn {\n\t\tid,\n\t\tlabel: record.path,\n\t\ttags,\n\t\tchildren: route.children.map(formatRouteRecordForInspector)\n\t};\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n\tconst isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n\troute.__vd_exactActive = route.__vd_active = isExactActive;\n\tif (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n\troute.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n\troute.__vd_match = false;\n\troute.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n\tconst found = String(route.re).match(EXTRACT_REGEXP_RE);\n\troute.__vd_match = false;\n\tif (!found || found.length < 3) return false;\n\tif (new RegExp(found[1].replace(/\\$$/, \"\"), found[2]).test(filter)) {\n\t\troute.children.forEach((child) => isRouteMatching(child, filter));\n\t\tif (route.record.path !== \"/\" || filter === \"/\") {\n\t\t\troute.__vd_match = route.re.test(filter);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tconst path = route.record.path.toLowerCase();\n\tconst decodedPath = decode(path);\n\tif (!filter.startsWith(\"/\") && (decodedPath.includes(filter) || path.includes(filter))) return true;\n\tif (decodedPath.startsWith(filter) || path.startsWith(filter)) return true;\n\tif (route.record.name && String(route.record.name).includes(filter)) return true;\n\treturn route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n\tconst ret = {};\n\tfor (const key in obj) if (!keys.includes(key)) ret[key] = obj[key];\n\treturn ret;\n}\n\n//#endregion\nexport { ErrorTypes, NEW_stringifyURL, NavigationDirection, NavigationFailureType, NavigationType, START, START_LOCATION_NORMALIZED, addDevtools, applyToParams, assign, computeScrollPosition, createHref, createRouterError, decode, encodeHash, encodeParam, encodePath, extractChangingRecords, extractComponentsGuards, getSavedScrollPosition, getScrollKey, guardToPromiseFn, identityFn, isArray, isBrowser, isNavigationFailure, isRouteLocation, isRouteName, isSameRouteLocation, isSameRouteLocationParams, isSameRouteRecord, loadRouteLocation, matchedRouteKey, mergeOptions, noop, normalizeBase, normalizeQuery, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, parseURL, resolveRelativePath, routeLocationKey, routerKey, routerViewLocationKey, saveScrollPosition, scrollToPosition, stringifyQuery, stringifyURL, stripBase, useCallbacks, viewDepthKey, warn$1 as warn };","/*!\n * vue-router v4.6.3\n * (c) 2025 Eduardo San Martin Morote\n * @license MIT\n */\nimport { ErrorTypes, NavigationDirection, NavigationFailureType, NavigationType, START, START_LOCATION_NORMALIZED, addDevtools, applyToParams, assign, computeScrollPosition, createHref, createRouterError, decode, encodeHash, encodeParam, extractChangingRecords, extractComponentsGuards, getSavedScrollPosition, getScrollKey, guardToPromiseFn, isArray, isBrowser, isNavigationFailure, isRouteLocation, isRouteName, isSameRouteLocation, isSameRouteLocationParams, isSameRouteRecord, loadRouteLocation, matchedRouteKey, mergeOptions, noop, normalizeBase, normalizeQuery, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, parseURL, routeLocationKey, routerKey, routerViewLocationKey, saveScrollPosition, scrollToPosition, stringifyQuery, stringifyURL, stripBase, useCallbacks, viewDepthKey, warn as warn$1 } from \"./devtools-BLCumUwL.mjs\";\nimport { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from \"vue\";\n\n//#region src/history/html5.ts\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\n/**\n* Creates a normalized history location from a window.location object\n* @param base - The base path\n* @param location - The window.location object\n*/\nfunction createCurrentLocation(base, location$1) {\n\tconst { pathname, search, hash } = location$1;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tlet slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn stripBase(pathFromHash, \"\");\n\t}\n\treturn stripBase(pathname, base) + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n\tlet listeners = [];\n\tlet teardowns = [];\n\tlet pauseState = null;\n\tconst popStateHandler = ({ state }) => {\n\t\tconst to = createCurrentLocation(base, location);\n\t\tconst from = currentLocation.value;\n\t\tconst fromState = historyState.value;\n\t\tlet delta = 0;\n\t\tif (state) {\n\t\t\tcurrentLocation.value = to;\n\t\t\thistoryState.value = state;\n\t\t\tif (pauseState && pauseState === from) {\n\t\t\t\tpauseState = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdelta = fromState ? state.position - fromState.position : 0;\n\t\t} else replace(to);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener(currentLocation.value, from, {\n\t\t\t\tdelta,\n\t\t\t\ttype: NavigationType.pop,\n\t\t\t\tdirection: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown\n\t\t\t});\n\t\t});\n\t};\n\tfunction pauseListeners() {\n\t\tpauseState = currentLocation.value;\n\t}\n\tfunction listen(callback) {\n\t\tlisteners.push(callback);\n\t\tconst teardown = () => {\n\t\t\tconst index = listeners.indexOf(callback);\n\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t};\n\t\tteardowns.push(teardown);\n\t\treturn teardown;\n\t}\n\tfunction beforeUnloadListener() {\n\t\tif (document.visibilityState === \"hidden\") {\n\t\t\tconst { history: history$1 } = window;\n\t\t\tif (!history$1.state) return;\n\t\t\thistory$1.replaceState(assign({}, history$1.state, { scroll: computeScrollPosition() }), \"\");\n\t\t}\n\t}\n\tfunction destroy() {\n\t\tfor (const teardown of teardowns) teardown();\n\t\tteardowns = [];\n\t\twindow.removeEventListener(\"popstate\", popStateHandler);\n\t\twindow.removeEventListener(\"pagehide\", beforeUnloadListener);\n\t\tdocument.removeEventListener(\"visibilitychange\", beforeUnloadListener);\n\t}\n\twindow.addEventListener(\"popstate\", popStateHandler);\n\twindow.addEventListener(\"pagehide\", beforeUnloadListener);\n\tdocument.addEventListener(\"visibilitychange\", beforeUnloadListener);\n\treturn {\n\t\tpauseListeners,\n\t\tlisten,\n\t\tdestroy\n\t};\n}\n/**\n* Creates a state object\n*/\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n\treturn {\n\t\tback,\n\t\tcurrent,\n\t\tforward,\n\t\treplaced,\n\t\tposition: window.history.length,\n\t\tscroll: computeScroll ? computeScrollPosition() : null\n\t};\n}\nfunction useHistoryStateNavigation(base) {\n\tconst { history: history$1, location: location$1 } = window;\n\tconst currentLocation = { value: createCurrentLocation(base, location$1) };\n\tconst historyState = { value: history$1.state };\n\tif (!historyState.value) changeLocation(currentLocation.value, {\n\t\tback: null,\n\t\tcurrent: currentLocation.value,\n\t\tforward: null,\n\t\tposition: history$1.length - 1,\n\t\treplaced: true,\n\t\tscroll: null\n\t}, true);\n\tfunction changeLocation(to, state, replace$1) {\n\t\t/**\n\t\t* if a base tag is provided, and we are on a normal domain, we have to\n\t\t* respect the provided `base` attribute because pushState() will use it and\n\t\t* potentially erase anything before the `#` like at\n\t\t* https://github.com/vuejs/router/issues/685 where a base of\n\t\t* `/folder/#` but a base of `/` would erase the `/folder/` section. If\n\t\t* there is no host, the `<base>` tag makes no sense and if there isn't a\n\t\t* base tag we can just use everything after the `#`.\n\t\t*/\n\t\tconst hashIndex = base.indexOf(\"#\");\n\t\tconst url = hashIndex > -1 ? (location$1.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n\t\ttry {\n\t\t\thistory$1[replace$1 ? \"replaceState\" : \"pushState\"](state, \"\", url);\n\t\t\thistoryState.value = state;\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"Error with push/replace State\", err);\n\t\t\telse console.error(err);\n\t\t\tlocation$1[replace$1 ? \"replace\" : \"assign\"](url);\n\t\t}\n\t}\n\tfunction replace(to, data) {\n\t\tchangeLocation(to, assign({}, history$1.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true);\n\t\tcurrentLocation.value = to;\n\t}\n\tfunction push(to, data) {\n\t\tconst currentState = assign({}, historyState.value, history$1.state, {\n\t\t\tforward: to,\n\t\t\tscroll: computeScrollPosition()\n\t\t});\n\t\tif (process.env.NODE_ENV !== \"production\" && !history$1.state) warn$1(\"history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\nhistory.replaceState(history.state, '', url)\\n\\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state\");\n\t\tchangeLocation(currentState.current, currentState, true);\n\t\tchangeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);\n\t\tcurrentLocation.value = to;\n\t}\n\treturn {\n\t\tlocation: currentLocation,\n\t\tstate: historyState,\n\t\tpush,\n\t\treplace\n\t};\n}\n/**\n* Creates an HTML5 history. Most common history for single page applications.\n*\n* @param base -\n*/\nfunction createWebHistory(base) {\n\tbase = normalizeBase(base);\n\tconst historyNavigation = useHistoryStateNavigation(base);\n\tconst historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n\tfunction go(delta, triggerListeners = true) {\n\t\tif (!triggerListeners) historyListeners.pauseListeners();\n\t\thistory.go(delta);\n\t}\n\tconst routerHistory = assign({\n\t\tlocation: \"\",\n\t\tbase,\n\t\tgo,\n\t\tcreateHref: createHref.bind(null, base)\n\t}, historyNavigation, historyListeners);\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.location.value\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.state.value\n\t});\n\treturn routerHistory;\n}\n\n//#endregion\n//#region src/history/memory.ts\n/**\n* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n*\n* @param base - Base applied to all urls, defaults to '/'\n* @returns a history object that can be passed to the router constructor\n*/\nfunction createMemoryHistory(base = \"\") {\n\tlet listeners = [];\n\tlet queue = [[START, {}]];\n\tlet position = 0;\n\tbase = normalizeBase(base);\n\tfunction setLocation(location$1, state = {}) {\n\t\tposition++;\n\t\tif (position !== queue.length) queue.splice(position);\n\t\tqueue.push([location$1, state]);\n\t}\n\tfunction triggerListeners(to, from, { direction, delta }) {\n\t\tconst info = {\n\t\t\tdirection,\n\t\t\tdelta,\n\t\t\ttype: NavigationType.pop\n\t\t};\n\t\tfor (const callback of listeners) callback(to, from, info);\n\t}\n\tconst routerHistory = {\n\t\tlocation: START,\n\t\tstate: {},\n\t\tbase,\n\t\tcreateHref: createHref.bind(null, base),\n\t\treplace(to, state) {\n\t\t\tqueue.splice(position--, 1);\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tpush(to, state) {\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tlisten(callback) {\n\t\t\tlisteners.push(callback);\n\t\t\treturn () => {\n\t\t\t\tconst index = listeners.indexOf(callback);\n\t\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t\t};\n\t\t},\n\t\tdestroy() {\n\t\t\tlisteners = [];\n\t\t\tqueue = [[START, {}]];\n\t\t\tposition = 0;\n\t\t},\n\t\tgo(delta, shouldTrigger = true) {\n\t\t\tconst from = this.location;\n\t\t\tconst direction = delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n\t\t\tposition = Math.max(0, Math.min(position + delta, queue.length - 1));\n\t\t\tif (shouldTrigger) triggerListeners(this.location, from, {\n\t\t\t\tdirection,\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t};\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][0]\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][1]\n\t});\n\treturn routerHistory;\n}\n\n//#endregion\n//#region src/history/hash.ts\n/**\n* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n* handle any URL is not possible.\n*\n* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `<base>` tag\n* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n* calls**, meaning that if you use a `<base>` tag, it's `href` value **has to match this parameter** (ignoring anything\n* after the `#`).\n*\n* @example\n* ```js\n* // at https://example.com/folder\n* createWebHashHistory() // gives a url of `https://example.com/folder#`\n* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n* // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n* // you should avoid doing this because it changes the original url and breaks copying urls\n* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n*\n* // at file:///usr/etc/folder/index.html\n* // for locations with no `host`, the base is ignored\n* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n* ```\n*/\nfunction createWebHashHistory(base) {\n\tbase = location.host ? base || location.pathname + location.search : \"\";\n\tif (!base.includes(\"#\")) base += \"#\";\n\tif (process.env.NODE_ENV !== \"production\" && !base.endsWith(\"#/\") && !base.endsWith(\"#\")) warn$1(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, \"#\")}\".`);\n\treturn createWebHistory(base);\n}\n\n//#endregion\n//#region src/matcher/pathTokenizer.ts\nlet TokenType = /* @__PURE__ */ function(TokenType$1) {\n\tTokenType$1[TokenType$1[\"Static\"] = 0] = \"Static\";\n\tTokenType$1[TokenType$1[\"Param\"] = 1] = \"Param\";\n\tTokenType$1[TokenType$1[\"Group\"] = 2] = \"Group\";\n\treturn TokenType$1;\n}({});\nvar TokenizerState = /* @__PURE__ */ function(TokenizerState$1) {\n\tTokenizerState$1[TokenizerState$1[\"Static\"] = 0] = \"Static\";\n\tTokenizerState$1[TokenizerState$1[\"Param\"] = 1] = \"Param\";\n\tTokenizerState$1[TokenizerState$1[\"ParamRegExp\"] = 2] = \"ParamRegExp\";\n\tTokenizerState$1[TokenizerState$1[\"ParamRegExpEnd\"] = 3] = \"ParamRegExpEnd\";\n\tTokenizerState$1[TokenizerState$1[\"EscapeNext\"] = 4] = \"EscapeNext\";\n\treturn TokenizerState$1;\n}(TokenizerState || {});\nconst ROOT_TOKEN = {\n\ttype: TokenType.Static,\n\tvalue: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n\tif (!path) return [[]];\n\tif (path === \"/\") return [[ROOT_TOKEN]];\n\tif (!path.startsWith(\"/\")) throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n\tfunction crash(message) {\n\t\tthrow new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n\t}\n\tlet state = TokenizerState.Static;\n\tlet previousState = state;\n\tconst tokens = [];\n\tlet segment;\n\tfunction finalizeSegment() {\n\t\tif (segment) tokens.push(segment);\n\t\tsegment = [];\n\t}\n\tlet i = 0;\n\tlet char;\n\tlet buffer = \"\";\n\tlet customRe = \"\";\n\tfunction consumeBuffer() {\n\t\tif (!buffer) return;\n\t\tif (state === TokenizerState.Static) segment.push({\n\t\t\ttype: TokenType.Static,\n\t\t\tvalue: buffer\n\t\t});\n\t\telse if (state === TokenizerState.Param || state === TokenizerState.ParamRegExp || state === TokenizerState.ParamRegExpEnd) {\n\t\t\tif (segment.length > 1 && (char === \"*\" || char === \"+\")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n\t\t\tsegment.push({\n\t\t\t\ttype: TokenType.Param,\n\t\t\t\tvalue: buffer,\n\t\t\t\tregexp: customRe,\n\t\t\t\trepeatable: char === \"*\" || char === \"+\",\n\t\t\t\toptional: char === \"*\" || char === \"?\"\n\t\t\t});\n\t\t} else crash(\"Invalid state to consume buffer\");\n\t\tbuffer = \"\";\n\t}\n\tfunction addCharToBuffer() {\n\t\tbuffer += char;\n\t}\n\twhile (i < path.length) {\n\t\tchar = path[i++];\n\t\tif (char === \"\\\\\" && state !== TokenizerState.ParamRegExp) {\n\t\t\tpreviousState = state;\n\t\t\tstate = TokenizerState.EscapeNext;\n\t\t\tcontinue;\n\t\t}\n\t\tswitch (state) {\n\t\t\tcase TokenizerState.Static:\n\t\t\t\tif (char === \"/\") {\n\t\t\t\t\tif (buffer) consumeBuffer();\n\t\t\t\t\tfinalizeSegment();\n\t\t\t\t} else if (char === \":\") {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = TokenizerState.Param;\n\t\t\t\t} else addCharToBuffer();\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.EscapeNext:\n\t\t\t\taddCharToBuffer();\n\t\t\t\tstate = previousState;\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.Param:\n\t\t\t\tif (char === \"(\") state = TokenizerState.ParamRegExp;\n\t\t\t\telse if (VALID_PARAM_RE.test(char)) addCharToBuffer();\n\t\t\t\telse {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = TokenizerState.Static;\n\t\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.ParamRegExp:\n\t\t\t\tif (char === \")\") if (customRe[customRe.length - 1] == \"\\\\\") customRe = customRe.slice(0, -1) + char;\n\t\t\t\telse state = TokenizerState.ParamRegExpEnd;\n\t\t\t\telse customRe += char;\n\t\t\t\tbreak;\n\t\t\tcase TokenizerState.ParamRegExpEnd:\n\t\t\t\tconsumeBuffer();\n\t\t\t\tstate = TokenizerState.Static;\n\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\tcustomRe = \"\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcrash(\"Unknown state\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif (state === TokenizerState.ParamRegExp) crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n\tconsumeBuffer();\n\tfinalizeSegment();\n\treturn tokens;\n}\n\n//#endregion\n//#region src/matcher/pathParserRanker.ts\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n\tsensitive: false,\n\tstrict: false,\n\tstart: true,\n\tend: true\n};\nvar PathScore = /* @__PURE__ */ function(PathScore$1) {\n\tPathScore$1[PathScore$1[\"_multiplier\"] = 10] = \"_multiplier\";\n\tPathScore$1[PathScore$1[\"Root\"] = 90] = \"Root\";\n\tPathScore$1[PathScore$1[\"Segment\"] = 40] = \"Segment\";\n\tPathScore$1[PathScore$1[\"SubSegment\"] = 30] = \"SubSegment\";\n\tPathScore$1[PathScore$1[\"Static\"] = 40] = \"Static\";\n\tPathScore$1[PathScore$1[\"Dynamic\"] = 20] = \"Dynamic\";\n\tPathScore$1[PathScore$1[\"BonusCustomRegExp\"] = 10] = \"BonusCustomRegExp\";\n\tPathScore$1[PathScore$1[\"BonusWildcard\"] = -50] = \"BonusWildcard\";\n\tPathScore$1[PathScore$1[\"BonusRepeatable\"] = -20] = \"BonusRepeatable\";\n\tPathScore$1[PathScore$1[\"BonusOptional\"] = -8] = \"BonusOptional\";\n\tPathScore$1[PathScore$1[\"BonusStrict\"] = .7000000000000001] = \"BonusStrict\";\n\tPathScore$1[PathScore$1[\"BonusCaseSensitive\"] = .25] = \"BonusCaseSensitive\";\n\treturn PathScore$1;\n}(PathScore || {});\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n* Creates a path parser from an array of Segments (a segment is an array of Tokens)\n*\n* @param segments - array of segments returned by tokenizePath\n* @param extraOptions - optional options for the regexp\n* @returns a PathParser\n*/\nfunction tokensToParser(segments, extraOptions) {\n\tconst options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n\tconst score = [];\n\tlet pattern = options.start ? \"^\" : \"\";\n\tconst keys = [];\n\tfor (const segment of segments) {\n\t\tconst segmentScores = segment.length ? [] : [PathScore.Root];\n\t\tif (options.strict && !segment.length) pattern += \"/\";\n\t\tfor (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n\t\t\tconst token = segment[tokenIndex];\n\t\t\tlet subSegmentScore = PathScore.Segment + (options.sensitive ? PathScore.BonusCaseSensitive : 0);\n\t\t\tif (token.type === TokenType.Static) {\n\t\t\t\tif (!tokenIndex) pattern += \"/\";\n\t\t\t\tpattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n\t\t\t\tsubSegmentScore += PathScore.Static;\n\t\t\t} else if (token.type === TokenType.Param) {\n\t\t\t\tconst { value, repeatable, optional, regexp } = token;\n\t\t\t\tkeys.push({\n\t\t\t\t\tname: value,\n\t\t\t\t\trepeatable,\n\t\t\t\t\toptional\n\t\t\t\t});\n\t\t\t\tconst re$1 = regexp ? regexp : BASE_PARAM_PATTERN;\n\t\t\t\tif (re$1 !== BASE_PARAM_PATTERN) {\n\t\t\t\t\tsubSegmentScore += PathScore.BonusCustomRegExp;\n\t\t\t\t\ttry {\n\t\t\t\t\t\t`${re$1}`;\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tthrow new Error(`Invalid custom RegExp for param \"${value}\" (${re$1}): ` + err.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet subPattern = repeatable ? `((?:${re$1})(?:/(?:${re$1}))*)` : `(${re$1})`;\n\t\t\t\tif (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n\t\t\t\tif (optional) subPattern += \"?\";\n\t\t\t\tpattern += subPattern;\n\t\t\t\tsubSegmentScore += PathScore.Dynamic;\n\t\t\t\tif (optional) subSegmentScore += PathScore.BonusOptional;\n\t\t\t\tif (repeatable) subSegmentScore += PathScore.BonusRepeatable;\n\t\t\t\tif (re$1 === \".*\") subSegmentScore += PathScore.BonusWildcard;\n\t\t\t}\n\t\t\tsegmentScores.push(subSegmentScore);\n\t\t}\n\t\tscore.push(segmentScores);\n\t}\n\tif (options.strict && options.end) {\n\t\tconst i = score.length - 1;\n\t\tscore[i][score[i].length - 1] += PathScore.BonusStrict;\n\t}\n\tif (!options.strict) pattern += \"/?\";\n\tif (options.end) pattern += \"$\";\n\telse if (options.strict && !pattern.endsWith(\"/\")) pattern += \"(?:/|$)\";\n\tconst re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n\tfunction parse(path) {\n\t\tconst match = path.match(re);\n\t\tconst params = {};\n\t\tif (!match) return null;\n\t\tfor (let i = 1; i < match.length; i++) {\n\t\t\tconst value = match[i] || \"\";\n\t\t\tconst key = keys[i - 1];\n\t\t\tparams[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n\t\t}\n\t\treturn params;\n\t}\n\tfunction stringify(params) {\n\t\tlet path = \"\";\n\t\tlet avoidDuplicatedSlash = false;\n\t\tfor (const segment of segments) {\n\t\t\tif (!avoidDuplicatedSlash || !path.endsWith(\"/\")) path += \"/\";\n\t\t\tavoidDuplicatedSlash = false;\n\t\t\tfor (const token of segment) if (token.type === TokenType.Static) path += token.value;\n\t\t\telse if (token.type === TokenType.Param) {\n\t\t\t\tconst { value, repeatable, optional } = token;\n\t\t\t\tconst param = value in params ? params[value] : \"\";\n\t\t\t\tif (isArray(param) && !repeatable) throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n\t\t\t\tconst text = isArray(param) ? param.join(\"/\") : param;\n\t\t\t\tif (!text) if (optional) {\n\t\t\t\t\tif (segment.length < 2) if (path.endsWith(\"/\")) path = path.slice(0, -1);\n\t\t\t\t\telse avoidDuplicatedSlash = true;\n\t\t\t\t} else throw new Error(`Missing required param \"${value}\"`);\n\t\t\t\tpath += text;\n\t\t\t}\n\t\t}\n\t\treturn path || \"/\";\n\t}\n\treturn {\n\t\tre,\n\t\tscore,\n\t\tkeys,\n\t\tparse,\n\t\tstringify\n\t};\n}\n/**\n* Compares an array of numbers as used in PathParser.score and returns a\n* number. This function can be used to `sort` an array\n*\n* @param a - first array of numbers\n* @param b - second array of numbers\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n* should be sorted first\n*/\nfunction compareScoreArray(a, b) {\n\tlet i = 0;\n\twhile (i < a.length && i < b.length) {\n\t\tconst diff = b[i] - a[i];\n\t\tif (diff) return diff;\n\t\ti++;\n\t}\n\tif (a.length < b.length) return a.length === 1 && a[0] === PathScore.Static + PathScore.Segment ? -1 : 1;\n\telse if (a.length > b.length) return b.length === 1 && b[0] === PathScore.Static + PathScore.Segment ? 1 : -1;\n\treturn 0;\n}\n/**\n* Compare function that can be used with `sort` to sort an array of PathParser\n*\n* @param a - first PathParser\n* @param b - second PathParser\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n*/\nfunction comparePathParserScore(a, b) {\n\tlet i = 0;\n\tconst aScore = a.score;\n\tconst bScore = b.score;\n\twhile (i < aScore.length && i < bScore.length) {\n\t\tconst comp = compareScoreArray(aScore[i], bScore[i]);\n\t\tif (comp) return comp;\n\t\ti++;\n\t}\n\tif (Math.abs(bScore.length - aScore.length) === 1) {\n\t\tif (isLastScoreNegative(aScore)) return 1;\n\t\tif (isLastScoreNegative(bScore)) return -1;\n\t}\n\treturn bScore.length - aScore.length;\n}\n/**\n* This allows detecting splats at the end of a path: /home/:id(.*)*\n*\n* @param score - score to check\n* @returns true if the last entry is negative\n*/\nfunction isLastScoreNegative(score) {\n\tconst last = score[score.length - 1];\n\treturn score.length > 0 && last[last.length - 1] < 0;\n}\nconst PATH_PARSER_OPTIONS_DEFAULTS = {\n\tstrict: false,\n\tend: true,\n\tsensitive: false\n};\n\n//#endregion\n//#region src/matcher/pathMatcher.ts\nfunction createRouteRecordMatcher(record, parent, options) {\n\tconst parser = tokensToParser(tokenizePath(record.path), options);\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst existingKeys = /* @__PURE__ */ new Set();\n\t\tfor (const key of parser.keys) {\n\t\t\tif (existingKeys.has(key.name)) warn$1(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n\t\t\texistingKeys.add(key.name);\n\t\t}\n\t}\n\tconst matcher = assign(parser, {\n\t\trecord,\n\t\tparent,\n\t\tchildren: [],\n\t\talias: []\n\t});\n\tif (parent) {\n\t\tif (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);\n\t}\n\treturn matcher;\n}\n\n//#endregion\n//#region src/matcher/index.ts\n/**\n* Creates a Router Matcher.\n*\n* @internal\n* @param routes - array of initial routes\n* @param globalOptions - global route options\n*/\nfunction createRouterMatcher(routes, globalOptions) {\n\tconst matchers = [];\n\tconst matcherMap = /* @__PURE__ */ new Map();\n\tglobalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions);\n\tfunction getRecordMatcher(name) {\n\t\treturn matcherMap.get(name);\n\t}\n\tfunction addRoute(record, parent, originalRecord) {\n\t\tconst isRootAdd = !originalRecord;\n\t\tconst mainNormalizedRecord = normalizeRouteRecord(record);\n\t\tif (process.env.NODE_ENV !== \"production\") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n\t\tmainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n\t\tconst options = mergeOptions(globalOptions, record);\n\t\tconst normalizedRecords = [mainNormalizedRecord];\n\t\tif (\"alias\" in record) {\n\t\t\tconst aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n\t\t\tfor (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n\t\t\t\tcomponents: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n\t\t\t\tpath: alias,\n\t\t\t\taliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n\t\t\t})));\n\t\t}\n\t\tlet matcher;\n\t\tlet originalMatcher;\n\t\tfor (const normalizedRecord of normalizedRecords) {\n\t\t\tconst { path } = normalizedRecord;\n\t\t\tif (parent && path[0] !== \"/\") {\n\t\t\t\tconst parentPath = parent.record.path;\n\t\t\t\tconst connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n\t\t\t\tnormalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") throw new Error(\"Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp.\\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.\");\n\t\t\tmatcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && parent && path[0] === \"/\") checkMissingParamsInAbsolutePath(matcher, parent);\n\t\t\tif (originalRecord) {\n\t\t\t\toriginalRecord.alias.push(matcher);\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameParams(originalRecord, matcher);\n\t\t\t} else {\n\t\t\t\toriginalMatcher = originalMatcher || matcher;\n\t\t\t\tif (originalMatcher !== matcher) originalMatcher.alias.push(matcher);\n\t\t\t\tif (isRootAdd && record.name && !isAliasRecord(matcher)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameNameAsAncestor(record, parent);\n\t\t\t\t\tremoveRoute(record.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMatchable(matcher)) insertMatcher(matcher);\n\t\t\tif (mainNormalizedRecord.children) {\n\t\t\t\tconst children = mainNormalizedRecord.children;\n\t\t\t\tfor (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n\t\t\t}\n\t\t\toriginalRecord = originalRecord || matcher;\n\t\t}\n\t\treturn originalMatcher ? () => {\n\t\t\tremoveRoute(originalMatcher);\n\t\t} : noop;\n\t}\n\tfunction removeRoute(matcherRef) {\n\t\tif (isRouteName(matcherRef)) {\n\t\t\tconst matcher = matcherMap.get(matcherRef);\n\t\t\tif (matcher) {\n\t\t\t\tmatcherMap.delete(matcherRef);\n\t\t\t\tmatchers.splice(matchers.indexOf(matcher), 1);\n\t\t\t\tmatcher.children.forEach(removeRoute);\n\t\t\t\tmatcher.alias.forEach(removeRoute);\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = matchers.indexOf(matcherRef);\n\t\t\tif (index > -1) {\n\t\t\t\tmatchers.splice(index, 1);\n\t\t\t\tif (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);\n\t\t\t\tmatcherRef.children.forEach(removeRoute);\n\t\t\t\tmatcherRef.alias.forEach(removeRoute);\n\t\t\t}\n\t\t}\n\t}\n\tfunction getRoutes() {\n\t\treturn matchers;\n\t}\n\tfunction insertMatcher(matcher) {\n\t\tconst index = findInsertionIndex(matcher, matchers);\n\t\tmatchers.splice(index, 0, matcher);\n\t\tif (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);\n\t}\n\tfunction resolve(location$1, currentLocation) {\n\t\tlet matcher;\n\t\tlet params = {};\n\t\tlet path;\n\t\tlet name;\n\t\tif (\"name\" in location$1 && location$1.name) {\n\t\t\tmatcher = matcherMap.get(location$1.name);\n\t\t\tif (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, { location: location$1 });\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconst invalidParams = Object.keys(location$1.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n\t\t\t\tif (invalidParams.length) warn$1(`Discarded invalid param(s) \"${invalidParams.join(\"\\\", \\\"\")}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n\t\t\t}\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location$1.params && pickParams(location$1.params, matcher.keys.map((k) => k.name)));\n\t\t\tpath = matcher.stringify(params);\n\t\t} else if (location$1.path != null) {\n\t\t\tpath = location$1.path;\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !path.startsWith(\"/\")) warn$1(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n\t\t\tmatcher = matchers.find((m) => m.re.test(path));\n\t\t\tif (matcher) {\n\t\t\t\tparams = matcher.parse(path);\n\t\t\t\tname = matcher.record.name;\n\t\t\t}\n\t\t} else {\n\t\t\tmatcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));\n\t\t\tif (!matcher) throw createRouterError(ErrorTypes.MATCHER_NOT_FOUND, {\n\t\t\t\tlocation: location$1,\n\t\t\t\tcurrentLocation\n\t\t\t});\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign({}, currentLocation.params, location$1.params);\n\t\t\tpath = matcher.stringify(params);\n\t\t}\n\t\tconst matched = [];\n\t\tlet parentMatcher = matcher;\n\t\twhile (parentMatcher) {\n\t\t\tmatched.unshift(parentMatcher.record);\n\t\t\tparentMatcher = parentMatcher.parent;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tpath,\n\t\t\tparams,\n\t\t\tmatched,\n\t\t\tmeta: mergeMetaFields(matched)\n\t\t};\n\t}\n\troutes.forEach((route) => addRoute(route));\n\tfunction clearRoutes() {\n\t\tmatchers.length = 0;\n\t\tmatcherMap.clear();\n\t}\n\treturn {\n\t\taddRoute,\n\t\tresolve,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\tgetRoutes,\n\t\tgetRecordMatcher\n\t};\n}\n/**\n* Picks an object param to contain only specified keys.\n*\n* @param params - params object to pick from\n* @param keys - keys to pick\n*/\nfunction pickParams(params, keys) {\n\tconst newParams = {};\n\tfor (const key of keys) if (key in params) newParams[key] = params[key];\n\treturn newParams;\n}\n/**\n* Normalizes a RouteRecordRaw. Creates a copy\n*\n* @param record\n* @returns the normalized version\n*/\nfunction normalizeRouteRecord(record) {\n\tconst normalized = {\n\t\tpath: record.path,\n\t\tredirect: record.redirect,\n\t\tname: record.name,\n\t\tmeta: record.meta || {},\n\t\taliasOf: record.aliasOf,\n\t\tbeforeEnter: record.beforeEnter,\n\t\tprops: normalizeRecordProps(record),\n\t\tchildren: record.children || [],\n\t\tinstances: {},\n\t\tleaveGuards: /* @__PURE__ */ new Set(),\n\t\tupdateGuards: /* @__PURE__ */ new Set(),\n\t\tenterCallbacks: {},\n\t\tcomponents: \"components\" in record ? record.components || null : record.component && { default: record.component }\n\t};\n\tObject.defineProperty(normalized, \"mods\", { value: {} });\n\treturn normalized;\n}\n/**\n* Normalize the optional `props` in a record to always be an object similar to\n* components. Also accept a boolean for components.\n* @param record\n*/\nfunction normalizeRecordProps(record) {\n\tconst propsObject = {};\n\tconst props = record.props || false;\n\tif (\"component\" in record) propsObject.default = props;\n\telse for (const name in record.components) propsObject[name] = typeof props === \"object\" ? props[name] : props;\n\treturn propsObject;\n}\n/**\n* Checks if a record or any of its parent is an alias\n* @param record\n*/\nfunction isAliasRecord(record) {\n\twhile (record) {\n\t\tif (record.record.aliasOf) return true;\n\t\trecord = record.parent;\n\t}\n\treturn false;\n}\n/**\n* Merge meta fields of an array of records\n*\n* @param matched - array of matched records\n*/\nfunction mergeMetaFields(matched) {\n\treturn matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction isSameParam(a, b) {\n\treturn a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\n/**\n* Check if a path and its alias have the same required params\n*\n* @param a - original record\n* @param b - alias record\n*/\nfunction checkSameParams(a, b) {\n\tfor (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n\tfor (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) return warn$1(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n}\n/**\n* A route with a name and a child with an empty path without a name should warn when adding the route\n*\n* @param mainNormalizedRecord - RouteRecordNormalized\n* @param parent - RouteRecordMatcher\n*/\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n\tif (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path) warn$1(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n}\nfunction checkSameNameAsAncestor(record, parent) {\n\tfor (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? \"child\" : \"descendant\"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n\tfor (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) return warn$1(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n}\n/**\n* Performs a binary search to find the correct insertion index for a new matcher.\n*\n* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n*\n* @param matcher - new matcher to be inserted\n* @param matchers - existing matchers\n*/\nfunction findInsertionIndex(matcher, matchers) {\n\tlet lower = 0;\n\tlet upper = matchers.length;\n\twhile (lower !== upper) {\n\t\tconst mid = lower + upper >> 1;\n\t\tif (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid;\n\t\telse lower = mid + 1;\n\t}\n\tconst insertionAncestor = getInsertionAncestor(matcher);\n\tif (insertionAncestor) {\n\t\tupper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n\t\tif (process.env.NODE_ENV !== \"production\" && upper < 0) warn$1(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n\t}\n\treturn upper;\n}\nfunction getInsertionAncestor(matcher) {\n\tlet ancestor = matcher;\n\twhile (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;\n}\n/**\n* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n* a component, or name, or redirect, are just used to group other routes.\n* @param matcher\n* @param matcher.record record of the matcher\n* @returns\n*/\nfunction isMatchable({ record }) {\n\treturn !!(record.name || record.components && Object.keys(record.components).length || record.redirect);\n}\n\n//#endregion\n//#region src/RouterLink.ts\n/**\n* Returns the internal behavior of a {@link RouterLink} without the rendering part.\n*\n* @param props - a `to` location and an optional `replace` flag\n*/\nfunction useLink(props) {\n\tconst router = inject(routerKey);\n\tconst currentRoute = inject(routeLocationKey);\n\tlet hasPrevious = false;\n\tlet previousTo = null;\n\tconst route = computed(() => {\n\t\tconst to = unref(props.to);\n\t\tif (process.env.NODE_ENV !== \"production\" && (!hasPrevious || to !== previousTo)) {\n\t\t\tif (!isRouteLocation(to)) if (hasPrevious) warn$1(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n\t\t\telse warn$1(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n\t\t\tpreviousTo = to;\n\t\t\thasPrevious = true;\n\t\t}\n\t\treturn router.resolve(to);\n\t});\n\tconst activeRecordIndex = computed(() => {\n\t\tconst { matched } = route.value;\n\t\tconst { length } = matched;\n\t\tconst routeMatched = matched[length - 1];\n\t\tconst currentMatched = currentRoute.matched;\n\t\tif (!routeMatched || !currentMatched.length) return -1;\n\t\tconst index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n\t\tif (index > -1) return index;\n\t\tconst parentRecordPath = getOriginalPath(matched[length - 2]);\n\t\treturn length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;\n\t});\n\tconst isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n\tconst isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n\tfunction navigate(e = {}) {\n\t\tif (guardEvent(e)) {\n\t\t\tconst p = router[unref(props.replace) ? \"replace\" : \"push\"](unref(props.to)).catch(noop);\n\t\t\tif (props.viewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document) document.startViewTransition(() => p);\n\t\t\treturn p;\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n\t\tconst instance = getCurrentInstance();\n\t\tif (instance) {\n\t\t\tconst linkContextDevtools = {\n\t\t\t\troute: route.value,\n\t\t\t\tisActive: isActive.value,\n\t\t\t\tisExactActive: isExactActive.value,\n\t\t\t\terror: null\n\t\t\t};\n\t\t\tinstance.__vrl_devtools = instance.__vrl_devtools || [];\n\t\t\tinstance.__vrl_devtools.push(linkContextDevtools);\n\t\t\twatchEffect(() => {\n\t\t\t\tlinkContextDevtools.route = route.value;\n\t\t\t\tlinkContextDevtools.isActive = isActive.value;\n\t\t\t\tlinkContextDevtools.isExactActive = isExactActive.value;\n\t\t\t\tlinkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : \"Invalid \\\"to\\\" value\";\n\t\t\t}, { flush: \"post\" });\n\t\t}\n\t}\n\t/**\n\t* NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n\t*/\n\treturn {\n\t\troute,\n\t\thref: computed(() => route.value.href),\n\t\tisActive,\n\t\tisExactActive,\n\t\tnavigate\n\t};\n}\nfunction preferSingleVNode(vnodes) {\n\treturn vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /* @__PURE__ */ defineComponent({\n\tname: \"RouterLink\",\n\tcompatConfig: { MODE: 3 },\n\tprops: {\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true\n\t\t},\n\t\treplace: Boolean,\n\t\tactiveClass: String,\n\t\texactActiveClass: String,\n\t\tcustom: Boolean,\n\t\tariaCurrentValue: {\n\t\t\ttype: String,\n\t\t\tdefault: \"page\"\n\t\t},\n\t\tviewTransition: Boolean\n\t},\n\tuseLink,\n\tsetup(props, { slots }) {\n\t\tconst link = reactive(useLink(props));\n\t\tconst { options } = inject(routerKey);\n\t\tconst elClass = computed(() => ({\n\t\t\t[getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n\t\t\t[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n\t\t}));\n\t\treturn () => {\n\t\t\tconst children = slots.default && preferSingleVNode(slots.default(link));\n\t\t\treturn props.custom ? children : h(\"a\", {\n\t\t\t\t\"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n\t\t\t\thref: link.href,\n\t\t\t\tonClick: link.navigate,\n\t\t\t\tclass: elClass.value\n\t\t\t}, children);\n\t\t};\n\t}\n});\n/**\n* Component to render a link that triggers a navigation on click.\n*/\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n\tif (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n\tif (e.defaultPrevented) return;\n\tif (e.button !== void 0 && e.button !== 0) return;\n\tif (e.currentTarget && e.currentTarget.getAttribute) {\n\t\tconst target = e.currentTarget.getAttribute(\"target\");\n\t\tif (/\\b_blank\\b/i.test(target)) return;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\treturn true;\n}\nfunction includesParams(outer, inner) {\n\tfor (const key in inner) {\n\t\tconst innerValue = inner[key];\n\t\tconst outerValue = outer[key];\n\t\tif (typeof innerValue === \"string\") {\n\t\t\tif (innerValue !== outerValue) return false;\n\t\t} else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value !== outerValue[i])) return false;\n\t}\n\treturn true;\n}\n/**\n* Get the original path value of a record by following its aliasOf\n* @param record\n*/\nfunction getOriginalPath(record) {\n\treturn record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\n/**\n* Utility class to get the active class based on defaults.\n* @param propClass\n* @param globalClass\n* @param defaultClass\n*/\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\n\n//#endregion\n//#region src/RouterView.ts\nconst RouterViewImpl = /* @__PURE__ */ defineComponent({\n\tname: \"RouterView\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: \"default\"\n\t\t},\n\t\troute: Object\n\t},\n\tcompatConfig: { MODE: 3 },\n\tsetup(props, { attrs, slots }) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n\t\tconst injectedRoute = inject(routerViewLocationKey);\n\t\tconst routeToDisplay = computed(() => props.route || injectedRoute.value);\n\t\tconst injectedDepth = inject(viewDepthKey, 0);\n\t\tconst depth = computed(() => {\n\t\t\tlet initialDepth = unref(injectedDepth);\n\t\t\tconst { matched } = routeToDisplay.value;\n\t\t\tlet matchedRoute;\n\t\t\twhile ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;\n\t\t\treturn initialDepth;\n\t\t});\n\t\tconst matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n\t\tprovide(viewDepthKey, computed(() => depth.value + 1));\n\t\tprovide(matchedRouteKey, matchedRouteRef);\n\t\tprovide(routerViewLocationKey, routeToDisplay);\n\t\tconst viewRef = ref();\n\t\twatch(() => [\n\t\t\tviewRef.value,\n\t\t\tmatchedRouteRef.value,\n\t\t\tprops.name\n\t\t], ([instance, to, name], [oldInstance, from, oldName]) => {\n\t\t\tif (to) {\n\t\t\t\tto.instances[name] = instance;\n\t\t\t\tif (from && from !== to && instance && instance === oldInstance) {\n\t\t\t\t\tif (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;\n\t\t\t\t\tif (!to.updateGuards.size) to.updateGuards = from.updateGuards;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n\t\t}, { flush: \"post\" });\n\t\treturn () => {\n\t\t\tconst route = routeToDisplay.value;\n\t\t\tconst currentName = props.name;\n\t\t\tconst matchedRoute = matchedRouteRef.value;\n\t\t\tconst ViewComponent = matchedRoute && matchedRoute.components[currentName];\n\t\t\tif (!ViewComponent) return normalizeSlot(slots.default, {\n\t\t\t\tComponent: ViewComponent,\n\t\t\t\troute\n\t\t\t});\n\t\t\tconst routePropsOption = matchedRoute.props[currentName];\n\t\t\tconst routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n\t\t\tconst onVnodeUnmounted = (vnode) => {\n\t\t\t\tif (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;\n\t\t\t};\n\t\t\tconst component = h(ViewComponent, assign({}, routeProps, attrs, {\n\t\t\t\tonVnodeUnmounted,\n\t\t\t\tref: viewRef\n\t\t\t}));\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) {\n\t\t\t\tconst info = {\n\t\t\t\t\tdepth: depth.value,\n\t\t\t\t\tname: matchedRoute.name,\n\t\t\t\t\tpath: matchedRoute.path,\n\t\t\t\t\tmeta: matchedRoute.meta\n\t\t\t\t};\n\t\t\t\t(isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => {\n\t\t\t\t\tinstance.__vrv_devtools = info;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn normalizeSlot(slots.default, {\n\t\t\t\tComponent: component,\n\t\t\t\troute\n\t\t\t}) || component;\n\t\t};\n\t}\n});\nfunction normalizeSlot(slot, data) {\n\tif (!slot) return null;\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n/**\n* Component to display the current route the user is at.\n*/\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n\tconst instance = getCurrentInstance();\n\tconst parentName = instance.parent && instance.parent.type.name;\n\tconst parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n\tif (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n\t\tconst comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n\t\twarn$1(`<router-view> can no longer be used directly inside <transition> or <keep-alive>.\nUse slot props instead:\n\n<router-view v-slot=\"{ Component }\">\n <${comp}>\\n <component :is=\"Component\" />\\n </${comp}>\\n</router-view>`);\n\t}\n}\n\n//#endregion\n//#region src/router.ts\n/**\n* Creates a Router instance that can be used by a Vue app.\n*\n* @param options - {@link RouterOptions}\n*/\nfunction createRouter(options) {\n\tconst matcher = createRouterMatcher(options.routes, options);\n\tconst parseQuery$1 = options.parseQuery || parseQuery;\n\tconst stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n\tconst routerHistory = options.history;\n\tif (process.env.NODE_ENV !== \"production\" && !routerHistory) throw new Error(\"Provide the \\\"history\\\" option when calling \\\"createRouter()\\\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history\");\n\tconst beforeGuards = useCallbacks();\n\tconst beforeResolveGuards = useCallbacks();\n\tconst afterGuards = useCallbacks();\n\tconst currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n\tlet pendingLocation = START_LOCATION_NORMALIZED;\n\tif (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\tconst normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n\tconst encodeParams = applyToParams.bind(null, encodeParam);\n\tconst decodeParams = applyToParams.bind(null, decode);\n\tfunction addRoute(parentOrRoute, route) {\n\t\tlet parent;\n\t\tlet record;\n\t\tif (isRouteName(parentOrRoute)) {\n\t\t\tparent = matcher.getRecordMatcher(parentOrRoute);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !parent) warn$1(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n\t\t\trecord = route;\n\t\t} else record = parentOrRoute;\n\t\treturn matcher.addRoute(record, parent);\n\t}\n\tfunction removeRoute(name) {\n\t\tconst recordMatcher = matcher.getRecordMatcher(name);\n\t\tif (recordMatcher) matcher.removeRoute(recordMatcher);\n\t\telse if (process.env.NODE_ENV !== \"production\") warn$1(`Cannot remove non-existent route \"${String(name)}\"`);\n\t}\n\tfunction getRoutes() {\n\t\treturn matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n\t}\n\tfunction hasRoute(name) {\n\t\treturn !!matcher.getRecordMatcher(name);\n\t}\n\tfunction resolve(rawLocation, currentLocation) {\n\t\tcurrentLocation = assign({}, currentLocation || currentRoute.value);\n\t\tif (typeof rawLocation === \"string\") {\n\t\t\tconst locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n\t\t\tconst matchedRoute$1 = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n\t\t\tconst href$1 = routerHistory.createHref(locationNormalized.fullPath);\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (href$1.startsWith(\"//\")) warn$1(`Location \"${rawLocation}\" resolved to \"${href$1}\". A resolved location cannot start with multiple slashes.`);\n\t\t\t\telse if (!matchedRoute$1.matched.length) warn$1(`No match found for location with path \"${rawLocation}\"`);\n\t\t\t}\n\t\t\treturn assign(locationNormalized, matchedRoute$1, {\n\t\t\t\tparams: decodeParams(matchedRoute$1.params),\n\t\t\t\thash: decode(locationNormalized.hash),\n\t\t\t\tredirectedFrom: void 0,\n\t\t\t\thref: href$1\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && !isRouteLocation(rawLocation)) {\n\t\t\twarn$1(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n\t\t\treturn resolve({});\n\t\t}\n\t\tlet matcherLocation;\n\t\tif (rawLocation.path != null) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && Object.keys(rawLocation.params).length) warn$1(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n\t\t\tmatcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });\n\t\t} else {\n\t\t\tconst targetParams = assign({}, rawLocation.params);\n\t\t\tfor (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];\n\t\t\tmatcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });\n\t\t\tcurrentLocation.params = encodeParams(currentLocation.params);\n\t\t}\n\t\tconst matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n\t\tconst hash = rawLocation.hash || \"\";\n\t\tif (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) warn$1(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n\t\tmatchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n\t\tconst fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n\t\t\thash: encodeHash(hash),\n\t\t\tpath: matchedRoute.path\n\t\t}));\n\t\tconst href = routerHistory.createHref(fullPath);\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (href.startsWith(\"//\")) warn$1(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n\t\t\telse if (!matchedRoute.matched.length) warn$1(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n\t\t}\n\t\treturn assign({\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\tquery: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n\t\t}, matchedRoute, {\n\t\t\tredirectedFrom: void 0,\n\t\t\thref\n\t\t});\n\t}\n\tfunction locationAsObject(to) {\n\t\treturn typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n\t}\n\tfunction checkCanceledNavigation(to, from) {\n\t\tif (pendingLocation !== to) return createRouterError(ErrorTypes.NAVIGATION_CANCELLED, {\n\t\t\tfrom,\n\t\t\tto\n\t\t});\n\t}\n\tfunction push(to) {\n\t\treturn pushWithRedirect(to);\n\t}\n\tfunction replace(to) {\n\t\treturn push(assign(locationAsObject(to), { replace: true }));\n\t}\n\tfunction handleRedirectRecord(to, from) {\n\t\tconst lastMatched = to.matched[to.matched.length - 1];\n\t\tif (lastMatched && lastMatched.redirect) {\n\t\t\tconst { redirect } = lastMatched;\n\t\t\tlet newTargetLocation = typeof redirect === \"function\" ? redirect(to, from) : redirect;\n\t\t\tif (typeof newTargetLocation === \"string\") {\n\t\t\t\tnewTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };\n\t\t\t\tnewTargetLocation.params = {};\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && newTargetLocation.path == null && !(\"name\" in newTargetLocation)) {\n\t\t\t\twarn$1(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n\t\t\t\tthrow new Error(\"Invalid redirect\");\n\t\t\t}\n\t\t\treturn assign({\n\t\t\t\tquery: to.query,\n\t\t\t\thash: to.hash,\n\t\t\t\tparams: newTargetLocation.path != null ? {} : to.params\n\t\t\t}, newTargetLocation);\n\t\t}\n\t}\n\tfunction pushWithRedirect(to, redirectedFrom) {\n\t\tconst targetLocation = pendingLocation = resolve(to);\n\t\tconst from = currentRoute.value;\n\t\tconst data = to.state;\n\t\tconst force = to.force;\n\t\tconst replace$1 = to.replace === true;\n\t\tconst shouldRedirect = handleRedirectRecord(targetLocation, from);\n\t\tif (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n\t\t\tstate: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n\t\t\tforce,\n\t\t\treplace: replace$1\n\t\t}), redirectedFrom || targetLocation);\n\t\tconst toLocation = targetLocation;\n\t\ttoLocation.redirectedFrom = redirectedFrom;\n\t\tlet failure;\n\t\tif (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n\t\t\tfailure = createRouterError(ErrorTypes.NAVIGATION_DUPLICATED, {\n\t\t\t\tto: toLocation,\n\t\t\t\tfrom\n\t\t\t});\n\t\t\thandleScroll(from, from, true, false);\n\t\t}\n\t\treturn (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure$1) => {\n\t\t\tif (failure$1) {\n\t\t\t\tif (isNavigationFailure(failure$1, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\" && isSameRouteLocation(stringifyQuery$1, resolve(failure$1.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) {\n\t\t\t\t\t\twarn$1(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n\t\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Infinite redirect in navigation guard\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn pushWithRedirect(assign({ replace: replace$1 }, locationAsObject(failure$1.to), {\n\t\t\t\t\t\tstate: typeof failure$1.to === \"object\" ? assign({}, data, failure$1.to.state) : data,\n\t\t\t\t\t\tforce\n\t\t\t\t\t}), redirectedFrom || toLocation);\n\t\t\t\t}\n\t\t\t} else failure$1 = finalizeNavigation(toLocation, from, true, replace$1, data);\n\t\t\ttriggerAfterEach(toLocation, from, failure$1);\n\t\t\treturn failure$1;\n\t\t});\n\t}\n\t/**\n\t* Helper to reject and skip all navigation guards if a new navigation happened\n\t* @param to\n\t* @param from\n\t*/\n\tfunction checkCanceledNavigationAndReject(to, from) {\n\t\tconst error = checkCanceledNavigation(to, from);\n\t\treturn error ? Promise.reject(error) : Promise.resolve();\n\t}\n\tfunction runWithContext(fn) {\n\t\tconst app = installedApps.values().next().value;\n\t\treturn app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n\t}\n\tfunction navigate(to, from) {\n\t\tlet guards;\n\t\tconst [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n\t\tguards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n\t\tfor (const record of leavingRecords) record.leaveGuards.forEach((guard) => {\n\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t});\n\t\tconst canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n\t\tguards.push(canceledNavigationCheck);\n\t\treturn runGuardQueue(guards).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n\t\t\tfor (const record of updatingRecords) record.updateGuards.forEach((guard) => {\n\t\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t\t});\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const record of enteringRecords) if (record.beforeEnter) if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));\n\t\t\telse guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tto.matched.forEach((record) => record.enterCallbacks = {});\n\t\t\tguards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from, runWithContext);\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).catch((err) => isNavigationFailure(err, ErrorTypes.NAVIGATION_CANCELLED) ? err : Promise.reject(err));\n\t}\n\tfunction triggerAfterEach(to, from, failure) {\n\t\tafterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n\t}\n\t/**\n\t* - Cleans up any navigation guards\n\t* - Changes the url if necessary\n\t* - Calls the scrollBehavior\n\t*/\n\tfunction finalizeNavigation(toLocation, from, isPush, replace$1, data) {\n\t\tconst error = checkCanceledNavigation(toLocation, from);\n\t\tif (error) return error;\n\t\tconst isFirstNavigation = from === START_LOCATION_NORMALIZED;\n\t\tconst state = !isBrowser ? {} : history.state;\n\t\tif (isPush) if (replace$1 || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));\n\t\telse routerHistory.push(toLocation.fullPath, data);\n\t\tcurrentRoute.value = toLocation;\n\t\thandleScroll(toLocation, from, isPush, isFirstNavigation);\n\t\tmarkAsReady();\n\t}\n\tlet removeHistoryListener;\n\tfunction setupListeners() {\n\t\tif (removeHistoryListener) return;\n\t\tremoveHistoryListener = routerHistory.listen((to, _from, info) => {\n\t\t\tif (!router.listening) return;\n\t\t\tconst toLocation = resolve(to);\n\t\t\tconst shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value);\n\t\t\tif (shouldRedirect) {\n\t\t\t\tpushWithRedirect(assign(shouldRedirect, {\n\t\t\t\t\treplace: true,\n\t\t\t\t\tforce: true\n\t\t\t\t}), toLocation).catch(noop);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpendingLocation = toLocation;\n\t\t\tconst from = currentRoute.value;\n\t\t\tif (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n\t\t\tnavigate(toLocation, from).catch((error) => {\n\t\t\t\tif (isNavigationFailure(error, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_CANCELLED)) return error;\n\t\t\t\tif (isNavigationFailure(error, ErrorTypes.NAVIGATION_GUARD_REDIRECT)) {\n\t\t\t\t\tpushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {\n\t\t\t\t\t\tif (isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED) && !info.delta && info.type === NavigationType.pop) routerHistory.go(-1, false);\n\t\t\t\t\t}).catch(noop);\n\t\t\t\t\treturn Promise.reject();\n\t\t\t\t}\n\t\t\t\tif (info.delta) routerHistory.go(-info.delta, false);\n\t\t\t\treturn triggerError(error, toLocation, from);\n\t\t\t}).then((failure) => {\n\t\t\t\tfailure = failure || finalizeNavigation(toLocation, from, false);\n\t\t\t\tif (failure) {\n\t\t\t\t\tif (info.delta && !isNavigationFailure(failure, ErrorTypes.NAVIGATION_CANCELLED)) routerHistory.go(-info.delta, false);\n\t\t\t\t\telse if (info.type === NavigationType.pop && isNavigationFailure(failure, ErrorTypes.NAVIGATION_ABORTED | ErrorTypes.NAVIGATION_DUPLICATED)) routerHistory.go(-1, false);\n\t\t\t\t}\n\t\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\t}).catch(noop);\n\t\t});\n\t}\n\tlet readyHandlers = useCallbacks();\n\tlet errorListeners = useCallbacks();\n\tlet ready;\n\t/**\n\t* Trigger errorListeners added via onError and throws the error as well\n\t*\n\t* @param error - error to throw\n\t* @param to - location we were navigating to when the error happened\n\t* @param from - location we were navigating from when the error happened\n\t* @returns the error as a rejected promise\n\t*/\n\tfunction triggerError(error, to, from) {\n\t\tmarkAsReady(error);\n\t\tconst list = errorListeners.list();\n\t\tif (list.length) list.forEach((handler) => handler(error, to, from));\n\t\telse {\n\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"uncaught error during route navigation:\");\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n\tfunction isReady() {\n\t\tif (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();\n\t\treturn new Promise((resolve$1, reject) => {\n\t\t\treadyHandlers.add([resolve$1, reject]);\n\t\t});\n\t}\n\tfunction markAsReady(err) {\n\t\tif (!ready) {\n\t\t\tready = !err;\n\t\t\tsetupListeners();\n\t\t\treadyHandlers.list().forEach(([resolve$1, reject]) => err ? reject(err) : resolve$1());\n\t\t\treadyHandlers.reset();\n\t\t}\n\t\treturn err;\n\t}\n\tfunction handleScroll(to, from, isPush, isFirstNavigation) {\n\t\tconst { scrollBehavior } = options;\n\t\tif (!isBrowser || !scrollBehavior) return Promise.resolve();\n\t\tconst scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n\t\treturn nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from));\n\t}\n\tconst go = (delta) => routerHistory.go(delta);\n\tlet started;\n\tconst installedApps = /* @__PURE__ */ new Set();\n\tconst router = {\n\t\tcurrentRoute,\n\t\tlistening: true,\n\t\taddRoute,\n\t\tremoveRoute,\n\t\tclearRoutes: matcher.clearRoutes,\n\t\thasRoute,\n\t\tgetRoutes,\n\t\tresolve,\n\t\toptions,\n\t\tpush,\n\t\treplace,\n\t\tgo,\n\t\tback: () => go(-1),\n\t\tforward: () => go(1),\n\t\tbeforeEach: beforeGuards.add,\n\t\tbeforeResolve: beforeResolveGuards.add,\n\t\tafterEach: afterGuards.add,\n\t\tonError: errorListeners.add,\n\t\tisReady,\n\t\tinstall(app) {\n\t\t\tapp.component(\"RouterLink\", RouterLink);\n\t\t\tapp.component(\"RouterView\", RouterView);\n\t\t\tapp.config.globalProperties.$router = router;\n\t\t\tObject.defineProperty(app.config.globalProperties, \"$route\", {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => unref(currentRoute)\n\t\t\t});\n\t\t\tif (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n\t\t\t\tstarted = true;\n\t\t\t\tpush(routerHistory.location).catch((err) => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") warn$1(\"Unexpected error when starting the router:\", err);\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst reactiveRoute = {};\n\t\t\tfor (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {\n\t\t\t\tget: () => currentRoute.value[key],\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tapp.provide(routerKey, router);\n\t\t\tapp.provide(routeLocationKey, shallowReactive(reactiveRoute));\n\t\t\tapp.provide(routerViewLocationKey, currentRoute);\n\t\t\tconst unmountApp = app.unmount;\n\t\t\tinstalledApps.add(app);\n\t\t\tapp.unmount = function() {\n\t\t\t\tinstalledApps.delete(app);\n\t\t\t\tif (installedApps.size < 1) {\n\t\t\t\t\tpendingLocation = START_LOCATION_NORMALIZED;\n\t\t\t\t\tremoveHistoryListener && removeHistoryListener();\n\t\t\t\t\tremoveHistoryListener = null;\n\t\t\t\t\tcurrentRoute.value = START_LOCATION_NORMALIZED;\n\t\t\t\t\tstarted = false;\n\t\t\t\t\tready = false;\n\t\t\t\t}\n\t\t\t\tunmountApp();\n\t\t\t};\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) addDevtools(app, router, matcher);\n\t\t}\n\t};\n\tfunction runGuardQueue(guards) {\n\t\treturn guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n\t}\n\treturn router;\n}\n\n//#endregion\n//#region src/useApi.ts\n/**\n* Returns the router instance. Equivalent to using `$router` inside\n* templates.\n*/\nfunction useRouter() {\n\treturn inject(routerKey);\n}\n/**\n* Returns the current route location. Equivalent to using `$route` inside\n* templates.\n*/\nfunction useRoute(_name) {\n\treturn inject(routeLocationKey);\n}\n\n//#endregion\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };","const [majorVersion] = window.OC?.config?.version?.split(\".\") ?? [];\nconst isLegacy = Number.parseInt(majorVersion ?? \"32\") < 32;\nexport {\n isLegacy as i\n};\n//# sourceMappingURL=legacy-DcjXBL_t.mjs.map\n","const _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nexport {\n _export_sfc as _\n};\n//# sourceMappingURL=_plugin-vue_export-helper-1tPrXgE0.mjs.map\n","import '../assets/NcButton-DtYLJgG8.css';\nimport { defineComponent, inject, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { routerKey } from \"vue-router\";\nimport { i as isLegacy } from \"./legacy-DcjXBL_t.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"button-vue__wrapper\" };\nconst _hoisted_2 = { class: \"button-vue__icon\" };\nconst _hoisted_3 = { class: \"button-vue__text\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcButton\",\n props: {\n alignment: { default: \"center\" },\n ariaLabel: { default: void 0 },\n disabled: { type: Boolean },\n download: { type: [String, Boolean], default: void 0 },\n href: { default: void 0 },\n pressed: { type: Boolean, default: void 0 },\n size: { default: \"normal\" },\n target: { default: \"_self\" },\n text: { default: void 0 },\n to: { default: void 0 },\n type: { default: \"button\" },\n variant: { default: \"secondary\" },\n wide: { type: Boolean }\n },\n emits: [\"click\", \"update:pressed\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const hasVueRouterContext = inject(routerKey, null) !== null;\n const tag = computed(() => {\n if (hasVueRouterContext && props.to) {\n return \"RouterLink\";\n } else if (props.href) {\n return \"a\";\n } else {\n return \"button\";\n }\n });\n const hasPressedState = computed(() => tag.value === \"button\" && typeof props.pressed === \"boolean\");\n const variantWithPressed = computed(() => {\n if (props.pressed) {\n return \"primary\";\n }\n if (props.pressed === false && props.variant === \"primary\") {\n return \"secondary\";\n }\n return props.variant;\n });\n const isTertiaryVariant = computed(() => variantWithPressed.value.startsWith(\"tertiary\"));\n const flexAlignment = computed(() => props.alignment.split(\"-\")[0]);\n const isReverseAligned = computed(() => props.alignment.includes(\"-\"));\n const getNcPopoverTriggerAttrs = inject(\"NcPopover:trigger:attrs\", () => ({}), false);\n const ncPopoverTriggerAttrs = computed(() => getNcPopoverTriggerAttrs());\n const attrs = computed(() => {\n if (tag.value === \"RouterLink\") {\n return {\n to: props.to,\n activeClass: \"active\"\n };\n } else if (tag.value === \"a\") {\n return {\n href: props.href || \"#\",\n target: props.target,\n rel: \"nofollow noreferrer noopener\",\n download: props.download || void 0\n };\n } else if (tag.value === \"button\") {\n return {\n ...ncPopoverTriggerAttrs.value,\n \"aria-pressed\": props.pressed,\n type: props.type,\n disabled: props.disabled\n };\n }\n return void 0;\n });\n function onClick(event) {\n if (hasPressedState.value) {\n emit(\"update:pressed\", !props.pressed);\n }\n emit(\"click\", event);\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(tag.value), mergeProps({\n class: [\"button-vue\", [\n `button-vue--size-${_ctx.size}`,\n {\n [`button-vue--${variantWithPressed.value}`]: variantWithPressed.value,\n \"button-vue--tertiary\": isTertiaryVariant.value,\n \"button-vue--wide\": _ctx.wide,\n [`button-vue--${flexAlignment.value}`]: flexAlignment.value !== \"center\",\n \"button-vue--reverse\": isReverseAligned.value,\n \"button-vue--legacy\": unref(isLegacy)\n }\n ]],\n \"aria-label\": _ctx.ariaLabel\n }, attrs.value, { onClick }), {\n default: withCtx(() => [\n createElementVNode(\"span\", _hoisted_1, [\n createElementVNode(\"span\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n createElementVNode(\"span\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.text), 1)\n ], true)\n ])\n ])\n ]),\n _: 3\n }, 16, [\"class\", \"aria-label\"]);\n };\n }\n});\nconst NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-e4697e39\"]]);\nexport {\n NcButton as N\n};\n//# sourceMappingURL=NcButton-ZNHdqKQl.mjs.map\n","import { a as getLanguage, e as getPlural, t as translate, d as translatePlural } from \"./chunks/translation-DoG5ZELJ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass GettextWrapper {\n bundle;\n constructor(pluralFunction) {\n this.bundle = {\n pluralFunction,\n translations: {}\n };\n }\n /**\n * Append new translations to the wrapper.\n *\n * This is useful if translations should be added on demand,\n * e.g. depending on component usage.\n *\n * @param bundle - The new translation bundle to append\n */\n addTranslations(bundle) {\n const dict = Object.values(bundle.translations[\"\"] ?? {}).map(({ msgid, msgid_plural: msgidPlural, msgstr }) => {\n if (msgidPlural !== void 0) {\n return [`_${msgid}_::_${msgidPlural}_`, msgstr];\n }\n return [msgid, msgstr[0]];\n });\n this.bundle.translations = {\n ...this.bundle.translations,\n ...Object.fromEntries(dict)\n };\n }\n /**\n * Get translated string (singular form), optionally with placeholders\n *\n * @param original original string to translate\n * @param placeholders map of placeholder key to value\n */\n gettext(original, placeholders = {}) {\n return translate(\"\", original, placeholders, void 0, { bundle: this.bundle });\n }\n /**\n * Get translated string with plural forms\n *\n * @param singular Singular text form\n * @param plural Plural text form to be used if `count` requires it\n * @param count The number to insert into the text\n * @param placeholders optional map of placeholder key to value\n */\n ngettext(singular, plural, count, placeholders = {}) {\n return translatePlural(\"\", singular, plural, count, placeholders, { bundle: this.bundle });\n }\n}\nclass GettextBuilder {\n debug = false;\n language = \"en\";\n translations = {};\n setLanguage(language) {\n this.language = language;\n return this;\n }\n /**\n * Try to detect locale from context with `en` as fallback value\n * This only works within a Nextcloud page context.\n *\n * @deprecated use `detectLanguage` instead.\n */\n detectLocale() {\n return this.detectLanguage();\n }\n /**\n * Try to detect locale from context with `en` as fallback value.\n * This only works within a Nextcloud page context.\n */\n detectLanguage() {\n return this.setLanguage(getLanguage().replace(\"-\", \"_\"));\n }\n /**\n * Register a new translation bundle for a specified language.\n *\n * Please note that existing translations for that language will be overwritten.\n *\n * @param language - Language this is the translation for\n * @param data - The translation bundle\n */\n addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n enableDebugMode() {\n this.debug = true;\n return this;\n }\n build() {\n if (this.debug) {\n console.debug(`Creating gettext instance for language ${this.language}`);\n }\n const wrapper = new GettextWrapper((n) => getPlural(n, this.language));\n if (this.language in this.translations) {\n wrapper.addTranslations(this.translations[this.language]);\n }\n return wrapper;\n }\n}\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\nexport {\n getGettextBuilder\n};\n//# sourceMappingURL=gettext.mjs.map\n","import { getLanguage } from \"@nextcloud/l10n\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\n/*!\n * SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst gettext = getGettextBuilder().detectLanguage().build();\nconst n = (...args) => gettext.ngettext(...args);\nconst t = (...args) => gettext.gettext(...args);\nfunction register(...chunks) {\n for (const chunk of chunks) {\n if (chunk.registered) {\n continue;\n }\n for (const { l: language, t: translations } of chunk) {\n if (language !== getLanguage() || !translations) {\n continue;\n }\n const decompressed = Object.fromEntries(Object.entries(translations).map(([id, value]) => [\n id,\n {\n msgid: id,\n msgid_plural: value.p,\n msgstr: value.v\n }\n ]));\n gettext.addTranslations({\n translations: {\n \"\": decompressed\n }\n });\n }\n chunk.registered = true;\n }\n}\nconst t0 = [{ \"l\": \"ar\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (مقيد)\"] }, \"Select a tag\": { \"v\": [\"اختر وسم\"] } } }, { \"l\": \"ast\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrinxóse)\"] }, \"Select a tag\": { \"v\": [\"Seleicionar una etiqueta\"] } } }, { \"l\": \"br\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (bevennet)\"] }, \"Select a tag\": { \"v\": [\"Choaz ur c'hlav\"] } } }, { \"l\": \"ca\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringit)\"] }, \"Select a tag\": { \"v\": [\"Seleccioneu una etiqueta\"] } } }, { \"l\": \"cs\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (omezené)\"] }, \"Select a tag\": { \"v\": [\"Vybrat štítek\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (omezené)\"] }, \"Select a tag\": { \"v\": [\"Vybrat štítek\"] } } }, { \"l\": \"da\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (begrænset)\"] }, \"Select a tag\": { \"v\": [\"Vælg et mærke\"] } } }, { \"l\": \"de\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (eingeschränkt)\"] }, \"Select a tag\": { \"v\": [\"Schlagwort auswählen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (eingeschränkt)\"] }, \"Select a tag\": { \"v\": [\"Schlagwort auswählen\"] } } }, { \"l\": \"el\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (περιορισμένο)\"] }, \"Select a tag\": { \"v\": [\"Επιλογή ετικέτας\"] } } }, { \"l\": \"en-GB\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restricted)\"] }, \"Select a tag\": { \"v\": [\"Select a tag\"] } } }, { \"l\": \"eo\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (limigita)\"] }, \"Select a tag\": { \"v\": [\"Elektu etikedon\"] } } }, { \"l\": \"es\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringido)\"] }, \"Select a tag\": { \"v\": [\"Seleccione una etiqueta\"] } } }, { \"l\": \"es-AR\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringido)\"] }, \"Select a tag\": { \"v\": [\"Elija una etiqueta\"] } } }, { \"l\": \"es-EC\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restricted)\"] }, \"Select a tag\": { \"v\": [\"Seleccionar una etiqueta\"] } } }, { \"l\": \"es-MX\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringido)\"] }, \"Select a tag\": { \"v\": [\"Seleccionar una etiqueta\"] } } }, { \"l\": \"et-EE\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (piiratud)\"] }, \"Select a tag\": { \"v\": [\"Vali silt\"] } } }, { \"l\": \"eu\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (mugatua)\"] }, \"Select a tag\": { \"v\": [\"Hautatu etiketa bat\"] } } }, { \"l\": \"fa\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} محدود شده\"] }, \"Select a tag\": { \"v\": [\"انتخاب یک برچسب\"] } } }, { \"l\": \"fi\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (rajoitettu)\"] }, \"Select a tag\": { \"v\": [\"Valitse tunniste\"] } } }, { \"l\": \"fr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restreint)\"] }, \"Select a tag\": { \"v\": [\"Sélectionnez une balise\"] } } }, { \"l\": \"ga\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (srianta)\"] }, \"Select a tag\": { \"v\": [\"Roghnaigh clib\"] } } }, { \"l\": \"gl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrinxido)\"] }, \"Select a tag\": { \"v\": [\"Seleccione unha etiqueta\"] } } }, { \"l\": \"he\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (מוגבל)\"] }, \"Select a tag\": { \"v\": [\"בחירת תגית\"] } } }, { \"l\": \"hu\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (korlátozott)\"] }, \"Select a tag\": { \"v\": [\"Válasszon címkét\"] } } }, { \"l\": \"id\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (dibatasi)\"] }, \"Select a tag\": { \"v\": [\"Pilih tag\"] } } }, { \"l\": \"is\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (takmarkað)\"] }, \"Select a tag\": { \"v\": [\"Veldu merki\"] } } }, { \"l\": \"it\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (limitato)\"] }, \"Select a tag\": { \"v\": [\"Seleziona un'etichetta\"] } } }, { \"l\": \"ja\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (制限付)\"] }, \"Select a tag\": { \"v\": [\"タグを選択\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (制限付)\"] }, \"Select a tag\": { \"v\": [\"タグを選択\"] } } }, { \"l\": \"ko\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag}(제한)\"] }, \"Select a tag\": { \"v\": [\"태그 선택\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (apribota)\"] }, \"Select a tag\": { \"v\": [\"Pasirinkti žymę\"] } } }, { \"l\": \"lv\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ierobežots)\"] }, \"Select a tag\": { \"v\": [\"Izvēlēties birku\"] } } }, { \"l\": \"mk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ограничено)\"] }, \"Select a tag\": { \"v\": [\"Избери ознака\"] } } }, { \"l\": \"my\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ကန့်သတ်)\"] }, \"Select a tag\": { \"v\": [\"tag ရွေးချယ်ရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (beskyttet)\"] }, \"Select a tag\": { \"v\": [\"Velg en merkelapp\"] } } }, { \"l\": \"nl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (beperkt)\"] }, \"Select a tag\": { \"v\": [\"Selecteer een label\"] } } }, { \"l\": \"oc\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (limit)\"] }, \"Select a tag\": { \"v\": [\"Seleccionar una etiqueta\"] } } }, { \"l\": \"pl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ograniczona)\"] }, \"Select a tag\": { \"v\": [\"Wybierz etykietę\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrito)\"] }, \"Select a tag\": { \"v\": [\"Selecione uma etiqueta\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrito)\"] }, \"Select a tag\": { \"v\": [\"Selecionar uma etiqueta\"] } } }, { \"l\": \"ro\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restricționat)\"] }, \"Select a tag\": { \"v\": [\"Selectați o etichetă\"] } } }, { \"l\": \"ru\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ограниченное)\"] }, \"Select a tag\": { \"v\": [\"Выберите метку\"] } } }, { \"l\": \"sk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (obmedzený)\"] }, \"Select a tag\": { \"v\": [\"Vybrať štítok\"] } } }, { \"l\": \"sl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (omejeno)\"] }, \"Select a tag\": { \"v\": [\"Izbor oznake\"] } } }, { \"l\": \"sr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ограничено)\"] }, \"Select a tag\": { \"v\": [\"Изаберите ознаку\"] } } }, { \"l\": \"sv\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (begränsad)\"] }, \"Select a tag\": { \"v\": [\"Välj en tag\"] } } }, { \"l\": \"tr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (kısıtlanmış)\"] }, \"Select a tag\": { \"v\": [\"Bir etiket seçin\"] } } }, { \"l\": \"uk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (обмежений)\"] }, \"Select a tag\": { \"v\": [\"Виберіть позначку\"] } } }, { \"l\": \"uz\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (cheklangan)\"] }, \"Select a tag\": { \"v\": [\"Teg tanlang\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (受限)\"] }, \"Select a tag\": { \"v\": [\"选择一个标签\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (受限)\"] }, \"Select a tag\": { \"v\": [\"選擇標籤\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag}(受限)\"] }, \"Select a tag\": { \"v\": [\"選擇標籤\"] } } }];\nconst t2 = [{ \"l\": \"ar\", \"t\": { \"a few seconds ago\": { \"v\": [\"منذ عدة ثوانٍ\"] }, \"sec. ago\": { \"v\": [\"ثانية مضت\"] }, \"seconds ago\": { \"v\": [\"ثوانٍ مضت\"] } } }, { \"l\": \"ast\", \"t\": { \"a few seconds ago\": { \"v\": [\"hai unos segundos\"] }, \"sec. ago\": { \"v\": [\"hai segs\"] }, \"seconds ago\": { \"v\": [\"hai segundos\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"a few seconds ago\": { \"v\": [\"před několika sekundami\"] }, \"sec. ago\": { \"v\": [\"sek. před\"] }, \"seconds ago\": { \"v\": [\"sekund předtím\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"a few seconds ago\": { \"v\": [\"před několika sekundami\"] }, \"sec. ago\": { \"v\": [\"sek. před\"] }, \"seconds ago\": { \"v\": [\"sekund předtím\"] } } }, { \"l\": \"da\", \"t\": { \"a few seconds ago\": { \"v\": [\"et par sekunder siden\"] }, \"sec. ago\": { \"v\": [\"sek. siden\"] }, \"seconds ago\": { \"v\": [\"sekunder siden\"] } } }, { \"l\": \"de\", \"t\": { \"a few seconds ago\": { \"v\": [\"vor ein paar Sekunden\"] }, \"sec. ago\": { \"v\": [\"Sek. zuvor\"] }, \"seconds ago\": { \"v\": [\"Sekunden zuvor\"] } } }, { \"l\": \"de-DE\", \"t\": { \"a few seconds ago\": { \"v\": [\"vor ein paar Sekunden\"] }, \"sec. ago\": { \"v\": [\"Sek. zuvor\"] }, \"seconds ago\": { \"v\": [\"Sekunden zuvor\"] } } }, { \"l\": \"el\", \"t\": { \"a few seconds ago\": { \"v\": [\"πριν λίγα δευτερόλεπτα\"] }, \"sec. ago\": { \"v\": [\"δευτ. πριν\"] }, \"seconds ago\": { \"v\": [\"δευτερόλεπτα πριν\"] } } }, { \"l\": \"en-GB\", \"t\": { \"a few seconds ago\": { \"v\": [\"a few seconds ago\"] }, \"sec. ago\": { \"v\": [\"sec. ago\"] }, \"seconds ago\": { \"v\": [\"seconds ago\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos pocos segundos\"] }, \"sec. ago\": { \"v\": [\"hace segundos\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"es-AR\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"es-EC\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos segundos\"] }, \"sec. ago\": { \"v\": [\"hace segundos\"] }, \"seconds ago\": { \"v\": [\"Segundos atrás\"] } } }, { \"l\": \"es-MX\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"et-EE\", \"t\": { \"a few seconds ago\": { \"v\": [\"mõni sekund tagasi\"] }, \"sec. ago\": { \"v\": [\"sek. tagasi\"] }, \"seconds ago\": { \"v\": [\"sekundit tagasi\"] } } }, { \"l\": \"eu\", \"t\": { \"a few seconds ago\": { \"v\": [\"duela segundo batzuk\"] }, \"sec. ago\": { \"v\": [\"duela seg.\"] }, \"seconds ago\": { \"v\": [\"duela segundo\"] } } }, { \"l\": \"fa\", \"t\": { \"a few seconds ago\": { \"v\": [\"چند ثانیه پیش\"] }, \"sec. ago\": { \"v\": [\"چند ثانیه پیش\"] }, \"seconds ago\": { \"v\": [\"چند ثانیه پیش\"] } } }, { \"l\": \"fi\", \"t\": { \"a few seconds ago\": { \"v\": [\"muutamia sekunteja sitten\"] }, \"sec. ago\": { \"v\": [\"sek. sitten\"] }, \"seconds ago\": { \"v\": [\"sekunteja sitten\"] } } }, { \"l\": \"fr\", \"t\": { \"a few seconds ago\": { \"v\": [\"il y a quelques instants\"] }, \"sec. ago\": { \"v\": [\"il y a qq. sec.\"] }, \"seconds ago\": { \"v\": [\"il y a quelques secondes\"] } } }, { \"l\": \"ga\", \"t\": { \"a few seconds ago\": { \"v\": [\"cúpla soicind ó shin\"] }, \"sec. ago\": { \"v\": [\"soic. ó shin\"] }, \"seconds ago\": { \"v\": [\"soicind ó shin\"] } } }, { \"l\": \"gl\", \"t\": { \"a few seconds ago\": { \"v\": [\"hai uns segundos\"] }, \"sec. ago\": { \"v\": [\"segs. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"he\", \"t\": { \"a few seconds ago\": { \"v\": [\"לפני מספר שניות\"] }, \"sec. ago\": { \"v\": [\"לפני מספר שניות\"] }, \"seconds ago\": { \"v\": [\"לפני מס׳ שניות\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"a few seconds ago\": { \"v\": [\"beberapa detik yang lalu\"] }, \"sec. ago\": { \"v\": [\"dtk. yang lalu\"] }, \"seconds ago\": { \"v\": [\"beberapa detik lalu\"] } } }, { \"l\": \"is\", \"t\": { \"a few seconds ago\": { \"v\": [\"fyrir örfáum sekúndum síðan\"] }, \"sec. ago\": { \"v\": [\"sek. síðan\"] }, \"seconds ago\": { \"v\": [\"sekúndum síðan\"] } } }, { \"l\": \"it\", \"t\": { \"a few seconds ago\": { \"v\": [\"pochi secondi fa\"] }, \"sec. ago\": { \"v\": [\"sec. fa\"] }, \"seconds ago\": { \"v\": [\"secondi fa\"] } } }, { \"l\": \"ja\", \"t\": { \"a few seconds ago\": { \"v\": [\"数秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"数秒前\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"a few seconds ago\": { \"v\": [\"数秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"数秒前\"] } } }, { \"l\": \"ko\", \"t\": { \"a few seconds ago\": { \"v\": [\"방금 전\"] }, \"sec. ago\": { \"v\": [\"몇 초 전\"] }, \"seconds ago\": { \"v\": [\"초 전\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"a few seconds ago\": { \"v\": [\"пред неколку секунди\"] }, \"sec. ago\": { \"v\": [\"секунда\"] }, \"seconds ago\": { \"v\": [\"секунди\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"a few seconds ago\": { \"v\": [\"noen få sekunder siden\"] }, \"sec. ago\": { \"v\": [\"sek. siden\"] }, \"seconds ago\": { \"v\": [\"sekunder siden\"] } } }, { \"l\": \"nl\", \"t\": { \"a few seconds ago\": { \"v\": [\"enkele seconden geleden\"] }, \"sec. ago\": { \"v\": [\"sec. geleden\"] }, \"seconds ago\": { \"v\": [\"seconden geleden\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"a few seconds ago\": { \"v\": [\"kilka sekund temu\"] }, \"sec. ago\": { \"v\": [\"sek. temu\"] }, \"seconds ago\": { \"v\": [\"sekund temu\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"a few seconds ago\": { \"v\": [\"há alguns segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"a few seconds ago\": { \"v\": [\"há alguns segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"ro\", \"t\": { \"a few seconds ago\": { \"v\": [\"acum câteva secunde\"] }, \"sec. ago\": { \"v\": [\"sec. în urmă\"] }, \"seconds ago\": { \"v\": [\"secunde în urmă\"] } } }, { \"l\": \"ru\", \"t\": { \"a few seconds ago\": { \"v\": [\"несколько секунд назад\"] }, \"sec. ago\": { \"v\": [\"сек. назад\"] }, \"seconds ago\": { \"v\": [\"секунд назад\"] } } }, { \"l\": \"sk\", \"t\": { \"a few seconds ago\": { \"v\": [\"pred chvíľou\"] }, \"sec. ago\": { \"v\": [\"pred pár sekundami\"] }, \"seconds ago\": { \"v\": [\"pred sekundami\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"a few seconds ago\": { \"v\": [\"пре неколико секунди\"] }, \"sec. ago\": { \"v\": [\"сек. раније\"] }, \"seconds ago\": { \"v\": [\"секунди раније\"] } } }, { \"l\": \"sv\", \"t\": { \"a few seconds ago\": { \"v\": [\"några sekunder sedan\"] }, \"sec. ago\": { \"v\": [\"sek. sedan\"] }, \"seconds ago\": { \"v\": [\"sekunder sedan\"] } } }, { \"l\": \"tr\", \"t\": { \"a few seconds ago\": { \"v\": [\"birkaç saniye önce\"] }, \"sec. ago\": { \"v\": [\"sn. önce\"] }, \"seconds ago\": { \"v\": [\"saniye önce\"] } } }, { \"l\": \"uk\", \"t\": { \"a few seconds ago\": { \"v\": [\"декілька секунд тому\"] }, \"sec. ago\": { \"v\": [\"с тому\"] }, \"seconds ago\": { \"v\": [\"с тому\"] } } }, { \"l\": \"uz\", \"t\": { \"a few seconds ago\": { \"v\": [\"bir necha soniya oldin\"] }, \"sec. ago\": { \"v\": [\"sek. oldin\"] }, \"seconds ago\": { \"v\": [\"soniyalar oldin\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"a few seconds ago\": { \"v\": [\"几秒前\"] }, \"sec. ago\": { \"v\": [\"几秒前\"] }, \"seconds ago\": { \"v\": [\"几秒前\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"a few seconds ago\": { \"v\": [\"幾秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"秒前\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"a few seconds ago\": { \"v\": [\"幾秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"秒前\"] } } }];\nconst t3 = [{ \"l\": \"ar\", \"t\": { \"Acapulco\": { \"v\": [\"بازلائي مطفي\"] }, \"Blue Violet\": { \"v\": [\"بنفسجي مشعشع\"] }, \"Boston Blue\": { \"v\": [\"سماوي مطفي\"] }, \"Deluge\": { \"v\": [\"بنفسجي مطفي\"] }, \"Feldspar\": { \"v\": [\"وردي صخري\"] }, \"Gold\": { \"v\": [\"ذهبي\"] }, \"Mariner\": { \"v\": [\"أزرق بحري\"] }, \"Nextcloud blue\": { \"v\": [\"أزرق نكست كلاود\"] }, \"Olivine\": { \"v\": [\"زيتي\"] }, \"Purple\": { \"v\": [\"بنفسجي\"] }, \"Rosy brown\": { \"v\": [\"بُنِّي زهري\"] }, \"Whiskey\": { \"v\": [\"نبيذي\"] } } }, { \"l\": \"ast\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulcu\"] }, \"Blue Violet\": { \"v\": [\"Viola azulao\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Oru\"] }, \"Mariner\": { \"v\": [\"Marineru\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud azul\"] }, \"Olivine\": { \"v\": [\"Olivina\"] }, \"Purple\": { \"v\": [\"Moráu\"] }, \"Rosy brown\": { \"v\": [\"Marrón arrosao\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Black\": { \"v\": [\"Černá\"] }, \"Blue Violet\": { \"v\": [\"Modrofialová\"] }, \"Boston Blue\": { \"v\": [\"Bostonská modrá\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Živicová\"] }, \"Gold\": { \"v\": [\"Zlatá\"] }, \"Mariner\": { \"v\": [\"Námořnická\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud modrá\"] }, \"Olivine\": { \"v\": [\"Olivínová\"] }, \"Purple\": { \"v\": [\"Fialová\"] }, \"Rosy brown\": { \"v\": [\"Růžovohnědá\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] }, \"White\": { \"v\": [\"Bílá\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Blue Violet\": { \"v\": [\"Modrofialová\"] }, \"Boston Blue\": { \"v\": [\"Bostonská modrá\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Živicová\"] }, \"Gold\": { \"v\": [\"Zlatá\"] }, \"Mariner\": { \"v\": [\"Námořnická\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud modrá\"] }, \"Olivine\": { \"v\": [\"Olivínová\"] }, \"Purple\": { \"v\": [\"Fialová\"] }, \"Rosy brown\": { \"v\": [\"Růžovohnědá\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"da\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Sort\"] }, \"Blue Violet\": { \"v\": [\"Blue Violet\"] }, \"Boston Blue\": { \"v\": [\"Boston Blue\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Guld\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blue\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Lilla\"] }, \"Rosy brown\": { \"v\": [\"Rosy brown\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] }, \"White\": { \"v\": [\"Hvid\"] } } }, { \"l\": \"de\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Schwarz\"] }, \"Blue Violet\": { \"v\": [\"Blau Violett\"] }, \"Boston Blue\": { \"v\": [\"Boston-Blau\"] }, \"Deluge\": { \"v\": [\"Sintflut\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"Seemann\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud Blau\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lila\"] }, \"Rosy brown\": { \"v\": [\"Rosiges Braun\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] }, \"White\": { \"v\": [\"Weiß\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Schwarz\"] }, \"Blue Violet\": { \"v\": [\"Blau Violett\"] }, \"Boston Blue\": { \"v\": [\"Boston-Blau\"] }, \"Deluge\": { \"v\": [\"Sintflut\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"Seemann\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud Blau\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lila\"] }, \"Rosy brown\": { \"v\": [\"Rosiges Braun\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] }, \"White\": { \"v\": [\"Weiß\"] } } }, { \"l\": \"el\", \"t\": { \"Acapulco\": { \"v\": [\"Ακαπούλκο\"] }, \"Black\": { \"v\": [\"Μαύρο\"] }, \"Blue Violet\": { \"v\": [\"Μπλε Βιολέτ\"] }, \"Boston Blue\": { \"v\": [\"Μπλε Βοστώνης\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Χρυσό\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Μπλε Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Μωβ\"] }, \"Rosy brown\": { \"v\": [\"Ροζ καφέ\"] }, \"Whiskey\": { \"v\": [\"Ουίσκι\"] }, \"White\": { \"v\": [\"Λευκό\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Black\"] }, \"Blue Violet\": { \"v\": [\"Blue Violet\"] }, \"Boston Blue\": { \"v\": [\"Boston Blue\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blue\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Purple\"] }, \"Rosy brown\": { \"v\": [\"Rosy brown\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] }, \"White\": { \"v\": [\"White\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Oro\"] }, \"Mariner\": { \"v\": [\"Marinero\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivino\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Marrón rosáceo\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Oro\"] }, \"Mariner\": { \"v\": [\"Marinero\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivino\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Marrón rosáceo\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"es-EC\", \"t\": {} }, { \"l\": \"es-MX\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Oro\"] }, \"Mariner\": { \"v\": [\"Marinero\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivino\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Marrón rosáceo\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco meresinine\"] }, \"Black\": { \"v\": [\"Must\"] }, \"Blue Violet\": { \"v\": [\"Sinakasvioletne\"] }, \"Boston Blue\": { \"v\": [\"Bostoni rohekassinine\"] }, \"Deluge\": { \"v\": [\"Tulvavee lilla\"] }, \"Feldspar\": { \"v\": [\"Põlevkivipruun\"] }, \"Gold\": { \"v\": [\"Kuldne\"] }, \"Mariner\": { \"v\": [\"Meresinine\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloudi sinine\"] }, \"Olivine\": { \"v\": [\"Oliiviroheline\"] }, \"Purple\": { \"v\": [\"Purpurpunane\"] }, \"Rosy brown\": { \"v\": [\"Roosikarva pruun\"] }, \"Whiskey\": { \"v\": [\"Viskikarva kollakaspruun\"] }, \"White\": { \"v\": [\"Valge\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Acapulco\": { \"v\": [\"آکاپولکو\"] }, \"Blue Violet\": { \"v\": [\"بنفش آبی\"] }, \"Boston Blue\": { \"v\": [\"آبی بوستونی\"] }, \"Deluge\": { \"v\": [\"سیل\"] }, \"Feldspar\": { \"v\": [\"فلدسپات\"] }, \"Gold\": { \"v\": [\"طلا\"] }, \"Mariner\": { \"v\": [\"مارینر\"] }, \"Nextcloud blue\": { \"v\": [\"نکس کلود آبی\"] }, \"Olivine\": { \"v\": [\"الیوین\"] }, \"Purple\": { \"v\": [\"بنفش\"] }, \"Rosy brown\": { \"v\": [\"قهوهای رز\"] }, \"Whiskey\": { \"v\": [\"ویسکی\"] } } }, { \"l\": \"fi\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Sinivioletti\"] }, \"Boston Blue\": { \"v\": [\"Bostoninsininen\"] }, \"Deluge\": { \"v\": [\"Tulva\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Kulta\"] }, \"Mariner\": { \"v\": [\"Merenkulkija\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloudin sininen\"] }, \"Olivine\": { \"v\": [\"Oliviini\"] }, \"Purple\": { \"v\": [\"Purppura\"] }, \"Rosy brown\": { \"v\": [\"Ruusunruskea\"] }, \"Whiskey\": { \"v\": [\"Viski\"] } } }, { \"l\": \"fr\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Bleu violet\"] }, \"Boston Blue\": { \"v\": [\"Bleu de Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Doré\"] }, \"Mariner\": { \"v\": [\"Marin\"] }, \"Nextcloud blue\": { \"v\": [\"Bleu Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Violet\"] }, \"Rosy brown\": { \"v\": [\"Brun rosé\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"ga\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Dubh\"] }, \"Blue Violet\": { \"v\": [\"Gorm Violet\"] }, \"Boston Blue\": { \"v\": [\"Bostún Gorm\"] }, \"Deluge\": { \"v\": [\"Díle\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Óir\"] }, \"Mariner\": { \"v\": [\"Mairnéalach\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud gorm\"] }, \"Olivine\": { \"v\": [\"Olaivín\"] }, \"Purple\": { \"v\": [\"Corcra\"] }, \"Rosy brown\": { \"v\": [\"Rosach donn\"] }, \"Whiskey\": { \"v\": [\"Fuisce\"] }, \"White\": { \"v\": [\"Bán\"] } } }, { \"l\": \"gl\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Negro\"] }, \"Blue Violet\": { \"v\": [\"Azul violeta\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Dioivo\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Ouro\"] }, \"Mariner\": { \"v\": [\"Marino\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivina\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Pardo rosado\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] }, \"White\": { \"v\": [\"Branco\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Gold\": { \"v\": [\"Emas\"] }, \"Nextcloud blue\": { \"v\": [\"Biru Nextcloud\"] }, \"Purple\": { \"v\": [\"Ungu\"] } } }, { \"l\": \"is\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Bláklukka\"] }, \"Boston Blue\": { \"v\": [\"Bostonblátt\"] }, \"Deluge\": { \"v\": [\"Fjólublátt\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Gull\"] }, \"Mariner\": { \"v\": [\"Sjóarablátt\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blátt\"] }, \"Olivine\": { \"v\": [\"Ólivín\"] }, \"Purple\": { \"v\": [\"Purpurablátt\"] }, \"Rosy brown\": { \"v\": [\"Rósabrúnt\"] }, \"Whiskey\": { \"v\": [\"Viský\"] } } }, { \"l\": \"it\", \"t\": { \"Gold\": { \"v\": [\"Oro\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blue\"] }, \"Purple\": { \"v\": [\"Viola\"] } } }, { \"l\": \"ja\", \"t\": { \"Acapulco\": { \"v\": [\"アカプルコ\"] }, \"Black\": { \"v\": [\"黒\"] }, \"Blue Violet\": { \"v\": [\"ブルーバイオレット\"] }, \"Boston Blue\": { \"v\": [\"ボストンブルー\"] }, \"Deluge\": { \"v\": [\"豪雨\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"黄金\"] }, \"Mariner\": { \"v\": [\"船乗り\"] }, \"Nextcloud blue\": { \"v\": [\"ネクストクラウド・ブルー\"] }, \"Olivine\": { \"v\": [\"カンラン石\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"バラ色\"] }, \"Whiskey\": { \"v\": [\"ウイスキー\"] }, \"White\": { \"v\": [\"白\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Acapulco\": { \"v\": [\"アカプルコ\"] }, \"Blue Violet\": { \"v\": [\"ブルーバイオレット\"] }, \"Boston Blue\": { \"v\": [\"ボストンブルー\"] }, \"Deluge\": { \"v\": [\"豪雨\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"黄金\"] }, \"Mariner\": { \"v\": [\"船乗り\"] }, \"Nextcloud blue\": { \"v\": [\"ネクストクラウド・ブルー\"] }, \"Olivine\": { \"v\": [\"カンラン石\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"バラ色\"] }, \"Whiskey\": { \"v\": [\"ウイスキー\"] } } }, { \"l\": \"ko\", \"t\": { \"Acapulco\": { \"v\": [\"아카풀코\"] }, \"Blue Violet\": { \"v\": [\"푸른 보라\"] }, \"Boston Blue\": { \"v\": [\"보스턴 블루\"] }, \"Deluge\": { \"v\": [\"폭우\"] }, \"Feldspar\": { \"v\": [\"장석\"] }, \"Gold\": { \"v\": [\"금\"] }, \"Mariner\": { \"v\": [\"뱃사람\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 파랑\"] }, \"Olivine\": { \"v\": [\"감람석\"] }, \"Purple\": { \"v\": [\"보라\"] }, \"Rosy brown\": { \"v\": [\"로지 브라운\"] }, \"Whiskey\": { \"v\": [\"위스키\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулко\"] }, \"Black\": { \"v\": [\"Црно\"] }, \"Blue Violet\": { \"v\": [\"Сино Виолетова\"] }, \"Boston Blue\": { \"v\": [\"Бостон Сина\"] }, \"Deluge\": { \"v\": [\"Делуџ\"] }, \"Feldspar\": { \"v\": [\"Фелдспар\"] }, \"Gold\": { \"v\": [\"Златна\"] }, \"Mariner\": { \"v\": [\"Маринер\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud сина\"] }, \"Olivine\": { \"v\": [\"Оливин\"] }, \"Purple\": { \"v\": [\"Виолетова\"] }, \"Rosy brown\": { \"v\": [\"Розево-кафеава\"] }, \"Whiskey\": { \"v\": [\"Виски\"] }, \"White\": { \"v\": [\"Бела\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blå fiolett\"] }, \"Boston Blue\": { \"v\": [\"Boston blå\"] }, \"Deluge\": { \"v\": [\"Syndflod\"] }, \"Feldspar\": { \"v\": [\"Feltspat\"] }, \"Gold\": { \"v\": [\"Gull\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud-blå\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lilla\"] }, \"Rosy brown\": { \"v\": [\"Rosenrød brun\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"nl\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Zwart\"] }, \"Blue Violet\": { \"v\": [\"Blauw Paars\"] }, \"Boston Blue\": { \"v\": [\"Boston Blauw\"] }, \"Deluge\": { \"v\": [\"Overlopen\"] }, \"Feldspar\": { \"v\": [\"Veldspaat\"] }, \"Gold\": { \"v\": [\"Goud\"] }, \"Mariner\": { \"v\": [\"Marineblauw\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blauw\"] }, \"Olivine\": { \"v\": [\"Olivijn\"] }, \"Purple\": { \"v\": [\"Paars\"] }, \"Rosy brown\": { \"v\": [\"Rozig bruin\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] }, \"White\": { \"v\": [\"Wit\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Niebieski fiolet\"] }, \"Boston Blue\": { \"v\": [\"Błękit Bostonu\"] }, \"Deluge\": { \"v\": [\"Potop\"] }, \"Feldspar\": { \"v\": [\"Skaleń\"] }, \"Gold\": { \"v\": [\"Złote\"] }, \"Mariner\": { \"v\": [\"Marynarz\"] }, \"Nextcloud blue\": { \"v\": [\"Niebieskie Nextcloud\"] }, \"Olivine\": { \"v\": [\"Oliwin\"] }, \"Purple\": { \"v\": [\"Fioletowy\"] }, \"Rosy brown\": { \"v\": [\"Różowy brąz\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Black\": { \"v\": [\"Preto\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspato\"] }, \"Gold\": { \"v\": [\"Ouro\"] }, \"Mariner\": { \"v\": [\"Marinheiro\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivina\"] }, \"Purple\": { \"v\": [\"Roxo\"] }, \"Rosy brown\": { \"v\": [\"Castanho rosado\"] }, \"Whiskey\": { \"v\": [\"Uísque\"] }, \"White\": { \"v\": [\"Branco\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Azul violeta\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Ouro\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud azul\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Castanho rosado\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"ro\", \"t\": { \"Gold\": { \"v\": [\"Aur\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud albastru\"] }, \"Purple\": { \"v\": [\"Purpuriu\"] } } }, { \"l\": \"ru\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулько\"] }, \"Blue Violet\": { \"v\": [\"Синий фиолет\"] }, \"Boston Blue\": { \"v\": [\"Синий Бостон\"] }, \"Deluge\": { \"v\": [\"Перламутрово-фиолетовый\"] }, \"Feldspar\": { \"v\": [\"Античная латунь\"] }, \"Gold\": { \"v\": [\"Золотой\"] }, \"Mariner\": { \"v\": [\"Морской\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud голубой\"] }, \"Olivine\": { \"v\": [\" Оливковый\"] }, \"Purple\": { \"v\": [\"Фиолетовый\"] }, \"Rosy brown\": { \"v\": [\"Розово-коричневый\"] }, \"Whiskey\": { \"v\": [\"Виски\"] } } }, { \"l\": \"sk\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Modro fialová\"] }, \"Boston Blue\": { \"v\": [\"Bostonská modrá\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Živec\"] }, \"Gold\": { \"v\": [\"Zlatá\"] }, \"Mariner\": { \"v\": [\"Námorník\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud modrá\"] }, \"Olivine\": { \"v\": [\"Olivová\"] }, \"Purple\": { \"v\": [\"Fialová\"] }, \"Rosy brown\": { \"v\": [\"Ružovo hnedá\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулко\"] }, \"Black\": { \"v\": [\"Црно\"] }, \"Blue Violet\": { \"v\": [\"Плаво љубичаста\"] }, \"Boston Blue\": { \"v\": [\"Бостон плава\"] }, \"Deluge\": { \"v\": [\"Поплава\"] }, \"Feldspar\": { \"v\": [\"Фелдспар\"] }, \"Gold\": { \"v\": [\"Злато\"] }, \"Mariner\": { \"v\": [\"Морнар\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud плава\"] }, \"Olivine\": { \"v\": [\"Маслинаста\"] }, \"Purple\": { \"v\": [\"Пурпурна\"] }, \"Rosy brown\": { \"v\": [\"Роси браон\"] }, \"Whiskey\": { \"v\": [\"Виски\"] }, \"White\": { \"v\": [\"Бело\"] } } }, { \"l\": \"sv\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blåviolett\"] }, \"Boston Blue\": { \"v\": [\"Bostonblå\"] }, \"Deluge\": { \"v\": [\"Skyfallsblå\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Guld\"] }, \"Mariner\": { \"v\": [\"Marinblå\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud-blå\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lila\"] }, \"Rosy brown\": { \"v\": [\"Rosabrun\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"tr\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Black\": { \"v\": [\"Siyah\"] }, \"Blue Violet\": { \"v\": [\"Mavi mor\"] }, \"Boston Blue\": { \"v\": [\"Boston mavisi\"] }, \"Deluge\": { \"v\": [\"Sel\"] }, \"Feldspar\": { \"v\": [\"Feldispat\"] }, \"Gold\": { \"v\": [\"Altın\"] }, \"Mariner\": { \"v\": [\"Denizci\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud mavi\"] }, \"Olivine\": { \"v\": [\"Zeytinlik\"] }, \"Purple\": { \"v\": [\"Mor\"] }, \"Rosy brown\": { \"v\": [\"Kırmızımsı kahverengi\"] }, \"Whiskey\": { \"v\": [\"Viski\"] }, \"White\": { \"v\": [\"Beyaz\"] } } }, { \"l\": \"uk\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулько\"] }, \"Blue Violet\": { \"v\": [\"Блакитна фіалка\"] }, \"Boston Blue\": { \"v\": [\"Бостонський синій\"] }, \"Deluge\": { \"v\": [\"Злива\"] }, \"Feldspar\": { \"v\": [\"Польові шпати\"] }, \"Gold\": { \"v\": [\"Золотий\"] }, \"Mariner\": { \"v\": [\"Морський\"] }, \"Nextcloud blue\": { \"v\": [\"Блакитний Nextcloud\"] }, \"Olivine\": { \"v\": [\"Олива\"] }, \"Purple\": { \"v\": [\"Фіолетовий\"] }, \"Rosy brown\": { \"v\": [\"Темно-рожевий\"] }, \"Whiskey\": { \"v\": [\"Кола\"] } } }, { \"l\": \"uz\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Black\": { \"v\": [\"Qora\"] }, \"Blue Violet\": { \"v\": [\"Moviy binafsha\"] }, \"Boston Blue\": { \"v\": [\"Boston ko'k\"] }, \"Deluge\": { \"v\": [\"To'fon\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Oltin\"] }, \"Mariner\": { \"v\": [\"Dengizchi\"] }, \"Nextcloud blue\": { \"v\": [\"Ko'k Nextcloud \"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Binafsha\"] }, \"Rosy brown\": { \"v\": [\"Qizil jigarrang\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] }, \"White\": { \"v\": [\"Oq\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"瓦罗兰特蓝\"] }, \"Boston Blue\": { \"v\": [\"波士顿蓝\"] }, \"Deluge\": { \"v\": [\"洪水色\"] }, \"Feldspar\": { \"v\": [\"长石\"] }, \"Gold\": { \"v\": [\"金色\"] }, \"Mariner\": { \"v\": [\"水手\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 蓝\"] }, \"Olivine\": { \"v\": [\"橄榄石色\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"玫瑰棕色\"] }, \"Whiskey\": { \"v\": [\"威士忌\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Acapulco\": { \"v\": [\"阿卡普爾科\"] }, \"Blue Violet\": { \"v\": [\"藍紫色\"] }, \"Boston Blue\": { \"v\": [\"波士頓藍\"] }, \"Deluge\": { \"v\": [\"大洪水\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"海軍藍\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 藍色\"] }, \"Olivine\": { \"v\": [\"橄欖石色\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"玫瑰棕色\"] }, \"Whiskey\": { \"v\": [\"威士忌\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"藍紫色\"] }, \"Boston Blue\": { \"v\": [\"波士頓藍\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"金色\"] }, \"Mariner\": { \"v\": [\"海軍藍\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 藍色\"] }, \"Olivine\": { \"v\": [\"橄欖石色\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"玫瑰棕色\"] }, \"Whiskey\": { \"v\": [\"威士忌\"] } } }];\nconst t4 = [{ \"l\": \"ar\", \"t\": { \"Actions\": { \"v\": [\"إجراءات\"] } } }, { \"l\": \"ast\", \"t\": { \"Actions\": { \"v\": [\"Aiciones\"] } } }, { \"l\": \"br\", \"t\": { \"Actions\": { \"v\": [\"Oberioù\"] } } }, { \"l\": \"ca\", \"t\": { \"Actions\": { \"v\": [\"Accions\"] } } }, { \"l\": \"cs\", \"t\": { \"Actions\": { \"v\": [\"Akce\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Actions\": { \"v\": [\"Akce\"] } } }, { \"l\": \"da\", \"t\": { \"Actions\": { \"v\": [\"Handlinger\"] } } }, { \"l\": \"de\", \"t\": { \"Actions\": { \"v\": [\"Aktionen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Actions\": { \"v\": [\"Aktionen\"] } } }, { \"l\": \"el\", \"t\": { \"Actions\": { \"v\": [\"Ενέργειες\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Actions\": { \"v\": [\"Actions\"] } } }, { \"l\": \"eo\", \"t\": { \"Actions\": { \"v\": [\"Agoj\"] } } }, { \"l\": \"es\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Actions\": { \"v\": [\"Tegevus\"] } } }, { \"l\": \"eu\", \"t\": { \"Actions\": { \"v\": [\"Ekintzak\"] } } }, { \"l\": \"fa\", \"t\": { \"Actions\": { \"v\": [\"کنشها\"] } } }, { \"l\": \"fi\", \"t\": { \"Actions\": { \"v\": [\"Toiminnot\"] } } }, { \"l\": \"fr\", \"t\": { \"Actions\": { \"v\": [\"Actions\"] } } }, { \"l\": \"ga\", \"t\": { \"Actions\": { \"v\": [\"Gníomhartha\"] } } }, { \"l\": \"gl\", \"t\": { \"Actions\": { \"v\": [\"Accións\"] } } }, { \"l\": \"he\", \"t\": { \"Actions\": { \"v\": [\"פעולות\"] } } }, { \"l\": \"hu\", \"t\": { \"Actions\": { \"v\": [\"Műveletek\"] } } }, { \"l\": \"id\", \"t\": { \"Actions\": { \"v\": [\"Tindakan\"] } } }, { \"l\": \"is\", \"t\": { \"Actions\": { \"v\": [\"Aðgerðir\"] } } }, { \"l\": \"it\", \"t\": { \"Actions\": { \"v\": [\"Azioni\"] } } }, { \"l\": \"ja\", \"t\": { \"Actions\": { \"v\": [\"操作\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Actions\": { \"v\": [\"操作\"] } } }, { \"l\": \"ko\", \"t\": { \"Actions\": { \"v\": [\"동작\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Actions\": { \"v\": [\"Veiksmai\"] } } }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Actions\": { \"v\": [\"Акции\"] } } }, { \"l\": \"my\", \"t\": { \"Actions\": { \"v\": [\"လုပ်ဆောင်ချက်များ\"] } } }, { \"l\": \"nb\", \"t\": { \"Actions\": { \"v\": [\"Handlinger\"] } } }, { \"l\": \"nl\", \"t\": { \"Actions\": { \"v\": [\"Acties\"] } } }, { \"l\": \"oc\", \"t\": { \"Actions\": { \"v\": [\"Accions\"] } } }, { \"l\": \"pl\", \"t\": { \"Actions\": { \"v\": [\"Działania\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Actions\": { \"v\": [\"Ações\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Actions\": { \"v\": [\"Ações\"] } } }, { \"l\": \"ro\", \"t\": { \"Actions\": { \"v\": [\"Acțiuni\"] } } }, { \"l\": \"ru\", \"t\": { \"Actions\": { \"v\": [\"Действия \"] } } }, { \"l\": \"sk\", \"t\": { \"Actions\": { \"v\": [\"Akcie\"] } } }, { \"l\": \"sl\", \"t\": { \"Actions\": { \"v\": [\"Dejanja\"] } } }, { \"l\": \"sr\", \"t\": { \"Actions\": { \"v\": [\"Радње\"] } } }, { \"l\": \"sv\", \"t\": { \"Actions\": { \"v\": [\"Åtgärder\"] } } }, { \"l\": \"tr\", \"t\": { \"Actions\": { \"v\": [\"İşlemler\"] } } }, { \"l\": \"uk\", \"t\": { \"Actions\": { \"v\": [\"Дії\"] } } }, { \"l\": \"uz\", \"t\": { \"Actions\": { \"v\": [\"Harakatlar\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Actions\": { \"v\": [\"行为\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Actions\": { \"v\": [\"動作\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Actions\": { \"v\": [\"動作\"] } } }];\nconst t5 = [{ \"l\": \"ar\", \"t\": { \"Activities\": { \"v\": [\"سجل الأنشطة\"] }, \"Animals & Nature\": { \"v\": [\"الحيوانات والطبيعة\"] }, \"Custom\": { \"v\": [\"مُخصَّص\"] }, \"Dark skin tone\": { \"v\": [\"أسمر البُشرة\"] }, \"Emoji picker\": { \"v\": [\"لاقط الإيموجي\"] }, \"Flags\": { \"v\": [\"الأعلام\"] }, \"Food & Drink\": { \"v\": [\"الطعام والشراب\"] }, \"Frequently used\": { \"v\": [\"شائعة الاستعمال\"] }, \"Light skin tone\": { \"v\": [\"فاتح البُشرة\"] }, \"Medium dark skin tone\": { \"v\": [\"بشرة متوسطة الاسمرار\"] }, \"Medium light skin tone\": { \"v\": [\"بشرة متوسطة البياض\"] }, \"Medium skin tone\": { \"v\": [\"بشرة وسطية اللون\"] }, \"Neutral skin color\": { \"v\": [\"لون بُشرة طبيعي\"] }, \"Objects\": { \"v\": [\"أشياء\"] }, \"People & Body\": { \"v\": [\"أشخاص و أجسام\"] }, \"Pick an emoji\": { \"v\": [\"إختَر رمز إيموجي emoji\"] }, \"Search emoji\": { \"v\": [\"البحث عن إيموجي emoji\"] }, \"Search results\": { \"v\": [\"نتائج البحث\"] }, \"Selected\": { \"v\": [\"محدّدة\"] }, \"Skin tone\": { \"v\": [\"لون البُشرة\"] }, \"Smileys & Emotion\": { \"v\": [\"وجوهٌ ضاحكة و مشاعر\"] }, \"Symbols\": { \"v\": [\"رموز\"] }, \"Travel & Places\": { \"v\": [\"سفر و أماكن\"] } } }, { \"l\": \"ast\", \"t\": { \"Activities\": { \"v\": [\"Actividaes\"] }, \"Animals & Nature\": { \"v\": [\"Animales y natura\"] }, \"Custom\": { \"v\": [\"Personalizar\"] }, \"Dark skin tone\": { \"v\": [\"Tonu d'aspeutu escuru\"] }, \"Emoji picker\": { \"v\": [\"Selector de fustaxes\"] }, \"Flags\": { \"v\": [\"Banderes\"] }, \"Food & Drink\": { \"v\": [\"Cómida y bébora\"] }, \"Frequently used\": { \"v\": [\"D'usu frecuente\"] }, \"Light skin tone\": { \"v\": [\"Tonu d'aspeutu claru\"] }, \"Medium dark skin tone\": { \"v\": [\"Tonu d'aspeutu medio escuru\"] }, \"Medium light skin tone\": { \"v\": [\"Tonu d'aspeutu medio claru\"] }, \"Medium skin tone\": { \"v\": [\"Tonu d'aspeutu mediu\"] }, \"Neutral skin color\": { \"v\": [\"Color d'aspeutu neutral\"] }, \"Objects\": { \"v\": [\"Oxetos\"] }, \"People & Body\": { \"v\": [\"Persones y cuerpu\"] }, \"Pick an emoji\": { \"v\": [\"Escueyi un fustaxe\"] }, \"Search emoji\": { \"v\": [\"Buscar nos fustaxes\"] }, \"Search results\": { \"v\": [\"Resultaos de la busca\"] }, \"Selected\": { \"v\": [\"Na seleición\"] }, \"Skin tone\": { \"v\": [\"Tonu d'aspeutu\"] }, \"Smileys & Emotion\": { \"v\": [\"Sorrises y emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viaxes y llugares\"] } } }, { \"l\": \"br\", \"t\": { \"Activities\": { \"v\": [\"Oberiantizoù\"] }, \"Animals & Nature\": { \"v\": [\"Loened & Natur\"] }, \"Custom\": { \"v\": [\"Personelañ\"] }, \"Flags\": { \"v\": [\"Bannieloù\"] }, \"Food & Drink\": { \"v\": [\"Boued & Evajoù\"] }, \"Frequently used\": { \"v\": [\"Implijet alies\"] }, \"Objects\": { \"v\": [\"Traoù\"] }, \"People & Body\": { \"v\": [\"Tud & Korf\"] }, \"Pick an emoji\": { \"v\": [\"Choaz un emoji\"] }, \"Search results\": { \"v\": [\"Disoc'hoù an enklask\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileyioù & Fromoù\"] }, \"Symbols\": { \"v\": [\"Arouezioù\"] }, \"Travel & Places\": { \"v\": [\"Beaj & Lec'hioù\"] } } }, { \"l\": \"ca\", \"t\": { \"Activities\": { \"v\": [\"Activitats\"] }, \"Animals & Nature\": { \"v\": [\"Animals i natura\"] }, \"Custom\": { \"v\": [\"Personalitzat\"] }, \"Flags\": { \"v\": [\"Marques\"] }, \"Food & Drink\": { \"v\": [\"Menjar i begudes\"] }, \"Frequently used\": { \"v\": [\"Utilitzats recentment\"] }, \"Objects\": { \"v\": [\"Objectes\"] }, \"People & Body\": { \"v\": [\"Persones i cos\"] }, \"Pick an emoji\": { \"v\": [\"Trieu un emoji\"] }, \"Search results\": { \"v\": [\"Resultats de cerca\"] }, \"Smileys & Emotion\": { \"v\": [\"Cares i emocions\"] }, \"Symbols\": { \"v\": [\"Símbols\"] }, \"Travel & Places\": { \"v\": [\"Viatges i llocs\"] } } }, { \"l\": \"cs\", \"t\": { \"Activities\": { \"v\": [\"Aktivity\"] }, \"Animals & Nature\": { \"v\": [\"Zvířata a příroda\"] }, \"Custom\": { \"v\": [\"Uživatelsky určené\"] }, \"Dark skin tone\": { \"v\": [\"Tmavý tělový tón\"] }, \"Emoji picker\": { \"v\": [\"Výběr emotikon\"] }, \"Flags\": { \"v\": [\"Příznaky\"] }, \"Food & Drink\": { \"v\": [\"Jídlo a pití\"] }, \"Frequently used\": { \"v\": [\"Často používané\"] }, \"Light skin tone\": { \"v\": [\"Světlý tělový tón\"] }, \"Medium dark skin tone\": { \"v\": [\"Středně tmavý tělový tón\"] }, \"Medium light skin tone\": { \"v\": [\"Středně světlý tělový tón\"] }, \"Medium skin tone\": { \"v\": [\"Střední tělový tón\"] }, \"Neutral skin color\": { \"v\": [\"Neutrální tělová barva\"] }, \"Objects\": { \"v\": [\"Objekty\"] }, \"People & Body\": { \"v\": [\"Lidé a tělo\"] }, \"Pick an emoji\": { \"v\": [\"Vybrat emoji\"] }, \"Search emoji\": { \"v\": [\"Hledat emoji\"] }, \"Search results\": { \"v\": [\"Výsledky hledání\"] }, \"Selected\": { \"v\": [\"Vybráno\"] }, \"Skin tone\": { \"v\": [\"Tělový tón\"] }, \"Smileys & Emotion\": { \"v\": [\"Úsměvy a emoce\"] }, \"Symbols\": { \"v\": [\"Symboly\"] }, \"Travel & Places\": { \"v\": [\"Cestování a místa\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Activities\": { \"v\": [\"Aktivity\"] }, \"Animals & Nature\": { \"v\": [\"Zvířata a příroda\"] }, \"Custom\": { \"v\": [\"Uživatelsky určené\"] }, \"Dark skin tone\": { \"v\": [\"Tmavý tělový tón\"] }, \"Emoji picker\": { \"v\": [\"Výběr emotikon\"] }, \"Flags\": { \"v\": [\"Příznaky\"] }, \"Food & Drink\": { \"v\": [\"Jídlo a pití\"] }, \"Frequently used\": { \"v\": [\"Často používané\"] }, \"Light skin tone\": { \"v\": [\"Světlý tělový tón\"] }, \"Medium dark skin tone\": { \"v\": [\"Středně tmavý tělový tón\"] }, \"Medium light skin tone\": { \"v\": [\"Středně světlý tělový tón\"] }, \"Medium skin tone\": { \"v\": [\"Střední tělový tón\"] }, \"Neutral skin color\": { \"v\": [\"Neutřální tělová barva\"] }, \"Objects\": { \"v\": [\"Objekty\"] }, \"People & Body\": { \"v\": [\"Lidé a tělo\"] }, \"Pick an emoji\": { \"v\": [\"Vybrat emoji\"] }, \"Search emoji\": { \"v\": [\"Hledat emoji\"] }, \"Search results\": { \"v\": [\"Výsledky hledání\"] }, \"Selected\": { \"v\": [\"Vybráno\"] }, \"Skin tone\": { \"v\": [\"Tělový tón\"] }, \"Smileys & Emotion\": { \"v\": [\"Úsměvy a emoce\"] }, \"Symbols\": { \"v\": [\"Symboly\"] }, \"Travel & Places\": { \"v\": [\"Cestování a místa\"] } } }, { \"l\": \"da\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteter\"] }, \"Animals & Nature\": { \"v\": [\"Dyr & Natur\"] }, \"Custom\": { \"v\": [\"Brugerdefineret\"] }, \"Dark skin tone\": { \"v\": [\"Mørk skin tone\"] }, \"Emoji picker\": { \"v\": [\"Emoji vælger\"] }, \"Flags\": { \"v\": [\"Flag\"] }, \"Food & Drink\": { \"v\": [\"Mad & Drikke\"] }, \"Frequently used\": { \"v\": [\"Ofte brugt\"] }, \"Light skin tone\": { \"v\": [\"Lys skin tone\"] }, \"Medium dark skin tone\": { \"v\": [\"Medium mørk skin tone\"] }, \"Medium light skin tone\": { \"v\": [\"Medium lys skin tone\"] }, \"Medium skin tone\": { \"v\": [\"Medium skin tone\"] }, \"Neutral skin color\": { \"v\": [\"Neutral skin color\"] }, \"Objects\": { \"v\": [\"Objekter\"] }, \"People & Body\": { \"v\": [\"Mennesker & Menneskekroppen\"] }, \"Pick an emoji\": { \"v\": [\"Vælg en emoji\"] }, \"Search emoji\": { \"v\": [\"Søg emoji\"] }, \"Search results\": { \"v\": [\"Søgeresultater\"] }, \"Selected\": { \"v\": [\"Valgt\"] }, \"Skin tone\": { \"v\": [\"Skin tone\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotion\"] }, \"Symbols\": { \"v\": [\"Symboler\"] }, \"Travel & Places\": { \"v\": [\"Rejser & Rejsemål\"] } } }, { \"l\": \"de\", \"t\": { \"Activities\": { \"v\": [\"Aktivitäten\"] }, \"Animals & Nature\": { \"v\": [\"Tiere & Natur\"] }, \"Custom\": { \"v\": [\"Benutzerdefiniert\"] }, \"Dark skin tone\": { \"v\": [\"Dunkler Hautfarbton\"] }, \"Emoji picker\": { \"v\": [\"Emoji-Auswahl\"] }, \"Flags\": { \"v\": [\"Flaggen\"] }, \"Food & Drink\": { \"v\": [\"Essen & Trinken\"] }, \"Frequently used\": { \"v\": [\"Häufig verwendet\"] }, \"Light skin tone\": { \"v\": [\"Heller Hautfarbton\"] }, \"Medium dark skin tone\": { \"v\": [\"Mitteldunkler Hautfarbton\"] }, \"Medium light skin tone\": { \"v\": [\"Mittelheller Hautfarbton\"] }, \"Medium skin tone\": { \"v\": [\"Mittlerer Hautfarbton\"] }, \"Neutral skin color\": { \"v\": [\"Neutraler Hautfarbton\"] }, \"Objects\": { \"v\": [\"Objekte\"] }, \"People & Body\": { \"v\": [\"Menschen & Körper\"] }, \"Pick an emoji\": { \"v\": [\"Ein Emoji auswählen\"] }, \"Search emoji\": { \"v\": [\"Emoji suchen\"] }, \"Search results\": { \"v\": [\"Suchergebnisse\"] }, \"Selected\": { \"v\": [\"Ausgewählt\"] }, \"Skin tone\": { \"v\": [\"Hautfarbton\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotionen\"] }, \"Symbols\": { \"v\": [\"Symbole\"] }, \"Travel & Places\": { \"v\": [\"Reisen & Orte\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Activities\": { \"v\": [\"Aktivitäten\"] }, \"Animals & Nature\": { \"v\": [\"Tiere & Natur\"] }, \"Custom\": { \"v\": [\"Benutzerdefiniert\"] }, \"Dark skin tone\": { \"v\": [\"Dunkler Hautfarbton\"] }, \"Emoji picker\": { \"v\": [\"Emoji-Auswahl\"] }, \"Flags\": { \"v\": [\"Flaggen\"] }, \"Food & Drink\": { \"v\": [\"Essen & Trinken\"] }, \"Frequently used\": { \"v\": [\"Häufig verwendet\"] }, \"Light skin tone\": { \"v\": [\"Heller Hautfarbton\"] }, \"Medium dark skin tone\": { \"v\": [\"Mitteldunkler Hautfarbton\"] }, \"Medium light skin tone\": { \"v\": [\"Mittelheller Hautfarbton\"] }, \"Medium skin tone\": { \"v\": [\"Mittlerer Hautfarbton\"] }, \"Neutral skin color\": { \"v\": [\"Neutraler Hautfarbton\"] }, \"Objects\": { \"v\": [\"Objekte\"] }, \"People & Body\": { \"v\": [\"Menschen & Körper\"] }, \"Pick an emoji\": { \"v\": [\"Ein Emoji auswählen\"] }, \"Search emoji\": { \"v\": [\"Emoji suchen\"] }, \"Search results\": { \"v\": [\"Suchergebnisse\"] }, \"Selected\": { \"v\": [\"Ausgewählt\"] }, \"Skin tone\": { \"v\": [\"Hautfarbton\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotionen\"] }, \"Symbols\": { \"v\": [\"Symbole\"] }, \"Travel & Places\": { \"v\": [\"Reisen & Orte\"] } } }, { \"l\": \"el\", \"t\": { \"Activities\": { \"v\": [\"Δραστηριότητες\"] }, \"Animals & Nature\": { \"v\": [\"Ζώα & Φύση\"] }, \"Custom\": { \"v\": [\"Προσαρμογή\"] }, \"Dark skin tone\": { \"v\": [\"Σκούρο θέμα\"] }, \"Emoji picker\": { \"v\": [\"Επιλογέας emoji\"] }, \"Flags\": { \"v\": [\"Σημαίες\"] }, \"Food & Drink\": { \"v\": [\"Φαγητό & Ποτό\"] }, \"Frequently used\": { \"v\": [\"Συχνά χρησιμοποιούμενο\"] }, \"Light skin tone\": { \"v\": [\"Ανοιχτό θέμα\"] }, \"Medium dark skin tone\": { \"v\": [\"Μέτριο σκούρο θέμα\"] }, \"Medium light skin tone\": { \"v\": [\"Μέτριο ανοιχτό θέμα\"] }, \"Medium skin tone\": { \"v\": [\"Μέτριος τόνος θέματος\"] }, \"Neutral skin color\": { \"v\": [\"Ουδέτερο χρώμα θέματος\"] }, \"Objects\": { \"v\": [\"Αντικείμενα\"] }, \"People & Body\": { \"v\": [\"Άνθρωποι & Σώμα\"] }, \"Pick an emoji\": { \"v\": [\"Επιλέξτε ένα emoji\"] }, \"Search emoji\": { \"v\": [\"Αναζήτηση emoji\"] }, \"Search results\": { \"v\": [\"Αποτελέσματα αναζήτησης\"] }, \"Selected\": { \"v\": [\"Επιλεγμένο\"] }, \"Skin tone\": { \"v\": [\"Τόνος δέρματος\"] }, \"Smileys & Emotion\": { \"v\": [\"Φατσούλες & Συναίσθημα\"] }, \"Symbols\": { \"v\": [\"Σύμβολα\"] }, \"Travel & Places\": { \"v\": [\"Ταξίδια & Τοποθεσίες\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Activities\": { \"v\": [\"Activities\"] }, \"Animals & Nature\": { \"v\": [\"Animals & Nature\"] }, \"Custom\": { \"v\": [\"Custom\"] }, \"Dark skin tone\": { \"v\": [\"Dark skin tone\"] }, \"Emoji picker\": { \"v\": [\"Emoji picker\"] }, \"Flags\": { \"v\": [\"Flags\"] }, \"Food & Drink\": { \"v\": [\"Food & Drink\"] }, \"Frequently used\": { \"v\": [\"Frequently used\"] }, \"Light skin tone\": { \"v\": [\"Light skin tone\"] }, \"Medium dark skin tone\": { \"v\": [\"Medium dark skin tone\"] }, \"Medium light skin tone\": { \"v\": [\"Medium light skin tone\"] }, \"Medium skin tone\": { \"v\": [\"Medium skin tone\"] }, \"Neutral skin color\": { \"v\": [\"Neutral skin colour\"] }, \"Objects\": { \"v\": [\"Objects\"] }, \"People & Body\": { \"v\": [\"People & Body\"] }, \"Pick an emoji\": { \"v\": [\"Pick an emoji\"] }, \"Search emoji\": { \"v\": [\"Search emoji\"] }, \"Search results\": { \"v\": [\"Search results\"] }, \"Selected\": { \"v\": [\"Selected\"] }, \"Skin tone\": { \"v\": [\"Skin tone\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotion\"] }, \"Symbols\": { \"v\": [\"Symbols\"] }, \"Travel & Places\": { \"v\": [\"Travel & Places\"] } } }, { \"l\": \"eo\", \"t\": { \"Activities\": { \"v\": [\"Aktiveco\"] }, \"Animals & Nature\": { \"v\": [\"Bestoj & Naturo\"] }, \"Custom\": { \"v\": [\"Propra\"] }, \"Flags\": { \"v\": [\"Flagoj\"] }, \"Food & Drink\": { \"v\": [\"Manĝaĵo & Trinkaĵo\"] }, \"Frequently used\": { \"v\": [\"Ofte uzataj\"] }, \"Objects\": { \"v\": [\"Objektoj\"] }, \"People & Body\": { \"v\": [\"Homoj & Korpo\"] }, \"Pick an emoji\": { \"v\": [\"Elekti emoĝion \"] }, \"Search results\": { \"v\": [\"Serĉrezultoj\"] }, \"Smileys & Emotion\": { \"v\": [\"Ridoj kaj Emocioj\"] }, \"Symbols\": { \"v\": [\"Signoj\"] }, \"Travel & Places\": { \"v\": [\"Vojaĵoj & Lokoj\"] } } }, { \"l\": \"es\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tono de piel obscuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de emojis\"] }, \"Flags\": { \"v\": [\"Banderas\"] }, \"Food & Drink\": { \"v\": [\"Comida y bebida\"] }, \"Frequently used\": { \"v\": [\"Usado con frecuencia\"] }, \"Light skin tone\": { \"v\": [\"Tono de piel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tono de piel medio oscuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tono de piel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tono de piel medio\"] }, \"Neutral skin color\": { \"v\": [\"Color de piel neutral\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y Cuerpo\"] }, \"Pick an emoji\": { \"v\": [\"Elegir un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de la búsqueda\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Tono de piel\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys y emoticonos\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y lugares\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y Naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tono de piel oscuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de emojis\"] }, \"Flags\": { \"v\": [\"Marcas\"] }, \"Food & Drink\": { \"v\": [\"Comida y Bebida\"] }, \"Frequently used\": { \"v\": [\"Usados frecuentemente\"] }, \"Light skin tone\": { \"v\": [\"Tono de piel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tono de piel medio oscuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tono de piel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tono de piel medio\"] }, \"Neutral skin color\": { \"v\": [\"Color de piel neutral\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y Cuerpo\"] }, \"Pick an emoji\": { \"v\": [\"Elija un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de la búsqueda\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Tono de piel\"] }, \"Smileys & Emotion\": { \"v\": [\"Caritas y Emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y Lugares\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y Naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Flags\": { \"v\": [\"Marcas\"] }, \"Food & Drink\": { \"v\": [\"Comida y Bebida\"] }, \"Frequently used\": { \"v\": [\"Frecuentemente utilizado\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y Cuerpo\"] }, \"Pick an emoji\": { \"v\": [\"Seleccionar un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de búsqueda\"] }, \"Smileys & Emotion\": { \"v\": [\"Caritas y Emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y Lugares\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tono de piel oscuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de emojis\"] }, \"Flags\": { \"v\": [\"Banderas\"] }, \"Food & Drink\": { \"v\": [\"Comida y Bebida\"] }, \"Frequently used\": { \"v\": [\"Usado frecuentemente\"] }, \"Light skin tone\": { \"v\": [\"Tono de piel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tono de piel medio oscuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tono de piel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tono de piel medio\"] }, \"Neutral skin color\": { \"v\": [\"Color de piel neutral\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y cuerpos\"] }, \"Pick an emoji\": { \"v\": [\"Seleccionar un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de la búsqueda\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Tono de piel\"] }, \"Smileys & Emotion\": { \"v\": [\"Caritas y Emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y lugares\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Activities\": { \"v\": [\"Tegevused\"] }, \"Animals & Nature\": { \"v\": [\"Loomad ja loodus\"] }, \"Custom\": { \"v\": [\"Kohanda\"] }, \"Dark skin tone\": { \"v\": [\"Kesta tume toon\"] }, \"Emoji picker\": { \"v\": [\"Emojide valija\"] }, \"Flags\": { \"v\": [\"Lipud\"] }, \"Food & Drink\": { \"v\": [\"Söök ja jook\"] }, \"Frequently used\": { \"v\": [\"Sageli kasutatud\"] }, \"Light skin tone\": { \"v\": [\"Kesta hele toon\"] }, \"Medium dark skin tone\": { \"v\": [\"Kesta keskmiselt tume toon\"] }, \"Medium light skin tone\": { \"v\": [\"Kesta keskmiselt hele toon\"] }, \"Medium skin tone\": { \"v\": [\"Kesta keskmine toon\"] }, \"Neutral skin color\": { \"v\": [\"Kesta neutraalne toon\"] }, \"Objects\": { \"v\": [\"Objektid\"] }, \"People & Body\": { \"v\": [\"Inimesed ja keha\"] }, \"Pick an emoji\": { \"v\": [\"Vali emoji\"] }, \"Search emoji\": { \"v\": [\"Otsi emojit\"] }, \"Search results\": { \"v\": [\"Otsi tulemustest\"] }, \"Selected\": { \"v\": [\"Valitud\"] }, \"Skin tone\": { \"v\": [\"Kesta toon\"] }, \"Smileys & Emotion\": { \"v\": [\"Smailid ja emotsioonid\"] }, \"Symbols\": { \"v\": [\"Sümbolid\"] }, \"Travel & Places\": { \"v\": [\"Reisimine ja kohad\"] } } }, { \"l\": \"eu\", \"t\": { \"Activities\": { \"v\": [\"Jarduerak\"] }, \"Animals & Nature\": { \"v\": [\"Animaliak eta Natura\"] }, \"Custom\": { \"v\": [\"Pertsonalizatua\"] }, \"Flags\": { \"v\": [\"Banderak\"] }, \"Food & Drink\": { \"v\": [\"Janaria eta edariak\"] }, \"Frequently used\": { \"v\": [\"Askotan erabilia\"] }, \"Objects\": { \"v\": [\"Objektuak\"] }, \"People & Body\": { \"v\": [\"Jendea eta gorputza\"] }, \"Pick an emoji\": { \"v\": [\"Hautatu emoji bat\"] }, \"Search emoji\": { \"v\": [\"Bilatu emojiak\"] }, \"Search results\": { \"v\": [\"Bilaketa emaitzak\"] }, \"Selected\": { \"v\": [\"Hautatuta\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileyak eta emozioa\"] }, \"Symbols\": { \"v\": [\"Sinboloak\"] }, \"Travel & Places\": { \"v\": [\"Bidaiak eta lekuak\"] } } }, { \"l\": \"fa\", \"t\": { \"Activities\": { \"v\": [\"فعالیتها\"] }, \"Animals & Nature\": { \"v\": [\"حیوانات و طبیعت\"] }, \"Custom\": { \"v\": [\"سفارشی\"] }, \"Dark skin tone\": { \"v\": [\"رنگ پوسته تیره\"] }, \"Emoji picker\": { \"v\": [\"انتخابگر شکلک\"] }, \"Flags\": { \"v\": [\"پرچمها\"] }, \"Food & Drink\": { \"v\": [\"غذا و نوشیدنی\"] }, \"Frequently used\": { \"v\": [\"پرکاربرد\"] }, \"Light skin tone\": { \"v\": [\"رنگ پوسته روشن\"] }, \"Medium dark skin tone\": { \"v\": [\"رنگ پوسته تیره متوسط\"] }, \"Medium light skin tone\": { \"v\": [\"رنگ پوسته روشن متوسط\"] }, \"Medium skin tone\": { \"v\": [\"رنگ پوسته متوسط\"] }, \"Neutral skin color\": { \"v\": [\"رنگ پوسته خنثی\"] }, \"Objects\": { \"v\": [\"اشیاء\"] }, \"People & Body\": { \"v\": [\"مردم و بدن\"] }, \"Pick an emoji\": { \"v\": [\"انتخاب شکلک\"] }, \"Search emoji\": { \"v\": [\"جستجوی شکلک\"] }, \"Search results\": { \"v\": [\"نتایج جستجو\"] }, \"Selected\": { \"v\": [\"انتخاب شده\"] }, \"Skin tone\": { \"v\": [\"رنگ پوسته\"] }, \"Smileys & Emotion\": { \"v\": [\"شکلکها و احساسات\"] }, \"Symbols\": { \"v\": [\"نمادها\"] }, \"Travel & Places\": { \"v\": [\"سفر و مکانها\"] } } }, { \"l\": \"fi\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteetit\"] }, \"Animals & Nature\": { \"v\": [\"Eläimet & luonto\"] }, \"Custom\": { \"v\": [\"Mukautettu\"] }, \"Dark skin tone\": { \"v\": [\"Tumma ihonväri\"] }, \"Emoji picker\": { \"v\": [\"Emojivalitsin\"] }, \"Flags\": { \"v\": [\"Liput\"] }, \"Food & Drink\": { \"v\": [\"Ruoka & juoma\"] }, \"Frequently used\": { \"v\": [\"Usein käytetyt\"] }, \"Light skin tone\": { \"v\": [\"Vaalea ihonväri\"] }, \"Medium dark skin tone\": { \"v\": [\"Keskitumma ihonväri\"] }, \"Medium light skin tone\": { \"v\": [\"Keskivaalea ihonväri\"] }, \"Medium skin tone\": { \"v\": [\"Keskimääräinen ihonväri\"] }, \"Neutral skin color\": { \"v\": [\"Neutraali ihonväri\"] }, \"Objects\": { \"v\": [\"Esineet & asiat\"] }, \"People & Body\": { \"v\": [\"Ihmiset & keho\"] }, \"Pick an emoji\": { \"v\": [\"Valitse emoji\"] }, \"Search emoji\": { \"v\": [\"Etsi emojia\"] }, \"Search results\": { \"v\": [\"Hakutulokset\"] }, \"Selected\": { \"v\": [\"Valittu\"] }, \"Skin tone\": { \"v\": [\"Ihonväri\"] }, \"Smileys & Emotion\": { \"v\": [\"Hymiöt & tunteet\"] }, \"Symbols\": { \"v\": [\"Symbolit\"] }, \"Travel & Places\": { \"v\": [\"Matkustus & kohteet\"] } } }, { \"l\": \"fr\", \"t\": { \"Activities\": { \"v\": [\"Activités\"] }, \"Animals & Nature\": { \"v\": [\"Animaux & Nature\"] }, \"Custom\": { \"v\": [\"Personnalisé\"] }, \"Dark skin tone\": { \"v\": [\"Teint de peau foncé\"] }, \"Emoji picker\": { \"v\": [\"Sélecteur d'émojis\"] }, \"Flags\": { \"v\": [\"Drapeaux\"] }, \"Food & Drink\": { \"v\": [\"Nourriture & Boissons\"] }, \"Frequently used\": { \"v\": [\"Utilisés fréquemment\"] }, \"Light skin tone\": { \"v\": [\"Teint de peau clair\"] }, \"Medium dark skin tone\": { \"v\": [\"Teint de peau moyennement foncé\"] }, \"Medium light skin tone\": { \"v\": [\"Teint de peau moyennement clair\"] }, \"Medium skin tone\": { \"v\": [\"Teint de peau moyen\"] }, \"Neutral skin color\": { \"v\": [\"Teint de peau neutre\"] }, \"Objects\": { \"v\": [\"Objets\"] }, \"People & Body\": { \"v\": [\"Personnes & Corps\"] }, \"Pick an emoji\": { \"v\": [\"Choisissez un émoji\"] }, \"Search emoji\": { \"v\": [\"Rechercher un emoji\"] }, \"Search results\": { \"v\": [\"Résultats de recherche\"] }, \"Selected\": { \"v\": [\"sélectionné\"] }, \"Skin tone\": { \"v\": [\"Teint de peau\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Émotions\"] }, \"Symbols\": { \"v\": [\"Symboles\"] }, \"Travel & Places\": { \"v\": [\"Voyage & Lieux\"] } } }, { \"l\": \"ga\", \"t\": { \"Activities\": { \"v\": [\"Gníomhaíochtaí\"] }, \"Animals & Nature\": { \"v\": [\"Ainmhithe & Dúlra\"] }, \"Custom\": { \"v\": [\"Saincheaptha\"] }, \"Dark skin tone\": { \"v\": [\"Ton craiceann dorcha\"] }, \"Emoji picker\": { \"v\": [\"Roghnóir Emoji\"] }, \"Flags\": { \"v\": [\"Bratacha\"] }, \"Food & Drink\": { \"v\": [\"Bia & Deoch\"] }, \"Frequently used\": { \"v\": [\"Úsáidtear go minic\"] }, \"Light skin tone\": { \"v\": [\"Ton craiceann éadrom\"] }, \"Medium dark skin tone\": { \"v\": [\"Ton craiceann meánach dorcha\"] }, \"Medium light skin tone\": { \"v\": [\"Ton craiceann meánach éadrom\"] }, \"Medium skin tone\": { \"v\": [\"Ton craiceann meánach\"] }, \"Neutral skin color\": { \"v\": [\"Dath craiceann neodrach\"] }, \"Objects\": { \"v\": [\"Réada\"] }, \"People & Body\": { \"v\": [\"Daoine & Corp\"] }, \"Pick an emoji\": { \"v\": [\"Roghnaigh emoji\"] }, \"Search emoji\": { \"v\": [\"Cuardaigh emoji\"] }, \"Search results\": { \"v\": [\"Torthaí cuardaigh\"] }, \"Selected\": { \"v\": [\"Roghnaithe\"] }, \"Skin tone\": { \"v\": [\"Ton craicinn\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Mothúchán\"] }, \"Symbols\": { \"v\": [\"Siombailí\"] }, \"Travel & Places\": { \"v\": [\"Taisteal & Áiteanna\"] } } }, { \"l\": \"gl\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animais e natureza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Ton de pel escuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de «emojis»\"] }, \"Flags\": { \"v\": [\"Bandeiras\"] }, \"Food & Drink\": { \"v\": [\"Comida e bebida\"] }, \"Frequently used\": { \"v\": [\"Usado con frecuencia\"] }, \"Light skin tone\": { \"v\": [\"Ton de pel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Ton de pel medio escuro\"] }, \"Medium light skin tone\": { \"v\": [\"Ton de pel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Ton de pel medio\"] }, \"Neutral skin color\": { \"v\": [\"Cor de pel neutra\"] }, \"Objects\": { \"v\": [\"Obxectos\"] }, \"People & Body\": { \"v\": [\"Persoas e corpo\"] }, \"Pick an emoji\": { \"v\": [\"Escolla un «emoji»\"] }, \"Search emoji\": { \"v\": [\"Buscar «emoji»\"] }, \"Search results\": { \"v\": [\"Resultados da busca\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Ton de pel\"] }, \"Smileys & Emotion\": { \"v\": [\"Sorrisos e emocións\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viaxes e lugares\"] } } }, { \"l\": \"he\", \"t\": { \"Activities\": { \"v\": [\"פעילויות\"] }, \"Animals & Nature\": { \"v\": [\"חיות וטבע\"] }, \"Custom\": { \"v\": [\"בהתאמה אישית\"] }, \"Flags\": { \"v\": [\"דגלים\"] }, \"Food & Drink\": { \"v\": [\"מזון ומשקאות\"] }, \"Frequently used\": { \"v\": [\"בשימוש תדיר\"] }, \"Objects\": { \"v\": [\"חפצים\"] }, \"People & Body\": { \"v\": [\"אנשים וגוף\"] }, \"Pick an emoji\": { \"v\": [\"נא לבחור אמוג׳י\"] }, \"Search emoji\": { \"v\": [\"חיפוש אמוג׳י\"] }, \"Search results\": { \"v\": [\"תוצאות חיפוש\"] }, \"Smileys & Emotion\": { \"v\": [\"חייכנים ורגשונים\"] }, \"Symbols\": { \"v\": [\"סמלים\"] }, \"Travel & Places\": { \"v\": [\"טיולים ומקומות\"] } } }, { \"l\": \"hu\", \"t\": { \"Activities\": { \"v\": [\"Tevékenységek\"] }, \"Animals & Nature\": { \"v\": [\"Állatok és természet\"] }, \"Custom\": { \"v\": [\"Egyéni\"] }, \"Flags\": { \"v\": [\"Zászlók\"] }, \"Food & Drink\": { \"v\": [\"Étel és ital\"] }, \"Frequently used\": { \"v\": [\"Gyakran használt\"] }, \"Objects\": { \"v\": [\"Tárgyak\"] }, \"People & Body\": { \"v\": [\"Emberek és test\"] }, \"Pick an emoji\": { \"v\": [\"Válasszon egy emodzsit\"] }, \"Search results\": { \"v\": [\"Találatok\"] }, \"Smileys & Emotion\": { \"v\": [\"Mosolyok és érzelmek\"] }, \"Symbols\": { \"v\": [\"Szimbólumok\"] }, \"Travel & Places\": { \"v\": [\"Utazás és helyek\"] } } }, { \"l\": \"id\", \"t\": { \"Activities\": { \"v\": [\"Aktivitas\"] }, \"Animals & Nature\": { \"v\": [\"Satwa dan Alam\"] }, \"Custom\": { \"v\": [\"Khusus\"] }, \"Flags\": { \"v\": [\"Tanda\"] }, \"Food & Drink\": { \"v\": [\"Makanan dan Minuman\"] }, \"Frequently used\": { \"v\": [\"Sering digunakan\"] }, \"Objects\": { \"v\": [\"Objek\"] }, \"People & Body\": { \"v\": [\"Orang & Badan\"] }, \"Pick an emoji\": { \"v\": [\"Pilih emoji\"] }, \"Search emoji\": { \"v\": [\"Cari emoji\"] }, \"Search results\": { \"v\": [\"Hasil pencarian\"] }, \"Selected\": { \"v\": [\"Dipilih\"] }, \"Smileys & Emotion\": { \"v\": [\"Senyuman & Perasaan\"] }, \"Symbols\": { \"v\": [\"Simbol\"] }, \"Travel & Places\": { \"v\": [\"Perjalanan & Tempat\"] } } }, { \"l\": \"is\", \"t\": { \"Activities\": { \"v\": [\"Aðgerðir\"] }, \"Animals & Nature\": { \"v\": [\"Dýr og náttúra\"] }, \"Custom\": { \"v\": [\"Sérsniðið\"] }, \"Dark skin tone\": { \"v\": [\"Dökkur húðlitur\"] }, \"Emoji picker\": { \"v\": [\"Emoji-táknmyndaval\"] }, \"Flags\": { \"v\": [\"Flögg\"] }, \"Food & Drink\": { \"v\": [\"Matur og drykkur\"] }, \"Frequently used\": { \"v\": [\"Oftast notað\"] }, \"Light skin tone\": { \"v\": [\"Ljós húðlitur\"] }, \"Medium dark skin tone\": { \"v\": [\"Meðaldökkur húðlitur\"] }, \"Medium light skin tone\": { \"v\": [\"Meðalljós húðlitur\"] }, \"Medium skin tone\": { \"v\": [\"Meðaltónn húðar\"] }, \"Neutral skin color\": { \"v\": [\"Hlutlaus húðlitur\"] }, \"Objects\": { \"v\": [\"Hlutir\"] }, \"People & Body\": { \"v\": [\"Fólk og líkami\"] }, \"Pick an emoji\": { \"v\": [\"Veldu tjáningartákn\"] }, \"Search emoji\": { \"v\": [\"Leita að tjáningartákni\"] }, \"Search results\": { \"v\": [\"Leitarniðurstöður\"] }, \"Selected\": { \"v\": [\"Valið\"] }, \"Skin tone\": { \"v\": [\"Húðlitur\"] }, \"Smileys & Emotion\": { \"v\": [\"Broskallar og tilfinningar\"] }, \"Symbols\": { \"v\": [\"Tákn\"] }, \"Travel & Places\": { \"v\": [\"Staðir og ferðalög\"] } } }, { \"l\": \"it\", \"t\": { \"Activities\": { \"v\": [\"Attività\"] }, \"Animals & Nature\": { \"v\": [\"Animali e natura\"] }, \"Custom\": { \"v\": [\"Personalizzato\"] }, \"Flags\": { \"v\": [\"Bandiere\"] }, \"Food & Drink\": { \"v\": [\"Cibo e bevande\"] }, \"Frequently used\": { \"v\": [\"Usati di frequente\"] }, \"Objects\": { \"v\": [\"Oggetti\"] }, \"People & Body\": { \"v\": [\"Persone e corpo\"] }, \"Pick an emoji\": { \"v\": [\"Scegli un emoji\"] }, \"Search emoji\": { \"v\": [\"Ricerca emoji\"] }, \"Search results\": { \"v\": [\"Risultati di ricerca\"] }, \"Selected\": { \"v\": [\"Selezionato\"] }, \"Smileys & Emotion\": { \"v\": [\"Faccine ed emozioni\"] }, \"Symbols\": { \"v\": [\"Simboli\"] }, \"Travel & Places\": { \"v\": [\"Viaggi e luoghi\"] } } }, { \"l\": \"ja\", \"t\": { \"Activities\": { \"v\": [\"アクティビティ\"] }, \"Animals & Nature\": { \"v\": [\"動物と自然\"] }, \"Custom\": { \"v\": [\"カスタム\"] }, \"Dark skin tone\": { \"v\": [\"暗い肌のトーン\"] }, \"Emoji picker\": { \"v\": [\"絵文字ピッカー\"] }, \"Flags\": { \"v\": [\"国旗\"] }, \"Food & Drink\": { \"v\": [\"食べ物と飲み物\"] }, \"Frequently used\": { \"v\": [\"よく使うもの\"] }, \"Light skin tone\": { \"v\": [\"明るい肌のトーン\"] }, \"Medium dark skin tone\": { \"v\": [\"やや暗い肌のトーン\"] }, \"Medium light skin tone\": { \"v\": [\"やや明るい肌のトーン\"] }, \"Medium skin tone\": { \"v\": [\"中間の肌のトーン\"] }, \"Neutral skin color\": { \"v\": [\"ニュートラルな肌の色\"] }, \"Objects\": { \"v\": [\"物\"] }, \"People & Body\": { \"v\": [\"様々な人と体の部位\"] }, \"Pick an emoji\": { \"v\": [\"絵文字を選択\"] }, \"Search emoji\": { \"v\": [\"絵文字を検索\"] }, \"Search results\": { \"v\": [\"検索結果\"] }, \"Selected\": { \"v\": [\"選択済み\"] }, \"Skin tone\": { \"v\": [\"肌のトーン\"] }, \"Smileys & Emotion\": { \"v\": [\"感情表現\"] }, \"Symbols\": { \"v\": [\"記号\"] }, \"Travel & Places\": { \"v\": [\"旅行と場所\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Activities\": { \"v\": [\"アクティビティ\"] }, \"Animals & Nature\": { \"v\": [\"動物と自然\"] }, \"Custom\": { \"v\": [\"カスタム\"] }, \"Dark skin tone\": { \"v\": [\"暗い肌のトーン\"] }, \"Emoji picker\": { \"v\": [\"絵文字ピッカー\"] }, \"Flags\": { \"v\": [\"国旗\"] }, \"Food & Drink\": { \"v\": [\"食べ物と飲み物\"] }, \"Frequently used\": { \"v\": [\"よく使うもの\"] }, \"Light skin tone\": { \"v\": [\"明るい肌のトーン\"] }, \"Medium dark skin tone\": { \"v\": [\"やや暗い肌のトーン\"] }, \"Medium light skin tone\": { \"v\": [\"やや明るい肌のトーン\"] }, \"Medium skin tone\": { \"v\": [\"中間の肌のトーン\"] }, \"Neutral skin color\": { \"v\": [\"ニュートラルな肌の色\"] }, \"Objects\": { \"v\": [\"物\"] }, \"People & Body\": { \"v\": [\"様々な人と体の部位\"] }, \"Pick an emoji\": { \"v\": [\"絵文字を選択\"] }, \"Search emoji\": { \"v\": [\"絵文字を検索\"] }, \"Search results\": { \"v\": [\"検索結果\"] }, \"Selected\": { \"v\": [\"選択済み\"] }, \"Skin tone\": { \"v\": [\"肌のトーン\"] }, \"Smileys & Emotion\": { \"v\": [\"感情表現\"] }, \"Symbols\": { \"v\": [\"記号\"] }, \"Travel & Places\": { \"v\": [\"旅行と場所\"] } } }, { \"l\": \"ko\", \"t\": { \"Activities\": { \"v\": [\"활동\"] }, \"Animals & Nature\": { \"v\": [\"동물 & 자연\"] }, \"Custom\": { \"v\": [\"맞춤 설정\"] }, \"Dark skin tone\": { \"v\": [\"어두운 피부 톤\"] }, \"Emoji picker\": { \"v\": [\"이모지 선택기\"] }, \"Flags\": { \"v\": [\"깃발\"] }, \"Food & Drink\": { \"v\": [\"음식 & 음료\"] }, \"Frequently used\": { \"v\": [\"자주 쓰임\"] }, \"Light skin tone\": { \"v\": [\"밝은 피부 톤\"] }, \"Medium dark skin tone\": { \"v\": [\"약간 어두운 피부 톤\"] }, \"Medium light skin tone\": { \"v\": [\"약간 밝은 피부 톤\"] }, \"Medium skin tone\": { \"v\": [\"중간 피부 톤\"] }, \"Neutral skin color\": { \"v\": [\"중성적 피부 톤\"] }, \"Objects\": { \"v\": [\"물체\"] }, \"People & Body\": { \"v\": [\"사람 & 신체\"] }, \"Pick an emoji\": { \"v\": [\"이모지 선택\"] }, \"Search emoji\": { \"v\": [\"이모지 검색\"] }, \"Search results\": { \"v\": [\"검색 결과\"] }, \"Selected\": { \"v\": [\"선택됨\"] }, \"Skin tone\": { \"v\": [\"피부 톤\"] }, \"Smileys & Emotion\": { \"v\": [\"스마일리 & 이모티콘\"] }, \"Symbols\": { \"v\": [\"기호\"] }, \"Travel & Places\": { \"v\": [\"여행 & 장소\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Activities\": { \"v\": [\"Veiklos\"] }, \"Animals & Nature\": { \"v\": [\"Gyvūnai ir gamta\"] }, \"Custom\": { \"v\": [\"Tinkinti\"] }, \"Flags\": { \"v\": [\"Vėliavos\"] }, \"Food & Drink\": { \"v\": [\"Maistas ir gėrimai\"] }, \"Frequently used\": { \"v\": [\"Dažniausiai naudoti\"] }, \"Objects\": { \"v\": [\"Objektai\"] }, \"People & Body\": { \"v\": [\"Žmonės ir kūnas\"] }, \"Pick an emoji\": { \"v\": [\"Pasirinkti jaustuką\"] }, \"Search results\": { \"v\": [\"Paieškos rezultatai\"] }, \"Smileys & Emotion\": { \"v\": [\"Šypsenos ir emocijos\"] }, \"Symbols\": { \"v\": [\"Simboliai\"] }, \"Travel & Places\": { \"v\": [\"Kelionės ir vietos\"] } } }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Activities\": { \"v\": [\"Активности\"] }, \"Animals & Nature\": { \"v\": [\"Животни & Природа\"] }, \"Custom\": { \"v\": [\"Прилагодени\"] }, \"Dark skin tone\": { \"v\": [\"Темна боја на кожа\"] }, \"Emoji picker\": { \"v\": [\"Избор на emoji\"] }, \"Flags\": { \"v\": [\"Знамиња\"] }, \"Food & Drink\": { \"v\": [\"Храна & Пијалоци\"] }, \"Frequently used\": { \"v\": [\"Најчесто користени\"] }, \"Light skin tone\": { \"v\": [\"Светла кожа\"] }, \"Medium dark skin tone\": { \"v\": [\"Средно темна кожа\"] }, \"Medium light skin tone\": { \"v\": [\"Средно светла кожа\"] }, \"Medium skin tone\": { \"v\": [\"Средна кожа\"] }, \"Neutral skin color\": { \"v\": [\"Неутрална боја на кожа\"] }, \"Objects\": { \"v\": [\"Објекти\"] }, \"People & Body\": { \"v\": [\"Луѓе & Тело\"] }, \"Pick an emoji\": { \"v\": [\"Избери емотикон\"] }, \"Search emoji\": { \"v\": [\"Барај emoji\"] }, \"Search results\": { \"v\": [\"Резултати од барувањето\"] }, \"Selected\": { \"v\": [\"Избрано\"] }, \"Skin tone\": { \"v\": [\"Боја на кожа\"] }, \"Smileys & Emotion\": { \"v\": [\"Смешковци & Емотикони\"] }, \"Symbols\": { \"v\": [\"Симболи\"] }, \"Travel & Places\": { \"v\": [\"Патувања & Места\"] } } }, { \"l\": \"my\", \"t\": { \"Activities\": { \"v\": [\"ပြုလုပ်ဆောင်တာများ\"] }, \"Animals & Nature\": { \"v\": [\"တိရစ္ဆာန်များနှင့် သဘာဝ\"] }, \"Custom\": { \"v\": [\"အလိုကျချိန်ညှိမှု\"] }, \"Flags\": { \"v\": [\"အလံများ\"] }, \"Food & Drink\": { \"v\": [\"အစားအသောက်\"] }, \"Frequently used\": { \"v\": [\"မကြာခဏအသုံးပြုသော\"] }, \"Objects\": { \"v\": [\"အရာဝတ္ထုများ\"] }, \"People & Body\": { \"v\": [\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\"] }, \"Pick an emoji\": { \"v\": [\"အီမိုဂျီရွေးရန်\"] }, \"Search results\": { \"v\": [\"ရှာဖွေမှု ရလဒ်များ\"] }, \"Smileys & Emotion\": { \"v\": [\"စမိုင်လီများနှင့် အီမိုရှင်း\"] }, \"Symbols\": { \"v\": [\"သင်္ကေတများ\"] }, \"Travel & Places\": { \"v\": [\"ခရီးသွားလာခြင်းနှင့် နေရာများ\"] } } }, { \"l\": \"nb\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteter\"] }, \"Animals & Nature\": { \"v\": [\"Dyr og natur\"] }, \"Custom\": { \"v\": [\"Tilpasset\"] }, \"Dark skin tone\": { \"v\": [\"Mørk hudtone\"] }, \"Emoji picker\": { \"v\": [\"Emoji-velger\"] }, \"Flags\": { \"v\": [\"Flagg\"] }, \"Food & Drink\": { \"v\": [\"Mat og drikke\"] }, \"Frequently used\": { \"v\": [\"Ofte brukt\"] }, \"Light skin tone\": { \"v\": [\"Lys hudtone\"] }, \"Medium dark skin tone\": { \"v\": [\"Middels mørk hudtone\"] }, \"Medium light skin tone\": { \"v\": [\"Middels lys hudtone\"] }, \"Medium skin tone\": { \"v\": [\"Middels hudtone\"] }, \"Neutral skin color\": { \"v\": [\"Nøytral hudfarge\"] }, \"Objects\": { \"v\": [\"Objekter\"] }, \"People & Body\": { \"v\": [\"Mennesker og kropp\"] }, \"Pick an emoji\": { \"v\": [\"Velg en emoji\"] }, \"Search emoji\": { \"v\": [\"Søk emoji\"] }, \"Search results\": { \"v\": [\"Søkeresultater\"] }, \"Selected\": { \"v\": [\"Valgt\"] }, \"Skin tone\": { \"v\": [\"Hudtone\"] }, \"Smileys & Emotion\": { \"v\": [\"Smilefjes og følelser\"] }, \"Symbols\": { \"v\": [\"Symboler\"] }, \"Travel & Places\": { \"v\": [\"Reise og steder\"] } } }, { \"l\": \"nl\", \"t\": { \"Activities\": { \"v\": [\"Activiteiten\"] }, \"Animals & Nature\": { \"v\": [\"Dieren & Natuur\"] }, \"Custom\": { \"v\": [\"Aangepast\"] }, \"Dark skin tone\": { \"v\": [\"Donkere huidskleur\"] }, \"Emoji picker\": { \"v\": [\"Emoji-kiezer\"] }, \"Flags\": { \"v\": [\"Vlaggen\"] }, \"Food & Drink\": { \"v\": [\"Eten & Drinken\"] }, \"Frequently used\": { \"v\": [\"Vaak gebruikt\"] }, \"Light skin tone\": { \"v\": [\"Lichte huidskleur\"] }, \"Medium dark skin tone\": { \"v\": [\"Gemiddeld donkere huidskleur\"] }, \"Medium light skin tone\": { \"v\": [\"Gemiddeld lichte huidskleur\"] }, \"Medium skin tone\": { \"v\": [\"Gemiddelde huidskleur\"] }, \"Neutral skin color\": { \"v\": [\"Neutrale huidskleur\"] }, \"Objects\": { \"v\": [\"Objecten\"] }, \"People & Body\": { \"v\": [\"Mensen & Lichaam\"] }, \"Pick an emoji\": { \"v\": [\"Kies een emoji\"] }, \"Search emoji\": { \"v\": [\"Emoji zoeken\"] }, \"Search results\": { \"v\": [\"Zoekresultaten\"] }, \"Selected\": { \"v\": [\"Geselecteerd\"] }, \"Skin tone\": { \"v\": [\"Huidskleur\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotie\"] }, \"Symbols\": { \"v\": [\"Symbolen\"] }, \"Travel & Places\": { \"v\": [\"Reizen & Plaatsen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Activities\": { \"v\": [\"Aktywność\"] }, \"Animals & Nature\": { \"v\": [\"Zwierzęta i natura\"] }, \"Custom\": { \"v\": [\"Zwyczajne\"] }, \"Dark skin tone\": { \"v\": [\"Ciemna tonacja\"] }, \"Emoji picker\": { \"v\": [\"Wybierz Emoji\"] }, \"Flags\": { \"v\": [\"Flagi\"] }, \"Food & Drink\": { \"v\": [\"Jedzenie i picie\"] }, \"Frequently used\": { \"v\": [\"Często używane\"] }, \"Light skin tone\": { \"v\": [\"Jasny odcień skóry\"] }, \"Medium dark skin tone\": { \"v\": [\"Średnio ciemny odcień skóry\"] }, \"Medium light skin tone\": { \"v\": [\"Średnio jasny odcień skóry\"] }, \"Medium skin tone\": { \"v\": [\"Średni odcień skóry\"] }, \"Neutral skin color\": { \"v\": [\"Neutralny kolor skróry\"] }, \"Objects\": { \"v\": [\"Obiekty\"] }, \"People & Body\": { \"v\": [\"Ludzie i ciało\"] }, \"Pick an emoji\": { \"v\": [\"Wybierz emoji\"] }, \"Search emoji\": { \"v\": [\"Szukaj emoji\"] }, \"Search results\": { \"v\": [\"Wyniki wyszukiwania\"] }, \"Selected\": { \"v\": [\"Wybrane\"] }, \"Skin tone\": { \"v\": [\"Kolor skóry\"] }, \"Smileys & Emotion\": { \"v\": [\"Buźki i emotikony\"] }, \"Symbols\": { \"v\": [\"Symbole\"] }, \"Travel & Places\": { \"v\": [\"Podróże i miejsca\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Activities\": { \"v\": [\"Atividades\"] }, \"Animals & Nature\": { \"v\": [\"Animais & Natureza\"] }, \"Custom\": { \"v\": [\"Personalizados\"] }, \"Dark skin tone\": { \"v\": [\"Tom de pele escuro\"] }, \"Emoji picker\": { \"v\": [\"Seletor de emoji\"] }, \"Flags\": { \"v\": [\"Bandeiras\"] }, \"Food & Drink\": { \"v\": [\"Comida & Bebida\"] }, \"Frequently used\": { \"v\": [\"Mais usados\"] }, \"Light skin tone\": { \"v\": [\"Tom de pele claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tom de pele meio escuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tom de pele meio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tom de pele médio\"] }, \"Neutral skin color\": { \"v\": [\"Tom de pele neutro\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Pessoas & Corpo\"] }, \"Pick an emoji\": { \"v\": [\"Escolha um emoji\"] }, \"Search emoji\": { \"v\": [\"Pesquisar emoji\"] }, \"Search results\": { \"v\": [\"Resultados da pesquisa\"] }, \"Selected\": { \"v\": [\"Selecionado\"] }, \"Skin tone\": { \"v\": [\"Tom de pele\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emoções\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viagem & Lugares\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Activities\": { \"v\": [\"Atividades\"] }, \"Animals & Nature\": { \"v\": [\"Animais e Natureza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tom de pele escuro\"] }, \"Emoji picker\": { \"v\": [\"seletor de emoji\"] }, \"Flags\": { \"v\": [\"Bandeiras\"] }, \"Food & Drink\": { \"v\": [\"Comida e Bebida\"] }, \"Frequently used\": { \"v\": [\"Mais utilizados\"] }, \"Light skin tone\": { \"v\": [\"Tom de pele claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tom de pele escuro médio\"] }, \"Medium light skin tone\": { \"v\": [\"Tom de pele claro médio\"] }, \"Medium skin tone\": { \"v\": [\"Tom de pele médio\"] }, \"Neutral skin color\": { \"v\": [\"Cor de pele neutra\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Pessoas e Corpo\"] }, \"Pick an emoji\": { \"v\": [\"Escolha um emoji\"] }, \"Search emoji\": { \"v\": [\"Pesquisar emoji\"] }, \"Search results\": { \"v\": [\"Resultados da pesquisa\"] }, \"Selected\": { \"v\": [\"Selecionado\"] }, \"Skin tone\": { \"v\": [\"Tom de pele\"] }, \"Smileys & Emotion\": { \"v\": [\"Sorrisos e Emoções\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viagens e Lugares\"] } } }, { \"l\": \"ro\", \"t\": { \"Activities\": { \"v\": [\"Activități\"] }, \"Animals & Nature\": { \"v\": [\"Animale și natură\"] }, \"Custom\": { \"v\": [\"Personalizat\"] }, \"Flags\": { \"v\": [\"Marcaje\"] }, \"Food & Drink\": { \"v\": [\"Alimente și băuturi\"] }, \"Frequently used\": { \"v\": [\"Utilizate frecvent\"] }, \"Objects\": { \"v\": [\"Obiecte\"] }, \"People & Body\": { \"v\": [\"Oameni și corp\"] }, \"Pick an emoji\": { \"v\": [\"Alege un emoji\"] }, \"Search emoji\": { \"v\": [\"Căutare emoji\"] }, \"Search results\": { \"v\": [\"Rezultatele căutării\"] }, \"Selected\": { \"v\": [\"Selectat\"] }, \"Smileys & Emotion\": { \"v\": [\"Zâmbete și emoții\"] }, \"Symbols\": { \"v\": [\"Simboluri\"] }, \"Travel & Places\": { \"v\": [\"Călătorii și locuri\"] } } }, { \"l\": \"ru\", \"t\": { \"Activities\": { \"v\": [\"События\"] }, \"Animals & Nature\": { \"v\": [\"Животные и природа \"] }, \"Custom\": { \"v\": [\"Пользовательское\"] }, \"Dark skin tone\": { \"v\": [\"Темный оттенок\"] }, \"Emoji picker\": { \"v\": [\"Подборщик эмодзи\"] }, \"Flags\": { \"v\": [\"Флаги\"] }, \"Food & Drink\": { \"v\": [\"Еда, напиток\"] }, \"Frequently used\": { \"v\": [\"Часто используемый\"] }, \"Light skin tone\": { \"v\": [\"Светлый оттенок\"] }, \"Medium dark skin tone\": { \"v\": [\"Средний темный оттенок\"] }, \"Medium light skin tone\": { \"v\": [\"Средний светлый оттенок\"] }, \"Medium skin tone\": { \"v\": [\"Средний оттенок\"] }, \"Neutral skin color\": { \"v\": [\"Нейтральный оттенок\"] }, \"Objects\": { \"v\": [\"Объекты\"] }, \"People & Body\": { \"v\": [\"Люди и тело\"] }, \"Pick an emoji\": { \"v\": [\"Выберите эмодзи\"] }, \"Search emoji\": { \"v\": [\"Поиск эмодзи\"] }, \"Search results\": { \"v\": [\"Результаты поиска\"] }, \"Selected\": { \"v\": [\"Выбрано\"] }, \"Skin tone\": { \"v\": [\"Оттенок скина\"] }, \"Smileys & Emotion\": { \"v\": [\"Смайлики и эмоции\"] }, \"Symbols\": { \"v\": [\"Символы\"] }, \"Travel & Places\": { \"v\": [\"Путешествия и места\"] } } }, { \"l\": \"sk\", \"t\": { \"Activities\": { \"v\": [\"Aktivity\"] }, \"Animals & Nature\": { \"v\": [\"Zvieratá a príroda\"] }, \"Custom\": { \"v\": [\"Vlastné\"] }, \"Dark skin tone\": { \"v\": [\"Tmavý vzhľad\"] }, \"Emoji picker\": { \"v\": [\"Výber emodži\"] }, \"Flags\": { \"v\": [\"Vlajky\"] }, \"Food & Drink\": { \"v\": [\"Jedlo a nápoje\"] }, \"Frequently used\": { \"v\": [\"Často používané\"] }, \"Light skin tone\": { \"v\": [\"Svetlý vzhľad\"] }, \"Medium dark skin tone\": { \"v\": [\"Stredne tmavý vzhľad\"] }, \"Medium light skin tone\": { \"v\": [\"Stredne svetlý vzhľad\"] }, \"Medium skin tone\": { \"v\": [\"Stredný vzhľad\"] }, \"Neutral skin color\": { \"v\": [\"Neutrálny vzhľad\"] }, \"Objects\": { \"v\": [\"Objekty\"] }, \"People & Body\": { \"v\": [\"Ľudia a telo\"] }, \"Pick an emoji\": { \"v\": [\"Vybrať emodži\"] }, \"Search emoji\": { \"v\": [\"Vyhľadať emoji\"] }, \"Search results\": { \"v\": [\"Výsledky vyhľadávania\"] }, \"Selected\": { \"v\": [\"Vybraný\"] }, \"Skin tone\": { \"v\": [\"Vzhľad\"] }, \"Smileys & Emotion\": { \"v\": [\"Smajlíky a emócie\"] }, \"Symbols\": { \"v\": [\"Symboly\"] }, \"Travel & Places\": { \"v\": [\"Cestovanie a miesta\"] } } }, { \"l\": \"sl\", \"t\": { \"Activities\": { \"v\": [\"Dejavnosti\"] }, \"Animals & Nature\": { \"v\": [\"Živali in Narava\"] }, \"Custom\": { \"v\": [\"Po meri\"] }, \"Flags\": { \"v\": [\"Zastavice\"] }, \"Food & Drink\": { \"v\": [\"Hrana in Pijača\"] }, \"Frequently used\": { \"v\": [\"Pogostost uporabe\"] }, \"Objects\": { \"v\": [\"Predmeti\"] }, \"People & Body\": { \"v\": [\"Ljudje in Telo\"] }, \"Pick an emoji\": { \"v\": [\"Izbor izrazne ikone\"] }, \"Search results\": { \"v\": [\"Zadetki iskanja\"] }, \"Smileys & Emotion\": { \"v\": [\"Izrazne ikone\"] }, \"Symbols\": { \"v\": [\"Simboli\"] }, \"Travel & Places\": { \"v\": [\"Potovanja in Kraji\"] } } }, { \"l\": \"sr\", \"t\": { \"Activities\": { \"v\": [\"Активности\"] }, \"Animals & Nature\": { \"v\": [\"Животиње и природа\"] }, \"Custom\": { \"v\": [\"Произвољно\"] }, \"Dark skin tone\": { \"v\": [\"Тамни тен коже\"] }, \"Emoji picker\": { \"v\": [\"Бирач емођија\"] }, \"Flags\": { \"v\": [\"Заставе\"] }, \"Food & Drink\": { \"v\": [\"Храна и пиће\"] }, \"Frequently used\": { \"v\": [\"Често коришћено\"] }, \"Light skin tone\": { \"v\": [\"Светли тен коже\"] }, \"Medium dark skin tone\": { \"v\": [\"Средње тамни тен коже\"] }, \"Medium light skin tone\": { \"v\": [\"Средње светли тен коже\"] }, \"Medium skin tone\": { \"v\": [\"Средњи тен коже\"] }, \"Neutral skin color\": { \"v\": [\"Неутрална боја коже\"] }, \"Objects\": { \"v\": [\"Предмети\"] }, \"People & Body\": { \"v\": [\"Људи и тело\"] }, \"Pick an emoji\": { \"v\": [\"Изаберите емођи\"] }, \"Search emoji\": { \"v\": [\"Претражи емођи\"] }, \"Search results\": { \"v\": [\"Резултати претраге\"] }, \"Selected\": { \"v\": [\"Изабрано\"] }, \"Skin tone\": { \"v\": [\"Тен коже\"] }, \"Smileys & Emotion\": { \"v\": [\"Смајлији и емоције\"] }, \"Symbols\": { \"v\": [\"Симболи\"] }, \"Travel & Places\": { \"v\": [\"Путовање и места\"] } } }, { \"l\": \"sv\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteter\"] }, \"Animals & Nature\": { \"v\": [\"Djur & Natur\"] }, \"Custom\": { \"v\": [\"Anpassad\"] }, \"Dark skin tone\": { \"v\": [\"Mörk hudton\"] }, \"Emoji picker\": { \"v\": [\"Emoji-väljare\"] }, \"Flags\": { \"v\": [\"Flaggor\"] }, \"Food & Drink\": { \"v\": [\"Mat & Dryck\"] }, \"Frequently used\": { \"v\": [\"Används ofta\"] }, \"Light skin tone\": { \"v\": [\"Ljus hudton\"] }, \"Medium dark skin tone\": { \"v\": [\"Medium mörk hudton\"] }, \"Medium light skin tone\": { \"v\": [\"Medium ljus hudton\"] }, \"Medium skin tone\": { \"v\": [\"Medium hudton\"] }, \"Neutral skin color\": { \"v\": [\"Neutral hudfärg\"] }, \"Objects\": { \"v\": [\"Objekt\"] }, \"People & Body\": { \"v\": [\"Kropp & Själ\"] }, \"Pick an emoji\": { \"v\": [\"Välj en emoji\"] }, \"Search emoji\": { \"v\": [\"Sök emoji\"] }, \"Search results\": { \"v\": [\"Sökresultat\"] }, \"Selected\": { \"v\": [\"Vald\"] }, \"Skin tone\": { \"v\": [\"Hudton\"] }, \"Smileys & Emotion\": { \"v\": [\"Selfies & Känslor\"] }, \"Symbols\": { \"v\": [\"Symboler\"] }, \"Travel & Places\": { \"v\": [\"Resor & Sevärdigheter\"] } } }, { \"l\": \"tr\", \"t\": { \"Activities\": { \"v\": [\"Etkinlikler\"] }, \"Animals & Nature\": { \"v\": [\"Hayvanlar ve doğa\"] }, \"Custom\": { \"v\": [\"Özel\"] }, \"Dark skin tone\": { \"v\": [\"Koyu deri rengi\"] }, \"Emoji picker\": { \"v\": [\"Emoji seçici\"] }, \"Flags\": { \"v\": [\"Bayraklar\"] }, \"Food & Drink\": { \"v\": [\"Yeme ve içme\"] }, \"Frequently used\": { \"v\": [\"Sık kullanılanlar\"] }, \"Light skin tone\": { \"v\": [\"Açık deri rengi\"] }, \"Medium dark skin tone\": { \"v\": [\"Orta koyu deri rengi\"] }, \"Medium light skin tone\": { \"v\": [\"Orta açık deri rengi\"] }, \"Medium skin tone\": { \"v\": [\"Orta deri rengi\"] }, \"Neutral skin color\": { \"v\": [\"Nötr deri rengi\"] }, \"Objects\": { \"v\": [\"Nesneler\"] }, \"People & Body\": { \"v\": [\"İnsanlar ve beden\"] }, \"Pick an emoji\": { \"v\": [\"Bir emoji seçin\"] }, \"Search emoji\": { \"v\": [\"Emoji ara\"] }, \"Search results\": { \"v\": [\"Arama sonuçları\"] }, \"Selected\": { \"v\": [\"Seçilmiş\"] }, \"Skin tone\": { \"v\": [\"Deri rengi\"] }, \"Smileys & Emotion\": { \"v\": [\"İfadeler ve duygular\"] }, \"Symbols\": { \"v\": [\"Simgeler\"] }, \"Travel & Places\": { \"v\": [\"Gezi ve yerler\"] } } }, { \"l\": \"uk\", \"t\": { \"Activities\": { \"v\": [\"Діяльність\"] }, \"Animals & Nature\": { \"v\": [\"Тварини та природа\"] }, \"Custom\": { \"v\": [\"Власне\"] }, \"Dark skin tone\": { \"v\": [\"Смаглявий\"] }, \"Emoji picker\": { \"v\": [\"Вибір емоційки\"] }, \"Flags\": { \"v\": [\"Прапори\"] }, \"Food & Drink\": { \"v\": [\"Їжа та напої\"] }, \"Frequently used\": { \"v\": [\"Найчастіші\"] }, \"Light skin tone\": { \"v\": [\"Світла шкіра\"] }, \"Medium dark skin tone\": { \"v\": [\"Какао\"] }, \"Medium light skin tone\": { \"v\": [\"Лате\"] }, \"Medium skin tone\": { \"v\": [\"Середній колір шкіри\"] }, \"Neutral skin color\": { \"v\": [\"Нейтральний колір шкіри\"] }, \"Objects\": { \"v\": [\"Об'єкти\"] }, \"People & Body\": { \"v\": [\"Люди та жести\"] }, \"Pick an emoji\": { \"v\": [\"Виберіть емоційку\"] }, \"Search emoji\": { \"v\": [\"Шукати емоційки\"] }, \"Search results\": { \"v\": [\"Результати пошуку\"] }, \"Selected\": { \"v\": [\"Вибрано\"] }, \"Skin tone\": { \"v\": [\"Колір шкіри\"] }, \"Smileys & Emotion\": { \"v\": [\"Смайли та емоції\"] }, \"Symbols\": { \"v\": [\"Символи\"] }, \"Travel & Places\": { \"v\": [\"Поїздки та місця\"] } } }, { \"l\": \"uz\", \"t\": { \"Activities\": { \"v\": [\"Faolliklar\"] }, \"Animals & Nature\": { \"v\": [\"Hayvonlar va Tabiat\"] }, \"Custom\": { \"v\": [\"Moslashtirilgan\"] }, \"Dark skin tone\": { \"v\": [\"Qora rangdagi qoplama\"] }, \"Emoji picker\": { \"v\": [\"Emoji tanlagich\"] }, \"Flags\": { \"v\": [\"Bayroqlar\"] }, \"Food & Drink\": { \"v\": [\"Oziq-ovqat va ichimliklar\"] }, \"Frequently used\": { \"v\": [\"Tez-tez ishlatiladi\"] }, \"Light skin tone\": { \"v\": [\"Yorug` rangdagi qoplama\"] }, \"Medium dark skin tone\": { \"v\": [\"O`rtacha qorong`u rangdagi qoplama\"] }, \"Medium light skin tone\": { \"v\": [\"O`rtacha yorug`lik rangdagi qoplama\"] }, \"Medium skin tone\": { \"v\": [\"O`rtacha rangdagi qoplama\"] }, \"Neutral skin color\": { \"v\": [\"Neytral rang\"] }, \"Objects\": { \"v\": [\"Obyekt\"] }, \"People & Body\": { \"v\": [\"Odamlar va Tana\"] }, \"Pick an emoji\": { \"v\": [\"Emojini tanlang\"] }, \"Search emoji\": { \"v\": [\"Emoji qidirish\"] }, \"Search results\": { \"v\": [\"Qidiruv natijalari\"] }, \"Selected\": { \"v\": [\"Tanlangan\"] }, \"Skin tone\": { \"v\": [\"Odatiy rangdagi qoplama\"] }, \"Smileys & Emotion\": { \"v\": [\"Smayllar va Hissiyotlar\"] }, \"Symbols\": { \"v\": [\"Belgilar\"] }, \"Travel & Places\": { \"v\": [\"Sayohat va Joylar\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Activities\": { \"v\": [\"活动\"] }, \"Animals & Nature\": { \"v\": [\"动物 & 自然\"] }, \"Custom\": { \"v\": [\"自定义\"] }, \"Dark skin tone\": { \"v\": [\"深色皮肤\"] }, \"Emoji picker\": { \"v\": [\"表情拾取器\"] }, \"Flags\": { \"v\": [\"旗帜\"] }, \"Food & Drink\": { \"v\": [\"食物 & 饮品\"] }, \"Frequently used\": { \"v\": [\"经常使用\"] }, \"Light skin tone\": { \"v\": [\"浅色皮肤\"] }, \"Medium dark skin tone\": { \"v\": [\"中等深色皮肤\"] }, \"Medium light skin tone\": { \"v\": [\"中等浅色皮肤\"] }, \"Medium skin tone\": { \"v\": [\"中等皮肤\"] }, \"Neutral skin color\": { \"v\": [\"中性皮肤颜色\"] }, \"Objects\": { \"v\": [\"物体\"] }, \"People & Body\": { \"v\": [\"人 & 身体\"] }, \"Pick an emoji\": { \"v\": [\"选择一个表情\"] }, \"Search emoji\": { \"v\": [\"搜索表情\"] }, \"Search results\": { \"v\": [\"搜索结果\"] }, \"Selected\": { \"v\": [\"选择\"] }, \"Skin tone\": { \"v\": [\"皮肤\"] }, \"Smileys & Emotion\": { \"v\": [\"笑脸 & 情感\"] }, \"Symbols\": { \"v\": [\"符号\"] }, \"Travel & Places\": { \"v\": [\"旅游 & 地点\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Activities\": { \"v\": [\"活動\"] }, \"Animals & Nature\": { \"v\": [\"動物與自然\"] }, \"Custom\": { \"v\": [\"自定義\"] }, \"Dark skin tone\": { \"v\": [\"深膚色\"] }, \"Emoji picker\": { \"v\": [\"表情符號選擇器\"] }, \"Flags\": { \"v\": [\"旗幟\"] }, \"Food & Drink\": { \"v\": [\"食物與飲料\"] }, \"Frequently used\": { \"v\": [\"經常使用\"] }, \"Light skin tone\": { \"v\": [\"淺膚色\"] }, \"Medium dark skin tone\": { \"v\": [\"中等深膚色\"] }, \"Medium light skin tone\": { \"v\": [\"中等淺膚色\"] }, \"Medium skin tone\": { \"v\": [\"中等膚色\"] }, \"Neutral skin color\": { \"v\": [\"中性色膚色\"] }, \"Objects\": { \"v\": [\"物件\"] }, \"People & Body\": { \"v\": [\"人物\"] }, \"Pick an emoji\": { \"v\": [\"選擇表情符號\"] }, \"Search emoji\": { \"v\": [\"搜尋表情符號\"] }, \"Search results\": { \"v\": [\"搜尋結果\"] }, \"Selected\": { \"v\": [\"已選\"] }, \"Skin tone\": { \"v\": [\"膚色\"] }, \"Smileys & Emotion\": { \"v\": [\"表情\"] }, \"Symbols\": { \"v\": [\"標誌\"] }, \"Travel & Places\": { \"v\": [\"旅遊與景點\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Activities\": { \"v\": [\"活動\"] }, \"Animals & Nature\": { \"v\": [\"動物與自然\"] }, \"Custom\": { \"v\": [\"自定義\"] }, \"Dark skin tone\": { \"v\": [\"深膚色\"] }, \"Emoji picker\": { \"v\": [\"表情符號挑選器\"] }, \"Flags\": { \"v\": [\"旗幟\"] }, \"Food & Drink\": { \"v\": [\"食物與飲料\"] }, \"Frequently used\": { \"v\": [\"最近使用\"] }, \"Light skin tone\": { \"v\": [\"淺膚色\"] }, \"Medium dark skin tone\": { \"v\": [\"中等深膚色\"] }, \"Medium light skin tone\": { \"v\": [\"中等淺膚色\"] }, \"Medium skin tone\": { \"v\": [\"中等膚色\"] }, \"Neutral skin color\": { \"v\": [\"中性膚色\"] }, \"Objects\": { \"v\": [\"物件\"] }, \"People & Body\": { \"v\": [\"人物\"] }, \"Pick an emoji\": { \"v\": [\"選擇表情符號\"] }, \"Search emoji\": { \"v\": [\"搜尋表情符號\"] }, \"Search results\": { \"v\": [\"搜尋結果\"] }, \"Selected\": { \"v\": [\"已選取\"] }, \"Skin tone\": { \"v\": [\"膚色\"] }, \"Smileys & Emotion\": { \"v\": [\"表情\"] }, \"Symbols\": { \"v\": [\"標誌\"] }, \"Travel & Places\": { \"v\": [\"旅遊與景點\"] } } }];\nconst t6 = [{ \"l\": \"ar\", \"t\": { \"Add to a project\": { \"v\": [\"أضف إلى مشروع\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"ربط عناصر بمشروع لتسهيل العثور عليها\"] }, \"Failed to add the item to the project\": { \"v\": [\"تعذر ربط عنصر بمشروع\"] }, \"Failed to create a project\": { \"v\": [\"تعذر إنشاء مشروع\"] }, \"Failed to rename the project\": { \"v\": [\"تعذّر تغيير اسم المشروع\"] }, \"Type to search for existing projects\": { \"v\": [\"أكتُب للبحث في المشاريع الموجودة\"] } } }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Add to a project\": { \"v\": [\"Přidat do projektu\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Připojte položky k projektu, čímž budou snáze dohledatelné\"] }, \"Failed to add the item to the project\": { \"v\": [\"Položku se nepodařilo přidat do projektu\"] }, \"Failed to create a project\": { \"v\": [\"Projekt se nepodařilo vytvořit\"] }, \"Failed to rename the project\": { \"v\": [\"Projekt se nepodařilo přejmenovat\"] }, \"Type to search for existing projects\": { \"v\": [\"Psaním vyhledávejte existující projekty\"] } } }, { \"l\": \"cs-CZ\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Add to a project\": { \"v\": [\"Tilføj til et projekt\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Forbind elementer til et projekt for at gøre dem nemmere at finde\"] }, \"Failed to add the item to the project\": { \"v\": [\"Kunne ikke føje elementet til projektet\"] }, \"Failed to create a project\": { \"v\": [\"Kunne ikke oprette et projekt\"] }, \"Failed to rename the project\": { \"v\": [\"Projektet kunne ikke omdøbes\"] }, \"Type to search for existing projects\": { \"v\": [\"Skriv for at søge efter eksisterende projekter\"] } } }, { \"l\": \"de\", \"t\": { \"Add to a project\": { \"v\": [\"Einem Projekt hinzufügen\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Verbinde Elemente mit einem Projekt, um sie leichter zu finden\"] }, \"Failed to add the item to the project\": { \"v\": [\"Das Element konnte nicht zum Projekt hinzugefügt werden\"] }, \"Failed to create a project\": { \"v\": [\"Projekt konnte nicht erstellt werden\"] }, \"Failed to rename the project\": { \"v\": [\"Das Projekt konnte nicht umbenannt werden\"] }, \"Type to search for existing projects\": { \"v\": [\"Tippen, um nach vorhandenen Projekten zu suchen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Add to a project\": { \"v\": [\"Einem Projekt hinzufügen\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Verbinden Sie Elemente mit einem Projekt, um sie leichter zu finden\"] }, \"Failed to add the item to the project\": { \"v\": [\"Das Element konnte nicht zum Projekt hinzugefügt werden\"] }, \"Failed to create a project\": { \"v\": [\"Projekt konnte nicht erstellt werden\"] }, \"Failed to rename the project\": { \"v\": [\"Das Projekt konnte nicht umbenannt werden\"] }, \"Type to search for existing projects\": { \"v\": [\"Tippen, um nach vorhandenen Projekten zu suchen\"] } } }, { \"l\": \"el\", \"t\": { \"Add to a project\": { \"v\": [\"Προσθήκη σε ένα έργο\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Συνδέστε αντικείμενα σε ένα έργο για να τα βρίσκετε πιο εύκολα\"] }, \"Failed to add the item to the project\": { \"v\": [\"Αποτυχία προσθήκης του αντικειμένου στο έργο\"] }, \"Failed to create a project\": { \"v\": [\"Αποτυχία δημιουργίας έργου\"] }, \"Failed to rename the project\": { \"v\": [\"Αποτυχία μετονομασίας του έργου\"] }, \"Type to search for existing projects\": { \"v\": [\"Πληκτρολογήστε για αναζήτηση υπαρχόντων έργων\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Add to a project\": { \"v\": [\"Add to a project\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Connect items to a project to make them easier to find\"] }, \"Failed to add the item to the project\": { \"v\": [\"Failed to add the item to the project\"] }, \"Failed to create a project\": { \"v\": [\"Failed to create a project\"] }, \"Failed to rename the project\": { \"v\": [\"Failed to rename the project\"] }, \"Type to search for existing projects\": { \"v\": [\"Type to search for existing projects\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es-AR\", \"t\": { \"Add to a project\": { \"v\": [\"Agregar a un proyecto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conecte items a un proyecto para hacerlos más fáciles de encontrar\"] }, \"Failed to add the item to the project\": { \"v\": [\"No se pudo agregar el elemento al proyecto\"] }, \"Failed to create a project\": { \"v\": [\"No se pudo crear un proyecto\"] }, \"Failed to rename the project\": { \"v\": [\"No se pudo renombrar el proyecto\"] }, \"Type to search for existing projects\": { \"v\": [\"Escriba para buscar proyectos existentes\"] } } }, { \"l\": \"es-EC\", \"t\": {} }, { \"l\": \"es-MX\", \"t\": { \"Add to a project\": { \"v\": [\"Agregar a un proyecto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conecte elementos a un proyecto para hacerlos más fáciles de encontrar\"] }, \"Failed to add the item to the project\": { \"v\": [\"No se pudo agregar el elemento al proyecto\"] }, \"Failed to create a project\": { \"v\": [\"No se pudo crear el proyecto\"] }, \"Failed to rename the project\": { \"v\": [\"No se pudo renombrar el proyecto\"] }, \"Type to search for existing projects\": { \"v\": [\"Escriba para buscar proyectos existentes\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Add to a project\": { \"v\": [\"Lisa projekti\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Selleks, et objekte oleks lihtsam leida, seo nad projektiga\"] }, \"Failed to add the item to the project\": { \"v\": [\"Objekti lisamine projekti ei õnnestunud\"] }, \"Failed to create a project\": { \"v\": [\"Projekti loomine ei õnnestunud\"] }, \"Failed to rename the project\": { \"v\": [\"Projekti nime muutmine ei õnnestunud\"] }, \"Type to search for existing projects\": { \"v\": [\"Olemasolevate projektide otsimiseks kirjuta\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Add to a project\": { \"v\": [\"افزودن به پروژه\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"برای پیدا کردن راحتتر، مواردی را به پروژه متصل کنید\"] }, \"Failed to add the item to the project\": { \"v\": [\"موارد به پروژه اضافه نشد\"] }, \"Failed to create a project\": { \"v\": [\"ایجاد پروژه نامؤفق بود\"] }, \"Failed to rename the project\": { \"v\": [\"تغییر نام پروژه انجام نشد\"] }, \"Type to search for existing projects\": { \"v\": [\"برای جستجوی پروژههای موجود تایپ کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Add to a project\": { \"v\": [\"Lisää projektiin\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Yhdistä kohteet projektiin, jotta ne olisivat helpompia löytää\"] }, \"Failed to add the item to the project\": { \"v\": [\"Kohteiden lisääminen projektiin epäonnistui\"] }, \"Failed to create a project\": { \"v\": [\"Projektin luominen epäonnistui\"] }, \"Failed to rename the project\": { \"v\": [\"Projektin nimeäminen epäonnistui\"] }, \"Type to search for existing projects\": { \"v\": [\"Kirjoita etsiäksesi olemassaolevia projekteja\"] } } }, { \"l\": \"fr\", \"t\": { \"Add to a project\": { \"v\": [\"Ajouter à un projet\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Connectez des éléments à un projet pour les retrouver plus facilement\"] }, \"Failed to add the item to the project\": { \"v\": [\"Impossible d'ajouter l'élément au projet\"] }, \"Failed to create a project\": { \"v\": [\"Impossible de créer un projet\"] }, \"Failed to rename the project\": { \"v\": [\"Impossible de renommer le projet\"] }, \"Type to search for existing projects\": { \"v\": [\"Tapez pour rechercher des projets existants\"] } } }, { \"l\": \"ga\", \"t\": { \"Add to a project\": { \"v\": [\"Cuir le tionscadal\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Ceangail míreanna le tionscadal chun iad a dhéanamh níos éasca iad a aimsiú\"] }, \"Failed to add the item to the project\": { \"v\": [\"Theip ar an mír a chur leis an tionscadal\"] }, \"Failed to create a project\": { \"v\": [\"Theip ar thionscadal a chruthú\"] }, \"Failed to rename the project\": { \"v\": [\"Theip ar an tionscadal a athainmniú\"] }, \"Type to search for existing projects\": { \"v\": [\"Clóscríobh chun tionscadail atá ann cheana a chuardach\"] } } }, { \"l\": \"gl\", \"t\": { \"Add to a project\": { \"v\": [\"Engadir a un proxecto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conectar elementos a un proxecto para facelos máis doados de atopar\"] }, \"Failed to add the item to the project\": { \"v\": [\"Produciuse un fallo ao engadir o elemento ao proxecto\"] }, \"Failed to create a project\": { \"v\": [\"Produciuse un fallo ao crear un proxecto\"] }, \"Failed to rename the project\": { \"v\": [\"Produciuse un fallo ao cambiarlle o nome ao proxecto\"] }, \"Type to search for existing projects\": { \"v\": [\"Escriba para buscar proxectos existentes\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Add to a project\": { \"v\": [\"Bæta við verkefni\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Tengdu atriði við verkefni til að gera einfaldara að finna þau\"] }, \"Failed to add the item to the project\": { \"v\": [\"Mistókst að bæta atriðinu í verkefnið\"] }, \"Failed to create a project\": { \"v\": [\"Mistókst að útbúa verkefni\"] }, \"Failed to rename the project\": { \"v\": [\"Mistókst að endurnefna verkefnið\"] }, \"Type to search for existing projects\": { \"v\": [\"Skrifaðu hér til að leita að fyrirliggjandi verkefnum\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Add to a project\": { \"v\": [\"プロジェクトに追加する\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"項目をプロジェクトに接続して検索しやすくする\"] }, \"Failed to add the item to the project\": { \"v\": [\"プロジェクトへのアイテムの追加に失敗しました\"] }, \"Failed to create a project\": { \"v\": [\"プロジェクトの作成に失敗しました\"] }, \"Failed to rename the project\": { \"v\": [\"プロジェクトの名前変更に失敗しました\"] }, \"Type to search for existing projects\": { \"v\": [\"既存のプロジェクトを検索するために入力します\"] } } }, { \"l\": \"ja-JP\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Add to a project\": { \"v\": [\"프로젝트에 추가\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"항목을 더 쉽게 찾을 수 있도록 프로젝트에 연결하세요.\"] }, \"Failed to add the item to the project\": { \"v\": [\"항목을 프로젝트에 추가하는 데 실패함\"] }, \"Failed to create a project\": { \"v\": [\"프로젝트를 만드는 데 실패함\"] }, \"Failed to rename the project\": { \"v\": [\"프로젝트의 이름을 바꾸는 데 실패함\"] }, \"Type to search for existing projects\": { \"v\": [\"입력하여 프로젝트를 검색\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Add to a project\": { \"v\": [\"Додај во проект\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Поврзете ги елементите со проект за да биде полесно да се најдат\"] }, \"Failed to add the item to the project\": { \"v\": [\"Неуспешно додавање на елементот во проектот\"] }, \"Failed to create a project\": { \"v\": [\"Неуспешно креирање на проект\"] }, \"Failed to rename the project\": { \"v\": [\"Неуспешно преименување на проектот\"] }, \"Type to search for existing projects\": { \"v\": [\"Пишувај за пребарување постоечки проекти\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Add to a project\": { \"v\": [\"Legge til i et prosjekt\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Koble elementer til et prosjekt for å gjøre det enklere å finne dem\"] }, \"Failed to add the item to the project\": { \"v\": [\"Kan ikke legge til elementet i prosjektet\"] }, \"Failed to create a project\": { \"v\": [\"Kan ikke opprette et prosjekt\"] }, \"Failed to rename the project\": { \"v\": [\"Kunne ikke gi prosjektet nytt navn\"] }, \"Type to search for existing projects\": { \"v\": [\"Skriv for å søke for eksisterende prosjekter\"] } } }, { \"l\": \"nl\", \"t\": { \"Add to a project\": { \"v\": [\"Toevoegen aan een project\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Items aan een project koppelen om ze eenvoudiger te vinden\"] }, \"Failed to add the item to the project\": { \"v\": [\"Toevoegen van item aan project mislukt\"] }, \"Failed to create a project\": { \"v\": [\"Project aanmaken mislukt\"] }, \"Failed to rename the project\": { \"v\": [\"Project hernoemen mislukt\"] }, \"Type to search for existing projects\": { \"v\": [\"Typ om te zoeken naar bestaande projecten\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Add to a project\": { \"v\": [\"Dodaj do projektu\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Połącz elementy z projektem, aby ułatwić ich znalezienie\"] }, \"Failed to add the item to the project\": { \"v\": [\"Nie udało się dodać elementu do projektu\"] }, \"Failed to create a project\": { \"v\": [\"Nie udało się utworzyć projektu\"] }, \"Failed to rename the project\": { \"v\": [\"Nie udało się zmienić nazwy projektu\"] }, \"Type to search for existing projects\": { \"v\": [\"Wpisz, aby wyszukać istniejące projekty\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Add to a project\": { \"v\": [\"Adicionar a um projeto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conectar itens a um projeto para encontrá-los mais facilmente\"] }, \"Failed to add the item to the project\": { \"v\": [\"Falha ao adicionar itens ao projeto\"] }, \"Failed to create a project\": { \"v\": [\"Falha ao criar um projeto\"] }, \"Failed to rename the project\": { \"v\": [\"Falha ao renomear o projeto\"] }, \"Type to search for existing projects\": { \"v\": [\"Digite para pesquisar projetos existentes\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Add to a project\": { \"v\": [\"Adicionar a um projeto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Ligar itens a um projeto para serem mais facilmente encontrados\"] }, \"Failed to add the item to the project\": { \"v\": [\"Não foi possível adicionar item ao projeto\"] }, \"Failed to create a project\": { \"v\": [\"Não foi possível criar um projeto\"] }, \"Failed to rename the project\": { \"v\": [\"Não foi possível alterar o nome do projeto\"] }, \"Type to search for existing projects\": { \"v\": [\"Digite para procurar projetos existentes\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Add to a project\": { \"v\": [\"Добавить в проект\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Подключайте элементы к проекту, чтобы их было легче найти\"] }, \"Failed to add the item to the project\": { \"v\": [\"Не удалось добавить элемент в проект\"] }, \"Failed to create a project\": { \"v\": [\"Не удалось создать проект\"] }, \"Failed to rename the project\": { \"v\": [\"Не удалось переименовать проект\"] }, \"Type to search for existing projects\": { \"v\": [\"Введите для поиска существующих проектов\"] } } }, { \"l\": \"sk\", \"t\": { \"Add to a project\": { \"v\": [\"Pridať do projektu\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Pridať položky do projektu pre jednoduchšie vyhľadávanie\"] }, \"Failed to add the item to the project\": { \"v\": [\"Nepodarilo sa pridať položku do projektu\"] }, \"Failed to create a project\": { \"v\": [\"Nepodarilo sa vytvoriť projekt\"] }, \"Failed to rename the project\": { \"v\": [\"Nepodarilo sa premenovať projekt\"] }, \"Type to search for existing projects\": { \"v\": [\"Začnite písať pre vyhľadávanie v existujúcich projektoch\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Add to a project\": { \"v\": [\"Додај у пројекат\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Повезује ставке у пројекат како би се лакше пронашле\"] }, \"Failed to add the item to the project\": { \"v\": [\"Није успело додавање ставке у пројекат\"] }, \"Failed to create a project\": { \"v\": [\"Није успело креирање пројекта\"] }, \"Failed to rename the project\": { \"v\": [\"Није успела промена имена пројекта\"] }, \"Type to search for existing projects\": { \"v\": [\"Куцајте да претражите постојеће пројекте\"] } } }, { \"l\": \"sv\", \"t\": { \"Add to a project\": { \"v\": [\"Lägg till i ett projekt\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Anslut objekt till ett projekt för att göra dem lättare att hitta\"] }, \"Failed to add the item to the project\": { \"v\": [\"Det gick inte att lägga till objektet i projektet\"] }, \"Failed to create a project\": { \"v\": [\"Det gick inte att skapa ett projekt\"] }, \"Failed to rename the project\": { \"v\": [\"Kunde inte byta namn på projektet\"] }, \"Type to search for existing projects\": { \"v\": [\"Skriv för att söka efter befintliga projekt\"] } } }, { \"l\": \"tr\", \"t\": { \"Add to a project\": { \"v\": [\"Bir projeye ekle\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Ögeleri daha kolay bulmak için bir proje ile ilişkilendirin\"] }, \"Failed to add the item to the project\": { \"v\": [\"Öge projeye eklenemedi\"] }, \"Failed to create a project\": { \"v\": [\"Bir proje oluşturulamadı\"] }, \"Failed to rename the project\": { \"v\": [\"Proje yeniden adlandırılamadı\"] }, \"Type to search for existing projects\": { \"v\": [\"Var olan projeleri aramak için yazmaya başlayın\"] } } }, { \"l\": \"uk\", \"t\": { \"Add to a project\": { \"v\": [\"Додати до проєкту\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Приєднайте ресурси до проєкту для швидшого пошуку\"] }, \"Failed to add the item to the project\": { \"v\": [\"Не вдалося приєднати ресурс до проєкту\"] }, \"Failed to create a project\": { \"v\": [\"Не вдалося створити проєкт\"] }, \"Failed to rename the project\": { \"v\": [\"Не вдалося перейменувати проєкт\"] }, \"Type to search for existing projects\": { \"v\": [\"Почніть вводити, щоб знайти проєкт\"] } } }, { \"l\": \"uz\", \"t\": { \"Add to a project\": { \"v\": [\"Loyihaga qo'shish\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Elementlarni topishni osonlashtirish uchun ularni loyihaga ulang\"] }, \"Failed to add the item to the project\": { \"v\": [\"Ob'ektni loyihaga qo'shib bo'lmadi\"] }, \"Failed to create a project\": { \"v\": [\"Loyiha yaratib bo‘lmadi\"] }, \"Failed to rename the project\": { \"v\": [\"Loyiha nomini o‘zgartirib bo‘lmadi\"] }, \"Type to search for existing projects\": { \"v\": [\"Mavjud loyihalarni qidirish uchun kiriting\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Add to a project\": { \"v\": [\"添加至一个项目\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"将条目连接至一个项目以易于查找\"] }, \"Failed to add the item to the project\": { \"v\": [\"添加条目至项目失败\"] }, \"Failed to create a project\": { \"v\": [\"创建项目失败\"] }, \"Failed to rename the project\": { \"v\": [\"重命名项目失败\"] }, \"Type to search for existing projects\": { \"v\": [\"输入以搜索现存项目\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Add to a project\": { \"v\": [\"添加到方案中\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"將項目連接到方案中,以便更容易找到。\"] }, \"Failed to add the item to the project\": { \"v\": [\"無法將項目添加到方案中\"] }, \"Failed to create a project\": { \"v\": [\"無法創建方案\"] }, \"Failed to rename the project\": { \"v\": [\"無法重命名方案\"] }, \"Type to search for existing projects\": { \"v\": [\"輸入以搜索現有方案\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Add to a project\": { \"v\": [\"新增至專案中\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"將項目連結至專案中以方便尋找\"] }, \"Failed to add the item to the project\": { \"v\": [\"新增項目至專案失敗\"] }, \"Failed to create a project\": { \"v\": [\"建立專案失敗\"] }, \"Failed to rename the project\": { \"v\": [\"重新命名專案失敗\"] }, \"Type to search for existing projects\": { \"v\": [\"輸入以搜尋既有專案\"] } } }];\nconst t8 = [{ \"l\": \"ar\", \"t\": { \"Any link\": { \"v\": [\"أيَّ رابط\"] } } }, { \"l\": \"ast\", \"t\": { \"Any link\": { \"v\": [\"Cualesquier enllaz\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Any link\": { \"v\": [\"Jakýkoli odkaz\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Any link\": { \"v\": [\"Jakýkoli odkaz\"] } } }, { \"l\": \"da\", \"t\": { \"Any link\": { \"v\": [\"Ethvert link\"] } } }, { \"l\": \"de\", \"t\": { \"Any link\": { \"v\": [\"Irgendein Link\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Any link\": { \"v\": [\"Irgendein Link\"] } } }, { \"l\": \"el\", \"t\": { \"Any link\": { \"v\": [\"Οποιοσδήποτε σύνδεσμος\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Any link\": { \"v\": [\"Any link\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Any link\": { \"v\": [\"Mistahes link\"] } } }, { \"l\": \"eu\", \"t\": { \"Any link\": { \"v\": [\"Edozein esteka\"] } } }, { \"l\": \"fa\", \"t\": { \"Any link\": { \"v\": [\"هر پیوندی\"] } } }, { \"l\": \"fi\", \"t\": { \"Any link\": { \"v\": [\"Mikä tahansa linkki\"] } } }, { \"l\": \"fr\", \"t\": { \"Any link\": { \"v\": [\"N'importe quel lien\"] } } }, { \"l\": \"ga\", \"t\": { \"Any link\": { \"v\": [\"Aon nasc\"] } } }, { \"l\": \"gl\", \"t\": { \"Any link\": { \"v\": [\"Calquera ligazón\"] } } }, { \"l\": \"he\", \"t\": { \"Any link\": { \"v\": [\"קישור כלשהו\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Any link\": { \"v\": [\"Semua tautan\"] } } }, { \"l\": \"is\", \"t\": { \"Any link\": { \"v\": [\"Einhver tengill\"] } } }, { \"l\": \"it\", \"t\": { \"Any link\": { \"v\": [\"Qualsiasi link\"] } } }, { \"l\": \"ja\", \"t\": { \"Any link\": { \"v\": [\"任意のリンク\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Any link\": { \"v\": [\"任意のリンク\"] } } }, { \"l\": \"ko\", \"t\": { \"Any link\": { \"v\": [\"아무 링크\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Any link\": { \"v\": [\"Секој линк\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Any link\": { \"v\": [\"Enhver lenke\"] } } }, { \"l\": \"nl\", \"t\": { \"Any link\": { \"v\": [\"Elke link\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Any link\": { \"v\": [\"Dowolny link\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Any link\": { \"v\": [\"Qualquer link\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Any link\": { \"v\": [\"Qualquer hiperligação\"] } } }, { \"l\": \"ro\", \"t\": { \"Any link\": { \"v\": [\"Orice link\"] } } }, { \"l\": \"ru\", \"t\": { \"Any link\": { \"v\": [\"Любая ссылка\"] } } }, { \"l\": \"sk\", \"t\": { \"Any link\": { \"v\": [\"Akýkoľvek odkaz\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Any link\": { \"v\": [\"Било који линк\"] } } }, { \"l\": \"sv\", \"t\": { \"Any link\": { \"v\": [\"Vilken länk som helst\"] } } }, { \"l\": \"tr\", \"t\": { \"Any link\": { \"v\": [\"Herhangi bir bağlantı\"] } } }, { \"l\": \"uk\", \"t\": { \"Any link\": { \"v\": [\"Будь-яке посилання\"] } } }, { \"l\": \"uz\", \"t\": { \"Any link\": { \"v\": [\"Har qanday havola\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Any link\": { \"v\": [\"任何链接\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Any link\": { \"v\": [\"任何連結\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Any link\": { \"v\": [\"任何連結\"] } } }];\nconst t9 = [{ \"l\": \"ar\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"أيّ مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"خطأ في الحصول على الموارد ذات الصلة. يرجى الاتصال بمشرف النظام عندك إذا كان لديك أيّ أسئلة.\"] }, \"Related resources\": { \"v\": [\"مصادر ذات صلة\"] } } }, { \"l\": \"ast\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Equí va apaecer tolo que compartas col mesmu grupu de persones\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Hebo un error al consiguir los recursos rellacionaos. Ponte en contautu col alministrador del sistema si tienes dalguna entruga.\"] }, \"Related resources\": { \"v\": [\"Recursos rellacionao\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\"] }, \"Related resources\": { \"v\": [\"Recursos relacionats\"] } } }, { \"l\": \"cs\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Chyba při získávání souvisejících prostředků. Pokud máte jakékoli dotazy, obraťte se na správce vámi využívaného systému.\"] }, \"Related resources\": { \"v\": [\"Související prostředky\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Chyba při získávání souvisejících prostředků. Pokud máte jakékoli dotazy, obraťte se na správce vámi využívaného systému.\"] }, \"Related resources\": { \"v\": [\"Související prostředky\"] } } }, { \"l\": \"da\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alt der deles med samme gruppe af personer vil vises her\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fejl ved hentning af relaterede ressourcer. Kontakt venligst din systemadministrator, hvis du har spørgsmål.\"] }, \"Related resources\": { \"v\": [\"Relaterede emner\"] } } }, { \"l\": \"de\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fehler beim Abrufen verwandter Ressourcen. Bei Fragen wende dich bitte an deinen Systemadministrator.\"] }, \"Related resources\": { \"v\": [\"Verwandte Ressourcen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fehler beim Abrufen verwandter Ressourcen. Bei Fragen wenden Sie sich bitte an Ihre Systemadministration.\"] }, \"Related resources\": { \"v\": [\"Verwandte Ressourcen\"] } } }, { \"l\": \"el\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Σφάλμα λήψης σχετικών πόρων. Παρακαλούμε επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιεσδήποτε ερωτήσεις.\"] }, \"Related resources\": { \"v\": [\"Σχετικοί πόροι\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Anything shared with the same group of people will show up here\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error getting related resources. Please contact your system administrator if you have any questions.\"] }, \"Related resources\": { \"v\": [\"Related resources\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cualquier cosa que esté compartida con el mismo grupo de personas se mostrará aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor, contacte a su administrador del sistema si tiene alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cualquier cosa compartida con el mismo grupo de personas aparecerá aquí.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor, contacte a su administrador del sistema si tiene alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cualquier cosa compartida con el mismo grupo de personas aparecerá aquí.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor, contacta a tu administrador del sistema si tienes alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Todo lo que se comparta con el mismo grupo de personas se mostrará aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor contacte al administrador si tiene alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Siin kuvatakse kõik, mida jagatakse sama kasutajagrupiga\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Viga seotud ressursside saamisel. Küsimuste korral võtke ühendust oma süsteemiadministraatoriga.\"] }, \"Related resources\": { \"v\": [\"Seotud ressursid\"] } } }, { \"l\": \"eu\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Errore bat gertatu da erlazionatutako baliabideak eskuratzean. Jarri harremanetan zure sistemaren administratzailearekin galderarik baduzu.\"] }, \"Related resources\": { \"v\": [\"Erlazionatutako baliabideak\"] } } }, { \"l\": \"fa\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"هر چیزی که با گروه مشابهی همرسانی شود در این قسمت نمایش مییابد\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"خطا در دریافت منابع مرتبط. لطفاً در صورت داشتن هر گونه سؤال با مدیر سیستم خود تماس بگیرید.\"] }, \"Related resources\": { \"v\": [\"منابع مرتبط\"] } } }, { \"l\": \"fi\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Kaikki saman ryhmän kesken jaettu näkyy tässä\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Virhe resurssien haussa. Ota yhteyttä järjestelmän ylläpitäjään, mikäli sinulla on kysyttävää.\"] }, \"Related resources\": { \"v\": [\"Liittyvät resurssit\"] } } }, { \"l\": \"fr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Erreur lors de la récupération des ressources liées. Contactez votre administrateur système pour répondre à vos éventuelles questions.\"] }, \"Related resources\": { \"v\": [\"Ressources liées\"] } } }, { \"l\": \"ga\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Taispeánfar aon rud a roinntear leis an ngrúpa céanna daoine anseo\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Earráid agus acmhainní gaolmhara á bhfáil. Déan teagmháil le riarthóir do chórais má tá aon cheist agat.\"] }, \"Related resources\": { \"v\": [\"Acmhainní gaolmhara\"] } } }, { \"l\": \"gl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Todo o que se comparta co mesmo grupo de persoas aparecerá aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Produciuse un erro ao obter os recursos relacionados. Póñase en contacto coa administración do seu sistema se ten algunha dúbida.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"he\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"כל מה שמשותף עם אותה קבוצת האנשים יופיע כאן\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"שגיאה בקבלת המשאבים הקשורים. נא ליצור קשר עם הנהלת המערכת אם יש לך שאלות.\"] }, \"Related resources\": { \"v\": [\"משאבים קשורים\"] } } }, { \"l\": \"hu\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\"] }, \"Related resources\": { \"v\": [\"Kapcsolódó erőforrások\"] } } }, { \"l\": \"id\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Apa pun yang dibagikan dengan grup orang yang sama akan muncul di sini\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Kesalahan saat mengambil sumber daya terkait. Hubungi administrator sistem Anda jika ada pertanyaan.\"] }, \"Related resources\": { \"v\": [\"Sumber daya terkait\"] } } }, { \"l\": \"is\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Allt sem deilt er með sama hópi fólks mun birtast hér\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Villa við að sækja tengd tilföng. Hafðu samband við kerfisstjórann þinn ef þú ert með einhverjar spurningar.\"] }, \"Related resources\": { \"v\": [\"Tengd tilföng\"] } } }, { \"l\": \"it\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Errore nell'ottenere le risorse correlate. Per qualsiasi domanda, contattare l'amministratore di sistema.\"] }, \"Related resources\": { \"v\": [\"Risorse correlate\"] } } }, { \"l\": \"ja\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"同じグループで共有しているものは、全てここに表示されます\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"関連リソースの取得エラー。ご不明な点がございましたら、システム管理者にお問い合わせください。\"] }, \"Related resources\": { \"v\": [\"関連リソース\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"同じグループで共有しているものは、全てここに表示されます\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"関連リソースの取得エラー。ご不明な点がございましたら、システム管理者にお問い合わせください。\"] }, \"Related resources\": { \"v\": [\"関連リソース\"] } } }, { \"l\": \"ko\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"같은 그룹의 사용자와 공유된 모든 것들이 이곳에 나타납니다.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"관련 리소스를 가져오는 중 오류가 발생했습니다. 궁금한 것이 있는 경우 시스템 관리자에게 연락해 주세요.\"] }, \"Related resources\": { \"v\": [\"관련 리소스\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Сè што е споделено со истата група луѓе ќе се појави овде\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Грешка при добивање поврзани ресурси. Ве молиме контактирајте го вашиот систем администратор ако имате прашања.\"] }, \"Related resources\": { \"v\": [\"Поврзани ресурси\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alt som er delt med den samme gruppen vil vises her\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Feil ved henting av relaterte ressurser. Kontakt systemansvarlig hvis du har spørsmål.\"] }, \"Related resources\": { \"v\": [\"Relaterte ressurser\"] } } }, { \"l\": \"nl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alles dat gedeeld is met dezelfde groep mensen zal hier getoond worden\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fout bij het ophalen van gerelateerde bronnen. Neem contact op met uw systeembeheerder als u vragen heeft.\"] }, \"Related resources\": { \"v\": [\"Gerelateerde bronnen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Błąd podczas pobierania powiązanych zasobów. Jeśli masz jakiekolwiek pytania, skontaktuj się z administratorem systemu.\"] }, \"Related resources\": { \"v\": [\"Powiązane zasoby\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Erro ao obter recursos relacionados. Por favor, entre em contato com o administrador do sistema se tiver alguma dúvida.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Qualquer coisa partilhada com o mesmo grupo de pessoas irá aparecer aqui\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Erro ao obter os recursos relacionados. Por favor, contacte o administrador do sistema se tiver quaisquer perguntas.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"ro\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Eroare la preluarea resurselor adiționale. Vă rugăm să contactați administratorul pentru întrebări.\"] }, \"Related resources\": { \"v\": [\"Resurse legate\"] } } }, { \"l\": \"ru\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Всё, чем поделились с той же группой людей, будет отображаться здесь\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Ошибка при получении связанных ресурсов. Если у вас есть какие-либо вопросы, обратитесь к системному администратору.\"] }, \"Related resources\": { \"v\": [\"Связанные ресурсы\"] } } }, { \"l\": \"sk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tu sa zobrazí čokoľvek zdieľané s rovnakou skupinou ľudí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Chyba pri získavaní súvisiacich zdrojov. V prípade otázok kontaktujte prosím svojho systemového administrátora.\"] }, \"Related resources\": { \"v\": [\"Súvisiace zdroje\"] } } }, { \"l\": \"sl\", \"t\": { \"Related resources\": { \"v\": [\"Povezani viri\"] } } }, { \"l\": \"sr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Све што се дели са истом групом људи ће се појавити овде\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Грешка код прибављања везаних ресурса. Молимо вас да се обратите администратору ако имате питања.\"] }, \"Related resources\": { \"v\": [\"Повезани ресурси\"] } } }, { \"l\": \"sv\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Något som delats med samma grupp av personer kommer att visas här\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Det gick inte att hämta relaterade resurser. Kontakta din systemadministratör om du har några frågor.\"] }, \"Related resources\": { \"v\": [\"Relaterade resurser\"] } } }, { \"l\": \"tr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"İlgili kaynaklara ulaşılırken sorun çıktı. Herhangi bir sorunuz varsa lütfen sistem yöneticiniz ile görüşün \"] }, \"Related resources\": { \"v\": [\"İlgili kaynaklar\"] } } }, { \"l\": \"uk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Будь-що доступне для цієї же групи людей буде показано тут\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Помилка під час отримання пов'язаних ресурсів. Будь ласка, сконтактуйте з системним адміністратором, якщо у вас виникли запитання.\"] }, \"Related resources\": { \"v\": [\"Пов'язані ресурси\"] } } }, { \"l\": \"uz\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Xuddi shu guruhdagi odamlarga ulashilgan hamma narsa shu yerda chiqadi\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Tegishli manbalarni olishda xatolik yuz berdi. Savollaringiz bo'lsa, tizim administratoriga murojaat qiling.\"] }, \"Related resources\": { \"v\": [\"Tegishli manbalar\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"与同组用户分享的所有内容都会显示于此\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"获取相关资源出现错误。如果你有任何问题,请联系系统管理员。\"] }, \"Related resources\": { \"v\": [\"相关资源\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"與同一組人共享的任何內容都會顯示在此處\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"取得相關資源時發生錯誤。如果有任何問題,請聯絡系統管理員。\"] }, \"Related resources\": { \"v\": [\"相關資源\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"與相同群組分享的所有內容都會顯示於此\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"取得相關資源時發生錯誤。如果有任何問題,請聯絡系統管理員。\"] }, \"Related resources\": { \"v\": [\"相關資源\"] } } }];\nconst t10 = [{ \"l\": \"ar\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"صورة الملف الشخصي الرمزية لــ {displayName} \"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"صورة الملف الشخصي الرمزية لــ {displayName}، {status}\"] } } }, { \"l\": \"ast\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de: {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de: {displayName}, {status}\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"cs\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}, {status}\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}, {status}\"] } } }, { \"l\": \"da\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar af {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar af {displayName}, {status}\"] } } }, { \"l\": \"de\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar von {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar von {displayName}, {status}\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar von {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar von {displayName}, {status}\"] } } }, { \"l\": \"el\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Άβαταρ του {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Άβαταρ του {displayName}, {status}\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar of {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar of {displayName}, {status}\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar {displayName}, {status}\"] } } }, { \"l\": \"eu\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}-(e)n irudia\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName} -(e)n irudia, {status}\"] } } }, { \"l\": \"fa\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"آواتار {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"آواتار {displayName} ، {status}\"] } } }, { \"l\": \"fi\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}n avatar\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}n avatar, {status}\"] } } }, { \"l\": \"fr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"ga\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"gl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"he\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"תמונה ייצוגית של {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"תמונה ייצוגית של {displayName}, {status}\"] } } }, { \"l\": \"hu\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} profilképe\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName} profilképe, {status}\"] } } }, { \"l\": \"id\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar {displayName}, {status}\"] } } }, { \"l\": \"is\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Auðkennismynd fyrir {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Auðkennismynd fyrir {displayName}, {status}\"] } } }, { \"l\": \"it\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar di {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar di {displayName}, {status}\"] } } }, { \"l\": \"ja\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} のアバター\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} のアバター\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} のアバター\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} のアバター\"] } } }, { \"l\": \"ko\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}님의 아바타\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status}님의 아바타\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар на {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Аватар на {displayName}, {status}\"] } } }, { \"l\": \"my\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} ၏ ကိုယ်ပွား\"] } } }, { \"l\": \"nb\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avataren til {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}'s avatar, {status}\"] } } }, { \"l\": \"nl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar van {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar van {displayName}, {status}\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Awatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Awatar {displayName}, {status}\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"ro\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatarul lui {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatarul lui {displayName}, {status}\"] } } }, { \"l\": \"ru\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Фотография {displayName}, {status}\"] } } }, { \"l\": \"sk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar {displayName}, {status}\"] } } }, { \"l\": \"sl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Podoba {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Prikazna slika {displayName}, {status}\"] } } }, { \"l\": \"sr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар за {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar za {displayName}, {status}\"] } } }, { \"l\": \"sv\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}s avatar\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}s avatar, {status}\"] } } }, { \"l\": \"tr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} avatarı\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} avatarı\"] } } }, { \"l\": \"uk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Аватар {displayName}, {status}\"] } } }, { \"l\": \"uz\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\" {displayName}Avatari\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} Avatari\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}的头像\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}的头像,{status}\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} 的頭像\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName} 的頭像,{status}\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} 的大頭照\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} 的大頭照\"] } } }];\nconst t11 = [{ \"l\": \"ar\", \"t\": { \"away\": { \"v\": [\"غير موجود\"] }, \"busy\": { \"v\": [\"مشغول\"] }, \"do not disturb\": { \"v\": [\"يُرجى عدم الإزعاج\"] }, \"invisible\": { \"v\": [\"غير مرئي\"] }, \"offline\": { \"v\": [\"غير متصل\"] }, \"online\": { \"v\": [\"متصل\"] } } }, { \"l\": \"ast\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupáu\"] }, \"do not disturb\": { \"v\": [\"nun molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"desconectáu\"] }, \"online\": { \"v\": [\"en llinia\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"away\": { \"v\": [\"pryč\"] }, \"busy\": { \"v\": [\"zaneprádněn(a)\"] }, \"do not disturb\": { \"v\": [\"nerušit\"] }, \"invisible\": { \"v\": [\"neviditelné\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"away\": { \"v\": [\"pryč\"] }, \"busy\": { \"v\": [\"zaneprádněn(a)\"] }, \"do not disturb\": { \"v\": [\"nerušit\"] }, \"invisible\": { \"v\": [\"neviditelné\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"da\", \"t\": { \"away\": { \"v\": [\"væk\"] }, \"busy\": { \"v\": [\"optaget\"] }, \"do not disturb\": { \"v\": [\"forstyr ikke\"] }, \"invisible\": { \"v\": [\"usynlig\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"de\", \"t\": { \"away\": { \"v\": [\"Abwesend\"] }, \"busy\": { \"v\": [\"Beschäftigt\"] }, \"do not disturb\": { \"v\": [\"Bitte nicht stören\"] }, \"invisible\": { \"v\": [\"Unsichtbar\"] }, \"offline\": { \"v\": [\"Offline\"] }, \"online\": { \"v\": [\"Online\"] } } }, { \"l\": \"de-DE\", \"t\": { \"away\": { \"v\": [\"Abwesend\"] }, \"busy\": { \"v\": [\"Beschäftigt\"] }, \"do not disturb\": { \"v\": [\"Bitte nicht stören\"] }, \"invisible\": { \"v\": [\"Unsichtbar\"] }, \"offline\": { \"v\": [\"Offline\"] }, \"online\": { \"v\": [\"Online\"] } } }, { \"l\": \"el\", \"t\": { \"away\": { \"v\": [\"μακριά\"] }, \"busy\": { \"v\": [\"απασχολημένος\"] }, \"do not disturb\": { \"v\": [\"μην ενοχλείτε\"] }, \"invisible\": { \"v\": [\"αόρατο\"] }, \"offline\": { \"v\": [\"εκτός σύνδεσης\"] }, \"online\": { \"v\": [\"συνδεδεμένος\"] } } }, { \"l\": \"en-GB\", \"t\": { \"away\": { \"v\": [\"away\"] }, \"busy\": { \"v\": [\"busy\"] }, \"do not disturb\": { \"v\": [\"do not disturb\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"no molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"fuera de línea\"] }, \"online\": { \"v\": [\"en línea\"] } } }, { \"l\": \"es-AR\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"no molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"desconectado\"] }, \"online\": { \"v\": [\"en línea\"] } } }, { \"l\": \"es-EC\", \"t\": {} }, { \"l\": \"es-MX\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"no molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"fuera de línea\"] }, \"online\": { \"v\": [\"en línea\"] } } }, { \"l\": \"et-EE\", \"t\": { \"away\": { \"v\": [\"eemal\"] }, \"busy\": { \"v\": [\"hõivatud\"] }, \"do not disturb\": { \"v\": [\"ära sega\"] }, \"invisible\": { \"v\": [\"nähtamatu\"] }, \"offline\": { \"v\": [\"pole võrgus\"] }, \"online\": { \"v\": [\"võrgus\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"away\": { \"v\": [\"دور از دستگاه\"] }, \"busy\": { \"v\": [\"مشغول\"] }, \"do not disturb\": { \"v\": [\"مزاحم نشوید\"] }, \"invisible\": { \"v\": [\"مخفی\"] }, \"offline\": { \"v\": [\"برونخط\"] }, \"online\": { \"v\": [\"برخط\"] } } }, { \"l\": \"fi\", \"t\": { \"away\": { \"v\": [\"poissa\"] }, \"busy\": { \"v\": [\"varattu\"] }, \"do not disturb\": { \"v\": [\"älä häiritse\"] }, \"invisible\": { \"v\": [\"näkymätön\"] }, \"offline\": { \"v\": [\"ei linjalla\"] }, \"online\": { \"v\": [\"linjalla\"] } } }, { \"l\": \"fr\", \"t\": { \"away\": { \"v\": [\"absent\"] }, \"busy\": { \"v\": [\"occupé\"] }, \"do not disturb\": { \"v\": [\"ne pas déranger\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"hors ligne\"] }, \"online\": { \"v\": [\"en ligne\"] } } }, { \"l\": \"ga\", \"t\": { \"away\": { \"v\": [\"ar shiúl\"] }, \"busy\": { \"v\": [\"gnóthach\"] }, \"do not disturb\": { \"v\": [\"ná cur as\"] }, \"invisible\": { \"v\": [\"dofheicthe\"] }, \"offline\": { \"v\": [\"as líne\"] }, \"online\": { \"v\": [\"ar líne\"] } } }, { \"l\": \"gl\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"non molestar\"] }, \"invisible\": { \"v\": [\"invisíbel\"] }, \"offline\": { \"v\": [\"desconectado\"] }, \"online\": { \"v\": [\"conectado\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"away\": { \"v\": [\"tidak tersedia\"] }, \"do not disturb\": { \"v\": [\"jangan ganggu\"] }, \"offline\": { \"v\": [\"luring\"] }, \"online\": { \"v\": [\"daring\"] } } }, { \"l\": \"is\", \"t\": { \"away\": { \"v\": [\"í burtu\"] }, \"busy\": { \"v\": [\"upptekin/n\"] }, \"do not disturb\": { \"v\": [\"ekki ónáða\"] }, \"invisible\": { \"v\": [\"ósýnilegt\"] }, \"offline\": { \"v\": [\"ónettengt\"] }, \"online\": { \"v\": [\"nettengt\"] } } }, { \"l\": \"it\", \"t\": { \"away\": { \"v\": [\"via\"] }, \"do not disturb\": { \"v\": [\"non disturbare\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ja\", \"t\": { \"away\": { \"v\": [\"離れる\"] }, \"busy\": { \"v\": [\"ビジー\"] }, \"do not disturb\": { \"v\": [\"邪魔をしないでください\"] }, \"invisible\": { \"v\": [\"不可視\"] }, \"offline\": { \"v\": [\"オフライン\"] }, \"online\": { \"v\": [\"オンライン\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"away\": { \"v\": [\"離れる\"] }, \"busy\": { \"v\": [\"ビジー\"] }, \"do not disturb\": { \"v\": [\"邪魔をしないでください\"] }, \"invisible\": { \"v\": [\"不可視\"] }, \"offline\": { \"v\": [\"オフライン\"] }, \"online\": { \"v\": [\"オンライン\"] } } }, { \"l\": \"ko\", \"t\": { \"away\": { \"v\": [\"자리 비움\"] }, \"busy\": { \"v\": [\"바쁨\"] }, \"do not disturb\": { \"v\": [\"방해 금지\"] }, \"invisible\": { \"v\": [\"보이지 않음\"] }, \"offline\": { \"v\": [\"오프라인\"] }, \"online\": { \"v\": [\"온라인\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"away\": { \"v\": [\"оддалечен\"] }, \"busy\": { \"v\": [\"зафатен\"] }, \"do not disturb\": { \"v\": [\"не вознемирувај\"] }, \"invisible\": { \"v\": [\"невидливо\"] }, \"offline\": { \"v\": [\"офлајн\"] }, \"online\": { \"v\": [\"онлајн\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"away\": { \"v\": [\"borte\"] }, \"busy\": { \"v\": [\"opptatt\"] }, \"do not disturb\": { \"v\": [\"ikke forstyrr\"] }, \"invisible\": { \"v\": [\"usynlig\"] }, \"offline\": { \"v\": [\"frakoblet\"] }, \"online\": { \"v\": [\"tilkoblet\"] } } }, { \"l\": \"nl\", \"t\": { \"away\": { \"v\": [\"weg\"] }, \"busy\": { \"v\": [\"bezig\"] }, \"do not disturb\": { \"v\": [\"niet storen\"] }, \"invisible\": { \"v\": [\"Onzichtbaar\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"away\": { \"v\": [\"stąd\"] }, \"busy\": { \"v\": [\"zajęty\"] }, \"do not disturb\": { \"v\": [\"nie przeszkadzać\"] }, \"invisible\": { \"v\": [\"niewidzialny\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"não perturbe\"] }, \"invisible\": { \"v\": [\"invisível\"] }, \"offline\": { \"v\": [\"off-line\"] }, \"online\": { \"v\": [\"on-line\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"away\": { \"v\": [\"longe\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"não incomodar\"] }, \"invisible\": { \"v\": [\"invisível\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ro\", \"t\": { \"away\": { \"v\": [\"plecat\"] }, \"do not disturb\": { \"v\": [\"nu deranjați\"] }, \"offline\": { \"v\": [\"deconectat\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ru\", \"t\": { \"away\": { \"v\": [\"отсутствие\"] }, \"busy\": { \"v\": [\"занятый\"] }, \"do not disturb\": { \"v\": [\"не беспокоить\"] }, \"invisible\": { \"v\": [\"невидимый\"] }, \"offline\": { \"v\": [\"офлайн\"] }, \"online\": { \"v\": [\"онлайн\"] } } }, { \"l\": \"sk\", \"t\": { \"away\": { \"v\": [\"neprítomný\"] }, \"busy\": { \"v\": [\"zaneprázdnený\"] }, \"do not disturb\": { \"v\": [\"nerušiť\"] }, \"invisible\": { \"v\": [\"neviditeľný\"] }, \"offline\": { \"v\": [\"Odpojený - offline\"] }, \"online\": { \"v\": [\"Pripojený - online\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"away\": { \"v\": [\"одсутан\"] }, \"busy\": { \"v\": [\"заузет\"] }, \"do not disturb\": { \"v\": [\"не узнемиравај\"] }, \"invisible\": { \"v\": [\"невидљиво\"] }, \"offline\": { \"v\": [\"ван мреже\"] }, \"online\": { \"v\": [\"на мрежи\"] } } }, { \"l\": \"sv\", \"t\": { \"away\": { \"v\": [\"borta\"] }, \"busy\": { \"v\": [\"upptagen\"] }, \"do not disturb\": { \"v\": [\"stör ej\"] }, \"invisible\": { \"v\": [\"osynlig\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"tr\", \"t\": { \"away\": { \"v\": [\"Uzakta\"] }, \"busy\": { \"v\": [\"Meşgul\"] }, \"do not disturb\": { \"v\": [\"Rahatsız etmeyin\"] }, \"invisible\": { \"v\": [\"görünmez\"] }, \"offline\": { \"v\": [\"Çevrim dışı\"] }, \"online\": { \"v\": [\"Çevrim içi\"] } } }, { \"l\": \"uk\", \"t\": { \"away\": { \"v\": [\"відсутній\"] }, \"busy\": { \"v\": [\"зайнято\"] }, \"do not disturb\": { \"v\": [\"не турбувати\"] }, \"invisible\": { \"v\": [\"Невидимий\"] }, \"offline\": { \"v\": [\"не в мережі\"] }, \"online\": { \"v\": [\"в мережі\"] } } }, { \"l\": \"uz\", \"t\": { \"away\": { \"v\": [\"uzoqda\"] }, \"busy\": { \"v\": [\"band\"] }, \"do not disturb\": { \"v\": [\"bezovta qilmang\"] }, \"invisible\": { \"v\": [\"ko'rinmas\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"away\": { \"v\": [\"离开\"] }, \"busy\": { \"v\": [\"繁忙\"] }, \"do not disturb\": { \"v\": [\"请勿打扰\"] }, \"invisible\": { \"v\": [\"隐藏的\"] }, \"offline\": { \"v\": [\"离线\"] }, \"online\": { \"v\": [\"在线\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"away\": { \"v\": [\"離開\"] }, \"busy\": { \"v\": [\"忙碌\"] }, \"do not disturb\": { \"v\": [\"請勿打擾\"] }, \"invisible\": { \"v\": [\"隐藏的\"] }, \"offline\": { \"v\": [\"離線\"] }, \"online\": { \"v\": [\"在線\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"away\": { \"v\": [\"離開\"] }, \"busy\": { \"v\": [\"忙碌\"] }, \"do not disturb\": { \"v\": [\"請勿打擾\"] }, \"invisible\": { \"v\": [\"不可見\"] }, \"offline\": { \"v\": [\"離線\"] }, \"online\": { \"v\": [\"線上\"] } } }];\nconst t12 = [{ \"l\": \"ar\", \"t\": { \"Back to provider selection\": { \"v\": [\"عودة إلى اختيار المزوّد\"] }, \"Close Smart Picker\": { \"v\": [\"إغلاق المحدد الذكي\"] }, \"Smart Picker\": { \"v\": [\"اللاقط الذكي smart picker\"] } } }, { \"l\": \"ast\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la seleición de fornidores\"] }, \"Close Smart Picker\": { \"v\": [\"Zarrar la seleición intelixente\"] }, \"Smart Picker\": { \"v\": [\"Selector intelixente\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zpět na výběr poskytovatele\"] }, \"Close Smart Picker\": { \"v\": [\"Zavřít inteligentní výběr\"] }, \"Smart Picker\": { \"v\": [\"Inteligentní výběr\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zpět na výběr poskytovatele\"] }, \"Close Smart Picker\": { \"v\": [\"Zavřít inteligentní výběr\"] }, \"Smart Picker\": { \"v\": [\"Inteligentní výběr\"] } } }, { \"l\": \"da\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tilbage til udbydervalg\"] }, \"Close Smart Picker\": { \"v\": [\"Luk Smart Vælger\"] }, \"Smart Picker\": { \"v\": [\"Smart Vælger\"] } } }, { \"l\": \"de\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zurück zur Anbieterauswahl\"] }, \"Close Smart Picker\": { \"v\": [\"Smart Picker schließen\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zurück zur Anbieterauswahl\"] }, \"Close Smart Picker\": { \"v\": [\"Smart Picker schließen\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"el\", \"t\": { \"Back to provider selection\": { \"v\": [\"Επιστροφή στην επιλογή παρόχου\"] }, \"Close Smart Picker\": { \"v\": [\"Κλείσιμο Έξυπνης Επιλογής\"] }, \"Smart Picker\": { \"v\": [\"Έξυπνη Επιλογή\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Back to provider selection\": { \"v\": [\"Back to provider selection\"] }, \"Close Smart Picker\": { \"v\": [\"Close Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tagasi teenusepakkuja valiku juurde\"] }, \"Close Smart Picker\": { \"v\": [\"Sulge nutikas valija\"] }, \"Smart Picker\": { \"v\": [\"Nutikas valija\"] } } }, { \"l\": \"eu\", \"t\": { \"Back to provider selection\": { \"v\": [\"Itzuli hornitzaileen hautapenera\"] }, \"Close Smart Picker\": { \"v\": [\"Itxi hautatzaile adimenduna\"] }, \"Smart Picker\": { \"v\": [\"Hautatzaile adimenduna\"] } } }, { \"l\": \"fa\", \"t\": { \"Back to provider selection\": { \"v\": [\"بازگشت به انتخاب ارائه دهنده\"] }, \"Close Smart Picker\": { \"v\": [\"بستن انتخابگر هوشمند\"] }, \"Smart Picker\": { \"v\": [\"انتخابگر هوشمند\"] } } }, { \"l\": \"fi\", \"t\": { \"Back to provider selection\": { \"v\": [\"Takaisin toimittajavalintaan\"] }, \"Close Smart Picker\": { \"v\": [\"Sulje älykas valitsin\"] }, \"Smart Picker\": { \"v\": [\"Älykäs valitsin\"] } } }, { \"l\": \"fr\", \"t\": { \"Back to provider selection\": { \"v\": [\"Revenir à la sélection du fournisseur\"] }, \"Close Smart Picker\": { \"v\": [\"Fermer le sélecteur intelligent\"] }, \"Smart Picker\": { \"v\": [\"Sélecteur intelligent\"] } } }, { \"l\": \"ga\", \"t\": { \"Back to provider selection\": { \"v\": [\"Ar ais go roghnú soláthróra\"] }, \"Close Smart Picker\": { \"v\": [\"Dún Piocálaí Cliste\"] }, \"Smart Picker\": { \"v\": [\"Roghnóir Cliste\"] } } }, { \"l\": \"gl\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver á selección do provedor\"] }, \"Close Smart Picker\": { \"v\": [\"Pechar o Selector intelixente\"] }, \"Smart Picker\": { \"v\": [\"Selector intelixente\"] } } }, { \"l\": \"he\", \"t\": { \"Back to provider selection\": { \"v\": [\"חזרה לבחירת ספק\"] }, \"Close Smart Picker\": { \"v\": [\"סגירת הבורר החכם\"] }, \"Smart Picker\": { \"v\": [\"בורר חכם\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Back to provider selection\": { \"v\": [\"Kembali ke pemilihan penyedia\"] }, \"Close Smart Picker\": { \"v\": [\"Tutup Pemilih Cerdas\"] }, \"Smart Picker\": { \"v\": [\"Pemilih Cerdas\"] } } }, { \"l\": \"is\", \"t\": { \"Back to provider selection\": { \"v\": [\"Til baka í val á þjónustuveitu\"] }, \"Close Smart Picker\": { \"v\": [\"Loka snjall-veljara\"] }, \"Smart Picker\": { \"v\": [\"Snjall-veljari\"] } } }, { \"l\": \"it\", \"t\": { \"Back to provider selection\": { \"v\": [\"Torna alla selezione del provider\"] }, \"Close Smart Picker\": { \"v\": [\"Chiudere lo Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Picker intelligente\"] } } }, { \"l\": \"ja\", \"t\": { \"Back to provider selection\": { \"v\": [\"プロバイダーの選択に戻る\"] }, \"Close Smart Picker\": { \"v\": [\"スマートピッカーを閉じる\"] }, \"Smart Picker\": { \"v\": [\"スマートピッカー\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Back to provider selection\": { \"v\": [\"プロバイダーの選択に戻る\"] }, \"Close Smart Picker\": { \"v\": [\"スマートピッカーを閉じる\"] }, \"Smart Picker\": { \"v\": [\"スマートピッカー\"] } } }, { \"l\": \"ko\", \"t\": { \"Back to provider selection\": { \"v\": [\"제공자 선택으로 돌아가기\"] }, \"Close Smart Picker\": { \"v\": [\"스마트 선택기 닫기\"] }, \"Smart Picker\": { \"v\": [\"스마트 선택기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Back to provider selection\": { \"v\": [\"Назад до избор на провајдер\"] }, \"Close Smart Picker\": { \"v\": [\"Затвори паметен избирач\"] }, \"Smart Picker\": { \"v\": [\"Паметен избирач\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tilbake til leverandørvalg\"] }, \"Close Smart Picker\": { \"v\": [\"Lukk Smart Velger\"] }, \"Smart Picker\": { \"v\": [\"Smart Velger\"] } } }, { \"l\": \"nl\", \"t\": { \"Back to provider selection\": { \"v\": [\"Terug naar provider selectie\"] }, \"Close Smart Picker\": { \"v\": [\"Slimme Kiezer sluiten\"] }, \"Smart Picker\": { \"v\": [\"Slimme Kiezer\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Back to provider selection\": { \"v\": [\"Powrót do wyboru dostawcy\"] }, \"Close Smart Picker\": { \"v\": [\"Zamknij inteligentny selektor\"] }, \"Smart Picker\": { \"v\": [\"Inteligentne wybieranie\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Back to provider selection\": { \"v\": [\"Voltar para seleção de provedor\"] }, \"Close Smart Picker\": { \"v\": [\"Fechar Seletor Inteligente\"] }, \"Smart Picker\": { \"v\": [\"Seletor Inteligente\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Back to provider selection\": { \"v\": [\"Voltar à seleção de fornecedor\"] }, \"Close Smart Picker\": { \"v\": ['Fechar \"Smart Picker\"'] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"ro\", \"t\": { \"Back to provider selection\": { \"v\": [\"Înapoi la selecția providerului\"] }, \"Close Smart Picker\": { \"v\": [\"Închide Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"ru\", \"t\": { \"Back to provider selection\": { \"v\": [\"Вернуться к выбору провайдера\"] }, \"Close Smart Picker\": { \"v\": [\"Закрыть интеллектуальный выбор\"] }, \"Smart Picker\": { \"v\": [\"Умный выбор\"] } } }, { \"l\": \"sk\", \"t\": { \"Back to provider selection\": { \"v\": [\"Späť na výber poskytovateľa\"] }, \"Close Smart Picker\": { \"v\": [\"Zavrieť inteligentný výber\"] }, \"Smart Picker\": { \"v\": [\"Inteligentný výber\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Back to provider selection\": { \"v\": [\"Назад на избор пружаоца\"] }, \"Close Smart Picker\": { \"v\": [\"Затвори паметни бирач\"] }, \"Smart Picker\": { \"v\": [\"Паметни бирач\"] } } }, { \"l\": \"sv\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tillbaka till leverantörsval\"] }, \"Close Smart Picker\": { \"v\": [\"Stäng Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"tr\", \"t\": { \"Back to provider selection\": { \"v\": [\"Hizmet sağlayıcı seçimine dön\"] }, \"Close Smart Picker\": { \"v\": [\"Akıllı seçimi kapat\"] }, \"Smart Picker\": { \"v\": [\"Akıllı seçim\"] } } }, { \"l\": \"uk\", \"t\": { \"Back to provider selection\": { \"v\": [\"Назад до вибору постачальника\"] }, \"Close Smart Picker\": { \"v\": [\"Закрити асистент вибору\"] }, \"Smart Picker\": { \"v\": [\"Асистент вибору\"] } } }, { \"l\": \"uz\", \"t\": { \"Back to provider selection\": { \"v\": [\"Provayder tanloviga qaytish\"] }, \"Close Smart Picker\": { \"v\": [\"Smart Picker-ni yoping\"] }, \"Smart Picker\": { \"v\": [\"Aqlli tanlovchi\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Back to provider selection\": { \"v\": [\"返回至提供者选择列表\"] }, \"Close Smart Picker\": { \"v\": [\"关闭智能拾取器\"] }, \"Smart Picker\": { \"v\": [\"智能拾取器\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Back to provider selection\": { \"v\": [\"回到提供者選擇\"] }, \"Close Smart Picker\": { \"v\": [\"關閉 Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Back to provider selection\": { \"v\": [\"回到提供者選擇\"] }, \"Close Smart Picker\": { \"v\": [\"關閉智慧型挑選器\"] }, \"Smart Picker\": { \"v\": [\"智慧型挑選器\"] } } }];\nconst t14 = [{ \"l\": \"ar\", \"t\": { \"Cancel changes\": { \"v\": [\"إلغاء التغييرات\"] }, \"Confirm changes\": { \"v\": [\"تأكيد التغييرات\"] } } }, { \"l\": \"ast\", \"t\": { \"Cancel changes\": { \"v\": [\"Encaboxar los cambeos\"] }, \"Confirm changes\": { \"v\": [\"Confirmar los cambeos\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancel·la els canvis\"] }, \"Confirm changes\": { \"v\": [\"Confirmeu els canvis\"] } } }, { \"l\": \"cs\", \"t\": { \"Cancel changes\": { \"v\": [\"Zrušit změny\"] }, \"Confirm changes\": { \"v\": [\"Potvrdit změny\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Cancel changes\": { \"v\": [\"Zrušit změny\"] }, \"Confirm changes\": { \"v\": [\"Potvrdit změny\"] } } }, { \"l\": \"da\", \"t\": { \"Cancel changes\": { \"v\": [\"Annuller ændringer\"] }, \"Confirm changes\": { \"v\": [\"Bekræft ændringer\"] } } }, { \"l\": \"de\", \"t\": { \"Cancel changes\": { \"v\": [\"Änderungen verwerfen\"] }, \"Confirm changes\": { \"v\": [\"Änderungen bestätigen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Cancel changes\": { \"v\": [\"Änderungen verwerfen\"] }, \"Confirm changes\": { \"v\": [\"Änderungen bestätigen\"] } } }, { \"l\": \"el\", \"t\": { \"Cancel changes\": { \"v\": [\"Ακύρωση αλλαγών\"] }, \"Confirm changes\": { \"v\": [\"Επιβεβαίωση αλλαγών\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancel changes\"] }, \"Confirm changes\": { \"v\": [\"Confirm changes\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Cancel changes\": { \"v\": [\"Tühista muudatused\"] }, \"Confirm changes\": { \"v\": [\"Kinnitage muudatused\"] } } }, { \"l\": \"eu\", \"t\": { \"Cancel changes\": { \"v\": [\"Ezeztatu aldaketak\"] }, \"Confirm changes\": { \"v\": [\"Baieztatu aldaketak\"] } } }, { \"l\": \"fa\", \"t\": { \"Cancel changes\": { \"v\": [\"لغو تغییرات\"] }, \"Confirm changes\": { \"v\": [\"تایید تغییرات\"] } } }, { \"l\": \"fi\", \"t\": { \"Cancel changes\": { \"v\": [\"Peruuta muutokset\"] }, \"Confirm changes\": { \"v\": [\"Vahvista muutokset\"] } } }, { \"l\": \"fr\", \"t\": { \"Cancel changes\": { \"v\": [\"Annuler les modifications\"] }, \"Confirm changes\": { \"v\": [\"Confirmer les modifications\"] } } }, { \"l\": \"ga\", \"t\": { \"Cancel changes\": { \"v\": [\"Cealaigh athruithe\"] }, \"Confirm changes\": { \"v\": [\"Deimhnigh na hathruithe\"] } } }, { \"l\": \"gl\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar os cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirma os cambios\"] } } }, { \"l\": \"he\", \"t\": { \"Cancel changes\": { \"v\": [\"ביטול שינויים\"] }, \"Confirm changes\": { \"v\": [\"אישור השינויים\"] } } }, { \"l\": \"hu\", \"t\": { \"Cancel changes\": { \"v\": [\"Változtatások elvetése\"] }, \"Confirm changes\": { \"v\": [\"Változtatások megerősítése\"] } } }, { \"l\": \"id\", \"t\": { \"Cancel changes\": { \"v\": [\"Batalkan perubahan\"] }, \"Confirm changes\": { \"v\": [\"Konfirmasikan perubahan\"] } } }, { \"l\": \"is\", \"t\": { \"Cancel changes\": { \"v\": [\"Hætta við breytingar\"] }, \"Confirm changes\": { \"v\": [\"Staðfesta breytingar\"] } } }, { \"l\": \"it\", \"t\": { \"Cancel changes\": { \"v\": [\"Annulla modifiche\"] }, \"Confirm changes\": { \"v\": [\"Conferma modifiche\"] } } }, { \"l\": \"ja\", \"t\": { \"Cancel changes\": { \"v\": [\"変更をキャンセル\"] }, \"Confirm changes\": { \"v\": [\"変更を承認\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Cancel changes\": { \"v\": [\"変更をキャンセル\"] }, \"Confirm changes\": { \"v\": [\"変更を承認\"] } } }, { \"l\": \"ko\", \"t\": { \"Cancel changes\": { \"v\": [\"변경 취소\"] }, \"Confirm changes\": { \"v\": [\"변경 사항 확인\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Cancel changes\": { \"v\": [\"Откажи ги промените\"] }, \"Confirm changes\": { \"v\": [\"Потврди ги промените\"] } } }, { \"l\": \"my\", \"t\": { \"Cancel changes\": { \"v\": [\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\"] }, \"Confirm changes\": { \"v\": [\"ပြောင်းလဲမှုများ အတည်ပြုရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Cancel changes\": { \"v\": [\"Avbryt endringer\"] }, \"Confirm changes\": { \"v\": [\"Bekreft endringer\"] } } }, { \"l\": \"nl\", \"t\": { \"Cancel changes\": { \"v\": [\"Wijzigingen annuleren\"] }, \"Confirm changes\": { \"v\": [\"Wijzigingen bevestigen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Cancel changes\": { \"v\": [\"Anuluj zmiany\"] }, \"Confirm changes\": { \"v\": [\"Potwierdź zmiany\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar alterações\"] }, \"Confirm changes\": { \"v\": [\"Confirmar alterações\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar alterações\"] }, \"Confirm changes\": { \"v\": [\"Confirmar alterações\"] } } }, { \"l\": \"ro\", \"t\": { \"Cancel changes\": { \"v\": [\"Anulează modificările\"] }, \"Confirm changes\": { \"v\": [\"Confirmați modificările\"] } } }, { \"l\": \"ru\", \"t\": { \"Cancel changes\": { \"v\": [\"Отменить изменения\"] }, \"Confirm changes\": { \"v\": [\"Подтвердить изменения\"] } } }, { \"l\": \"sk\", \"t\": { \"Cancel changes\": { \"v\": [\"Zrušiť zmeny\"] }, \"Confirm changes\": { \"v\": [\"Potvrdiť zmeny\"] } } }, { \"l\": \"sl\", \"t\": { \"Cancel changes\": { \"v\": [\"Prekliči spremembe\"] }, \"Confirm changes\": { \"v\": [\"Potrdi spremembe\"] } } }, { \"l\": \"sr\", \"t\": { \"Cancel changes\": { \"v\": [\"Откажи измене\"] }, \"Confirm changes\": { \"v\": [\"Потврдите измене\"] } } }, { \"l\": \"sv\", \"t\": { \"Cancel changes\": { \"v\": [\"Avbryt ändringar\"] }, \"Confirm changes\": { \"v\": [\"Bekräfta ändringar\"] } } }, { \"l\": \"tr\", \"t\": { \"Cancel changes\": { \"v\": [\"Değişiklikleri iptal et\"] }, \"Confirm changes\": { \"v\": [\"Değişiklikleri onayla\"] } } }, { \"l\": \"uk\", \"t\": { \"Cancel changes\": { \"v\": [\"Скасувати зміни\"] }, \"Confirm changes\": { \"v\": [\"Підтвердити зміни\"] } } }, { \"l\": \"uz\", \"t\": { \"Cancel changes\": { \"v\": [\"O'zgarishlarni bekor qilish\"] }, \"Confirm changes\": { \"v\": [\"O'zgarishlarni tasdiqlang\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Cancel changes\": { \"v\": [\"取消更改\"] }, \"Confirm changes\": { \"v\": [\"确认更改\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Cancel changes\": { \"v\": [\"取消更改\"] }, \"Confirm changes\": { \"v\": [\"確認更改\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Cancel changes\": { \"v\": [\"取消變更\"] }, \"Confirm changes\": { \"v\": [\"確認變更\"] } } }];\nconst t15 = [{ \"l\": \"ar\", \"t\": { \"Change name\": { \"v\": [\"تغيير الاسم\"] }, \"Close sidebar\": { \"v\": [\"قفل الشريط الجانبي\"] }, \"Favorite\": { \"v\": [\"المفضلة\"] }, \"Open sidebar\": { \"v\": [\"إفتَح الشريط الجانبي\"] } } }, { \"l\": \"ast\", \"t\": { \"Change name\": { \"v\": [\"Camudar el nome\"] }, \"Close sidebar\": { \"v\": [\"Zarrar la barra llateral\"] }, \"Favorite\": { \"v\": [\"Favoritu\"] }, \"Open sidebar\": { \"v\": [\"Abrir la barra llateral\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Close sidebar\": { \"v\": [\"Tancar la barra lateral\"] }, \"Favorite\": { \"v\": [\"Preferit\"] } } }, { \"l\": \"cs\", \"t\": { \"Change name\": { \"v\": [\"Změnit název\"] }, \"Close sidebar\": { \"v\": [\"Zavřít postranní panel\"] }, \"Favorite\": { \"v\": [\"Oblíbené\"] }, \"Open sidebar\": { \"v\": [\"Otevřít postranní panel\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Change name\": { \"v\": [\"Změnit název\"] }, \"Close sidebar\": { \"v\": [\"Zavřít postranní panel\"] }, \"Favorite\": { \"v\": [\"Oblíbené\"] } } }, { \"l\": \"da\", \"t\": { \"Change name\": { \"v\": [\"Ændre navn\"] }, \"Close sidebar\": { \"v\": [\"Luk sidepanel\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Åbn sidepanel\"] } } }, { \"l\": \"de\", \"t\": { \"Change name\": { \"v\": [\"Namen ändern\"] }, \"Close sidebar\": { \"v\": [\"Seitenleiste schließen\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Seitenleiste öffnen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Change name\": { \"v\": [\"Namen ändern\"] }, \"Close sidebar\": { \"v\": [\"Seitenleiste schließen\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Seitenleiste öffnen\"] } } }, { \"l\": \"el\", \"t\": { \"Change name\": { \"v\": [\"Αλλαγή ονόματος\"] }, \"Close sidebar\": { \"v\": [\"Κλείσιμο πλευρικής μπάρας\"] }, \"Favorite\": { \"v\": [\"Αγαπημένα\"] }, \"Open sidebar\": { \"v\": [\"Άνοιγμα πλευρικής μπάρας\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Change name\": { \"v\": [\"Change name\"] }, \"Close sidebar\": { \"v\": [\"Close sidebar\"] }, \"Favorite\": { \"v\": [\"Favourite\"] }, \"Open sidebar\": { \"v\": [\"Open sidebar\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Change name\": { \"v\": [\"Muuda nime\"] }, \"Close sidebar\": { \"v\": [\"Sulge külgriba\"] }, \"Favorite\": { \"v\": [\"Lemmik\"] }, \"Open sidebar\": { \"v\": [\"Ava külgriba\"] } } }, { \"l\": \"eu\", \"t\": { \"Change name\": { \"v\": [\"Aldatu izena\"] }, \"Close sidebar\": { \"v\": [\"Itxi albo-barra\"] }, \"Favorite\": { \"v\": [\"Gogokoa\"] } } }, { \"l\": \"fa\", \"t\": { \"Change name\": { \"v\": [\"تغییر نام\"] }, \"Close sidebar\": { \"v\": [\"بستن نوار کناری\"] }, \"Favorite\": { \"v\": [\"مورد علاقه\"] }, \"Open sidebar\": { \"v\": [\"باز کردن نوار کنار\"] } } }, { \"l\": \"fi\", \"t\": { \"Change name\": { \"v\": [\"Vaihda nimi\"] }, \"Close sidebar\": { \"v\": [\"Sulje sivupalkki\"] }, \"Favorite\": { \"v\": [\"Suosikki\"] }, \"Open sidebar\": { \"v\": [\"Avaa sivupalkki\"] } } }, { \"l\": \"fr\", \"t\": { \"Change name\": { \"v\": [\"Modifier le nom\"] }, \"Close sidebar\": { \"v\": [\"Fermer la barre latérale\"] }, \"Favorite\": { \"v\": [\"Favori\"] }, \"Open sidebar\": { \"v\": [\"Ouvrir la barre latérale\"] } } }, { \"l\": \"ga\", \"t\": { \"Change name\": { \"v\": [\"Athrú ainm\"] }, \"Close sidebar\": { \"v\": [\"Dún barra taoibh\"] }, \"Favorite\": { \"v\": [\"is fearr leat\"] }, \"Open sidebar\": { \"v\": [\"Oscail barra taoibh\"] } } }, { \"l\": \"gl\", \"t\": { \"Change name\": { \"v\": [\"Cambiar o nome\"] }, \"Close sidebar\": { \"v\": [\"Pechar a barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir a barra lateral\"] } } }, { \"l\": \"he\", \"t\": { \"Change name\": { \"v\": [\"החלפת שם\"] }, \"Close sidebar\": { \"v\": [\"סגירת סרגל הצד\"] }, \"Favorite\": { \"v\": [\"למועדפים\"] } } }, { \"l\": \"hu\", \"t\": { \"Close sidebar\": { \"v\": [\"Oldalsáv bezárása\"] }, \"Favorite\": { \"v\": [\"Kedvenc\"] } } }, { \"l\": \"id\", \"t\": { \"Change name\": { \"v\": [\"Ubah nama\"] }, \"Close sidebar\": { \"v\": [\"Tutup bilah sisi\"] }, \"Favorite\": { \"v\": [\"Favorit\"] } } }, { \"l\": \"is\", \"t\": { \"Change name\": { \"v\": [\"Breyta nafni\"] }, \"Close sidebar\": { \"v\": [\"Loka hliðarstiku\"] }, \"Favorite\": { \"v\": [\"Eftirlæti\"] }, \"Open sidebar\": { \"v\": [\"Opna hliðarspjald\"] } } }, { \"l\": \"it\", \"t\": { \"Change name\": { \"v\": [\"Cambia nome\"] }, \"Close sidebar\": { \"v\": [\"Chiudi la barra laterale\"] }, \"Favorite\": { \"v\": [\"Preferito\"] } } }, { \"l\": \"ja\", \"t\": { \"Change name\": { \"v\": [\"名前の変更\"] }, \"Close sidebar\": { \"v\": [\"サイドバーを閉じる\"] }, \"Favorite\": { \"v\": [\"お気に入り\"] }, \"Open sidebar\": { \"v\": [\"サイドバーを開く\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Change name\": { \"v\": [\"名前の変更\"] }, \"Close sidebar\": { \"v\": [\"サイドバーを閉じる\"] }, \"Favorite\": { \"v\": [\"お気に入り\"] }, \"Open sidebar\": { \"v\": [\"サイドバーを開く\"] } } }, { \"l\": \"ko\", \"t\": { \"Change name\": { \"v\": [\"이름 변경\"] }, \"Close sidebar\": { \"v\": [\"사이드바 닫기\"] }, \"Favorite\": { \"v\": [\"즐겨찾기\"] }, \"Open sidebar\": { \"v\": [\"사이드바 열기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Change name\": { \"v\": [\"Промени име\"] }, \"Close sidebar\": { \"v\": [\"Затвори странична лента\"] }, \"Favorite\": { \"v\": [\"Фаворити\"] }, \"Open sidebar\": { \"v\": [\"Отвори странична лента\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Change name\": { \"v\": [\"Endre navn\"] }, \"Close sidebar\": { \"v\": [\"Lukk sidepanel\"] }, \"Favorite\": { \"v\": [\"Favoritt\"] }, \"Open sidebar\": { \"v\": [\"Åpne sidefelt\"] } } }, { \"l\": \"nl\", \"t\": { \"Change name\": { \"v\": [\"Naam wijzigen\"] }, \"Close sidebar\": { \"v\": [\"Zijbalk sluiten\"] }, \"Favorite\": { \"v\": [\"Favoriet\"] }, \"Open sidebar\": { \"v\": [\"Zijbalk openen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Change name\": { \"v\": [\"Zmień nazwę\"] }, \"Close sidebar\": { \"v\": [\"Zamknij pasek boczny\"] }, \"Favorite\": { \"v\": [\"Ulubiony\"] }, \"Open sidebar\": { \"v\": [\"Otwórz pasek boczny\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Change name\": { \"v\": [\"Mudar nome\"] }, \"Close sidebar\": { \"v\": [\"Fechar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Change name\": { \"v\": [\"Alterar nome\"] }, \"Close sidebar\": { \"v\": [\"Fechar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"ro\", \"t\": { \"Change name\": { \"v\": [\"Modifică numele\"] }, \"Close sidebar\": { \"v\": [\"Închide bara laterală\"] }, \"Favorite\": { \"v\": [\"Favorit\"] } } }, { \"l\": \"ru\", \"t\": { \"Change name\": { \"v\": [\"Изменить имя\"] }, \"Close sidebar\": { \"v\": [\"Закрыть сайдбар\"] }, \"Favorite\": { \"v\": [\"Избранное\"] }, \"Open sidebar\": { \"v\": [\"Открыть боковую панель\"] } } }, { \"l\": \"sk\", \"t\": { \"Change name\": { \"v\": [\"Zmeniť názov\"] }, \"Close sidebar\": { \"v\": [\"Zavrieť bočný panel\"] }, \"Favorite\": { \"v\": [\"Obľúbené\"] }, \"Open sidebar\": { \"v\": [\"Otvoriť bočný panel\"] } } }, { \"l\": \"sl\", \"t\": { \"Close sidebar\": { \"v\": [\"Zapri stransko vrstico\"] }, \"Favorite\": { \"v\": [\"Priljubljeno\"] } } }, { \"l\": \"sr\", \"t\": { \"Change name\": { \"v\": [\"Измени назив\"] }, \"Close sidebar\": { \"v\": [\"Затвори бочну траку\"] }, \"Favorite\": { \"v\": [\"Омиљени\"] }, \"Open sidebar\": { \"v\": [\"Отвори бочну траку\"] } } }, { \"l\": \"sv\", \"t\": { \"Change name\": { \"v\": [\"Ändra namn\"] }, \"Close sidebar\": { \"v\": [\"Stäng sidofältet\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Öppna sidofältet\"] } } }, { \"l\": \"tr\", \"t\": { \"Change name\": { \"v\": [\"Adı değiştir\"] }, \"Close sidebar\": { \"v\": [\"Yan çubuğu kapat\"] }, \"Favorite\": { \"v\": [\"Sık kullanılanlara ekle\"] }, \"Open sidebar\": { \"v\": [\"Yan çubuğu aç\"] } } }, { \"l\": \"uk\", \"t\": { \"Change name\": { \"v\": [\"Змінити назву\"] }, \"Close sidebar\": { \"v\": [\"Закрити бічну панель\"] }, \"Favorite\": { \"v\": [\"Із зірочкою\"] }, \"Open sidebar\": { \"v\": [\"Бокове меню\"] } } }, { \"l\": \"uz\", \"t\": { \"Change name\": { \"v\": [\"Ismni o'zgartirish\"] }, \"Close sidebar\": { \"v\": [\"Yon panelni yoping\"] }, \"Favorite\": { \"v\": [\"Tanlangan\"] }, \"Open sidebar\": { \"v\": [\"Yon panelni oching\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Change name\": { \"v\": [\"修改名称\"] }, \"Close sidebar\": { \"v\": [\"关闭侧边栏\"] }, \"Favorite\": { \"v\": [\"喜爱\"] }, \"Open sidebar\": { \"v\": [\"打开侧边栏\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Change name\": { \"v\": [\"更改名稱\"] }, \"Close sidebar\": { \"v\": [\"關閉側邊欄\"] }, \"Favorite\": { \"v\": [\"喜愛\"] }, \"Open sidebar\": { \"v\": [\"打開側邊欄\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Change name\": { \"v\": [\"變更名稱\"] }, \"Close sidebar\": { \"v\": [\"關閉側邊欄\"] }, \"Favorite\": { \"v\": [\"最愛\"] }, \"Open sidebar\": { \"v\": [\"開啟側邊欄\"] } } }];\nconst t16 = [{ \"l\": \"ar\", \"t\": { \"Clear search\": { \"v\": [\"محو البحث\"] } } }, { \"l\": \"ast\", \"t\": { \"Clear search\": { \"v\": [\"Borrar la busca\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Clear search\": { \"v\": [\"Vyčistit vyhledávání\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Clear search\": { \"v\": [\"Vyčistit vyhledávání\"] } } }, { \"l\": \"da\", \"t\": { \"Clear search\": { \"v\": [\"Ryd søgning\"] } } }, { \"l\": \"de\", \"t\": { \"Clear search\": { \"v\": [\"Suche leeren\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Clear search\": { \"v\": [\"Suche leeren\"] } } }, { \"l\": \"el\", \"t\": { \"Clear search\": { \"v\": [\"Εκκαθάριση αναζήτησης\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Clear search\": { \"v\": [\"Clear search\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Clear search\": { \"v\": [\"Tühjenda otsing\"] } } }, { \"l\": \"eu\", \"t\": { \"Clear search\": { \"v\": [\"Garbitu bilaketa\"] } } }, { \"l\": \"fa\", \"t\": { \"Clear search\": { \"v\": [\"پاک کردن جستجو\"] } } }, { \"l\": \"fi\", \"t\": { \"Clear search\": { \"v\": [\"Tyhjennä haku\"] } } }, { \"l\": \"fr\", \"t\": { \"Clear search\": { \"v\": [\"Effacer la recherche\"] } } }, { \"l\": \"ga\", \"t\": { \"Clear search\": { \"v\": [\"Glan cuardach\"] } } }, { \"l\": \"gl\", \"t\": { \"Clear search\": { \"v\": [\"Limpar a busca\"] } } }, { \"l\": \"he\", \"t\": { \"Clear search\": { \"v\": [\"פינוי חיפוש\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Clear search\": { \"v\": [\"Bersihkan pencarian\"] } } }, { \"l\": \"is\", \"t\": { \"Clear search\": { \"v\": [\"Hreinsa leit\"] } } }, { \"l\": \"it\", \"t\": { \"Clear search\": { \"v\": [\"online\"] } } }, { \"l\": \"ja\", \"t\": { \"Clear search\": { \"v\": [\"検索をクリア\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Clear search\": { \"v\": [\"検索をクリア\"] } } }, { \"l\": \"ko\", \"t\": { \"Clear search\": { \"v\": [\"검색 지우기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Clear search\": { \"v\": [\"Исчисти пребарување\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Clear search\": { \"v\": [\"Tøm søk\"] } } }, { \"l\": \"nl\", \"t\": { \"Clear search\": { \"v\": [\"Zoekopdracht wissen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Clear search\": { \"v\": [\"Wyczyść wyszukiwanie\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Clear search\": { \"v\": [\"Limpar pesquisa\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Clear search\": { \"v\": [\"Limpar pesquisa\"] } } }, { \"l\": \"ro\", \"t\": { \"Clear search\": { \"v\": [\"Șterge căutarea\"] } } }, { \"l\": \"ru\", \"t\": { \"Clear search\": { \"v\": [\"Очистить поиск\"] } } }, { \"l\": \"sk\", \"t\": { \"Clear search\": { \"v\": [\"Vymazať vyhľadávanie\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Clear search\": { \"v\": [\"Обриши претрагу\"] } } }, { \"l\": \"sv\", \"t\": { \"Clear search\": { \"v\": [\"Rensa sökning\"] } } }, { \"l\": \"tr\", \"t\": { \"Clear search\": { \"v\": [\"Aramayı temizle\"] } } }, { \"l\": \"uk\", \"t\": { \"Clear search\": { \"v\": [\"Очистити пошук\"] } } }, { \"l\": \"uz\", \"t\": { \"Clear search\": { \"v\": [\"Qidiruvni tozalash\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Clear search\": { \"v\": [\"清除搜索\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Clear search\": { \"v\": [\"清除搜索\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Clear search\": { \"v\": [\"清除搜尋\"] } } }];\nconst t17 = [{ \"l\": \"ar\", \"t\": { \"Clear selected\": { \"v\": [\"محو المحدّد\"] }, \"Deselect {option}\": { \"v\": [\"إلغاء تحديد {option}\"] }, \"No results\": { \"v\": [\"ليس هناك أية نتيجة\"] }, \"Options\": { \"v\": [\"خيارات\"] } } }, { \"l\": \"ast\", \"t\": { \"Clear selected\": { \"v\": [\"Borrar lo seleicionao\"] }, \"Deselect {option}\": { \"v\": [\"Deseleicionar «{option}»\"] }, \"No results\": { \"v\": [\"Nun hai nengún resultáu\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"br\", \"t\": { \"No results\": { \"v\": [\"Disoc'h ebet\"] } } }, { \"l\": \"ca\", \"t\": { \"No results\": { \"v\": [\"Sense resultats\"] } } }, { \"l\": \"cs\", \"t\": { \"Clear selected\": { \"v\": [\"Vyčistit vybrané\"] }, \"Deselect {option}\": { \"v\": [\"Zrušit výběr {option}\"] }, \"No results\": { \"v\": [\"Nic nenalezeno\"] }, \"Options\": { \"v\": [\"Možnosti\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Clear selected\": { \"v\": [\"Vyčistit vybrané\"] }, \"Deselect {option}\": { \"v\": [\"Zrušit výběr {option}\"] }, \"No results\": { \"v\": [\"Nic nenalezeno\"] }, \"Options\": { \"v\": [\"Možnosti\"] } } }, { \"l\": \"da\", \"t\": { \"Clear selected\": { \"v\": [\"Ryd valgt\"] }, \"Deselect {option}\": { \"v\": [\"Fravælg {option}\"] }, \"No results\": { \"v\": [\"Ingen resultater\"] }, \"Options\": { \"v\": [\"Indstillinger\"] } } }, { \"l\": \"de\", \"t\": { \"Clear selected\": { \"v\": [\"Auswahl leeren\"] }, \"Deselect {option}\": { \"v\": [\"{option} abwählen\"] }, \"No results\": { \"v\": [\"Keine Ergebnisse\"] }, \"Options\": { \"v\": [\"Optionen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Clear selected\": { \"v\": [\"Auswahl leeren\"] }, \"Deselect {option}\": { \"v\": [\"{option} abwählen\"] }, \"No results\": { \"v\": [\"Keine Ergebnisse\"] }, \"Options\": { \"v\": [\"Optionen\"] } } }, { \"l\": \"el\", \"t\": { \"Clear selected\": { \"v\": [\"Εκκαθάριση επιλογής\"] }, \"Deselect {option}\": { \"v\": [\"Αποεπιλογή {option}\"] }, \"No results\": { \"v\": [\"Κανένα αποτέλεσμα\"] }, \"Options\": { \"v\": [\"Επιλογές\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Clear selected\": { \"v\": [\"Clear selected\"] }, \"Deselect {option}\": { \"v\": [\"Deselect {option}\"] }, \"No results\": { \"v\": [\"No results\"] }, \"Options\": { \"v\": [\"Options\"] } } }, { \"l\": \"eo\", \"t\": { \"No results\": { \"v\": [\"La rezulto forestas\"] } } }, { \"l\": \"es\", \"t\": { \"Clear selected\": { \"v\": [\"Limpiar selección\"] }, \"Deselect {option}\": { \"v\": [\"Deseleccionar {option}\"] }, \"No results\": { \"v\": [\" Ningún resultado\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Clear selected\": { \"v\": [\"Limpiar selección\"] }, \"Deselect {option}\": { \"v\": [\"Deseleccionar {option}\"] }, \"No results\": { \"v\": [\"Sin resultados\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"es-EC\", \"t\": { \"No results\": { \"v\": [\"Sin resultados\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Clear selected\": { \"v\": [\"Limpiar selección\"] }, \"Deselect {option}\": { \"v\": [\"Deseleccionar {option}\"] }, \"No results\": { \"v\": [\"Sin resultados\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Clear selected\": { \"v\": [\"Tühjenad valik\"] }, \"Deselect {option}\": { \"v\": [\"Eemalda {option} valik\"] }, \"No results\": { \"v\": [\"Tulemusi pole\"] }, \"Options\": { \"v\": [\"Valikud\"] } } }, { \"l\": \"eu\", \"t\": { \"No results\": { \"v\": [\"Emaitzarik ez\"] } } }, { \"l\": \"fa\", \"t\": { \"Clear selected\": { \"v\": [\"پاک کردن مورد انتخاب شده\"] }, \"Deselect {option}\": { \"v\": [\"لغو انتخاب {option}\"] }, \"No results\": { \"v\": [\"بدون هیچ نتیجهای\"] }, \"Options\": { \"v\": [\"گزینهها\"] } } }, { \"l\": \"fi\", \"t\": { \"Clear selected\": { \"v\": [\"Tyhjennä valitut\"] }, \"Deselect {option}\": { \"v\": [\"Poista valinta {option}\"] }, \"No results\": { \"v\": [\"Ei tuloksia\"] }, \"Options\": { \"v\": [\"Valinnat\"] } } }, { \"l\": \"fr\", \"t\": { \"Clear selected\": { \"v\": [\"Vider la sélection\"] }, \"Deselect {option}\": { \"v\": [\"Désélectionner {option}\"] }, \"No results\": { \"v\": [\"Aucun résultat\"] }, \"Options\": { \"v\": [\"Options\"] } } }, { \"l\": \"ga\", \"t\": { \"Clear selected\": { \"v\": [\"Glan roghnaithe\"] }, \"Deselect {option}\": { \"v\": [\"Díroghnaigh {option}\"] }, \"No results\": { \"v\": [\"Gan torthaí\"] }, \"Options\": { \"v\": [\"Roghanna\"] } } }, { \"l\": \"gl\", \"t\": { \"Clear selected\": { \"v\": [\"Limpar o seleccionado\"] }, \"Deselect {option}\": { \"v\": [\"Desmarcar {option}\"] }, \"No results\": { \"v\": [\"Sen resultados\"] }, \"Options\": { \"v\": [\"Opcións\"] } } }, { \"l\": \"he\", \"t\": { \"No results\": { \"v\": [\"אין תוצאות\"] } } }, { \"l\": \"hu\", \"t\": { \"No results\": { \"v\": [\"Nincs találat\"] } } }, { \"l\": \"id\", \"t\": { \"Clear selected\": { \"v\": [\"Hapus terpilih\"] }, \"Deselect {option}\": { \"v\": [\"Batalkan pemilihan {option}\"] }, \"No results\": { \"v\": [\"Tidak ada hasil\"] } } }, { \"l\": \"is\", \"t\": { \"Clear selected\": { \"v\": [\"Hreinsa valið\"] }, \"Deselect {option}\": { \"v\": [\"Afvelja {option}\"] }, \"No results\": { \"v\": [\"Engar niðurstöður\"] }, \"Options\": { \"v\": [\"Valkostir\"] } } }, { \"l\": \"it\", \"t\": { \"Clear selected\": { \"v\": [\"Cancella selezionati\"] }, \"Deselect {option}\": { \"v\": [\"Deselezionare {option}\"] }, \"No results\": { \"v\": [\"Nessun risultato\"] } } }, { \"l\": \"ja\", \"t\": { \"Clear selected\": { \"v\": [\"選択を解除\"] }, \"Deselect {option}\": { \"v\": [\"{option} の選択を解除\"] }, \"No results\": { \"v\": [\"結果無し\"] }, \"Options\": { \"v\": [\"オプション\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Clear selected\": { \"v\": [\"選択を解除\"] }, \"Deselect {option}\": { \"v\": [\"{option} の選択を解除\"] }, \"No results\": { \"v\": [\"結果無し\"] }, \"Options\": { \"v\": [\"オプション\"] } } }, { \"l\": \"ko\", \"t\": { \"Clear selected\": { \"v\": [\"선택 항목 지우기\"] }, \"Deselect {option}\": { \"v\": [\"{option} 선택 해제\"] }, \"No results\": { \"v\": [\"결과 없음\"] }, \"Options\": { \"v\": [\"옵션\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"No results\": { \"v\": [\"Nėra rezultatų\"] } } }, { \"l\": \"lv\", \"t\": { \"No results\": { \"v\": [\"Nav rezultātu\"] } } }, { \"l\": \"mk\", \"t\": { \"Clear selected\": { \"v\": [\"Исчисти означени\"] }, \"Deselect {option}\": { \"v\": [\"Откажи избор на {option}\"] }, \"No results\": { \"v\": [\"Нема резултати\"] }, \"Options\": { \"v\": [\"Опции\"] } } }, { \"l\": \"my\", \"t\": { \"No results\": { \"v\": [\"ရလဒ်မရှိပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"Clear selected\": { \"v\": [\"Tøm merket\"] }, \"Deselect {option}\": { \"v\": [\"Opphev valg {option}\"] }, \"No results\": { \"v\": [\"Ingen resultater\"] }, \"Options\": { \"v\": [\"Alternativer\"] } } }, { \"l\": \"nl\", \"t\": { \"Clear selected\": { \"v\": [\"Selectie wissen\"] }, \"Deselect {option}\": { \"v\": [\"Selectie {option} opheffen\"] }, \"No results\": { \"v\": [\"Geen resultaten\"] }, \"Options\": { \"v\": [\"Opties\"] } } }, { \"l\": \"oc\", \"t\": { \"No results\": { \"v\": [\"Cap de resultat\"] } } }, { \"l\": \"pl\", \"t\": { \"Clear selected\": { \"v\": [\"Wyczyść wybrane\"] }, \"Deselect {option}\": { \"v\": [\"Odznacz {option}\"] }, \"No results\": { \"v\": [\"Brak wyników\"] }, \"Options\": { \"v\": [\"Opcje\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Clear selected\": { \"v\": [\"Limpar selecionado\"] }, \"Deselect {option}\": { \"v\": [\"Desselecionar {option}\"] }, \"No results\": { \"v\": [\"Sem resultados\"] }, \"Options\": { \"v\": [\"Opções\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Clear selected\": { \"v\": [\"Limpeza selecionada\"] }, \"Deselect {option}\": { \"v\": [\"Desmarcar {option}\"] }, \"No results\": { \"v\": [\"Sem resultados\"] }, \"Options\": { \"v\": [\"Opções\"] } } }, { \"l\": \"ro\", \"t\": { \"Clear selected\": { \"v\": [\"Șterge selecția\"] }, \"Deselect {option}\": { \"v\": [\"Deselctează {option}\"] }, \"No results\": { \"v\": [\"Nu există rezultate\"] } } }, { \"l\": \"ru\", \"t\": { \"Clear selected\": { \"v\": [\"Очистить выбранный\"] }, \"Deselect {option}\": { \"v\": [\"Отменить выбор {option}\"] }, \"No results\": { \"v\": [\"Результаты отсуствуют\"] }, \"Options\": { \"v\": [\"Варианты\"] } } }, { \"l\": \"sk\", \"t\": { \"Clear selected\": { \"v\": [\"Vymazať vybraté\"] }, \"Deselect {option}\": { \"v\": [\"Zrušiť výber {option}\"] }, \"No results\": { \"v\": [\"Žiadne výsledky\"] }, \"Options\": { \"v\": [\"možnosti\"] } } }, { \"l\": \"sl\", \"t\": { \"No results\": { \"v\": [\"Ni zadetkov\"] } } }, { \"l\": \"sr\", \"t\": { \"Clear selected\": { \"v\": [\"Обриши изабрано\"] }, \"Deselect {option}\": { \"v\": [\"Уклони избор {option}\"] }, \"No results\": { \"v\": [\"Нема резултата\"] }, \"Options\": { \"v\": [\"Опције\"] } } }, { \"l\": \"sv\", \"t\": { \"Clear selected\": { \"v\": [\"Rensa val\"] }, \"Deselect {option}\": { \"v\": [\"Avmarkera {option}\"] }, \"No results\": { \"v\": [\"Inga resultat\"] }, \"Options\": { \"v\": [\"Alternativ\"] } } }, { \"l\": \"tr\", \"t\": { \"Clear selected\": { \"v\": [\"Seçilmişleri temizle\"] }, \"Deselect {option}\": { \"v\": [\"{option} bırak\"] }, \"No results\": { \"v\": [\"Herhangi bir sonuç bulunamadı\"] }, \"Options\": { \"v\": [\"Seçenekler\"] } } }, { \"l\": \"uk\", \"t\": { \"Clear selected\": { \"v\": [\"Очистити вибране\"] }, \"Deselect {option}\": { \"v\": [\"Зняти вибір {option}\"] }, \"No results\": { \"v\": [\"Відсутні результати\"] }, \"Options\": { \"v\": [\"Параметри\"] } } }, { \"l\": \"uz\", \"t\": { \"Clear selected\": { \"v\": [\"Tanlanganni tozalash\"] }, \"Deselect {option}\": { \"v\": [\"{option}tanlovni bekor qiling\"] }, \"No results\": { \"v\": [\"Natija yoʻq\"] }, \"Options\": { \"v\": [\"Variantlar\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Clear selected\": { \"v\": [\"清除所选\"] }, \"Deselect {option}\": { \"v\": [\"取消选择 {option}\"] }, \"No results\": { \"v\": [\"无结果\"] }, \"Options\": { \"v\": [\"选项\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Clear selected\": { \"v\": [\"清除所選項目\"] }, \"Deselect {option}\": { \"v\": [\"取消選擇 {option}\"] }, \"No results\": { \"v\": [\"無結果\"] }, \"Options\": { \"v\": [\"選項\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Clear selected\": { \"v\": [\"清除選定項目\"] }, \"Deselect {option}\": { \"v\": [\"取消選取 {option}\"] }, \"No results\": { \"v\": [\"無結果\"] }, \"Options\": { \"v\": [\"選項\"] } } }];\nconst t19 = [{ \"l\": \"ar\", \"t\": { \"Close\": { \"v\": [\"إغلاق\"] } } }, { \"l\": \"ast\", \"t\": { \"Close\": { \"v\": [\"Zarrar\"] } } }, { \"l\": \"br\", \"t\": { \"Close\": { \"v\": [\"Serriñ\"] } } }, { \"l\": \"ca\", \"t\": { \"Close\": { \"v\": [\"Tanca\"] } } }, { \"l\": \"cs\", \"t\": { \"Close\": { \"v\": [\"Zavřít\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Close\": { \"v\": [\"Zavřít\"] } } }, { \"l\": \"da\", \"t\": { \"Close\": { \"v\": [\"Luk\"] } } }, { \"l\": \"de\", \"t\": { \"Close\": { \"v\": [\"Schließen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Close\": { \"v\": [\"Schließen\"] } } }, { \"l\": \"el\", \"t\": { \"Close\": { \"v\": [\"Κλείσιμο\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Close\": { \"v\": [\"Close\"] } } }, { \"l\": \"eo\", \"t\": { \"Close\": { \"v\": [\"Fermu\"] } } }, { \"l\": \"es\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Close\": { \"v\": [\"Sulge\"] } } }, { \"l\": \"eu\", \"t\": { \"Close\": { \"v\": [\"Itxi\"] } } }, { \"l\": \"fa\", \"t\": { \"Close\": { \"v\": [\"بستن\"] } } }, { \"l\": \"fi\", \"t\": { \"Close\": { \"v\": [\"Sulje\"] } } }, { \"l\": \"fr\", \"t\": { \"Close\": { \"v\": [\"Fermer\"] } } }, { \"l\": \"ga\", \"t\": { \"Close\": { \"v\": [\"Dún\"] } } }, { \"l\": \"gl\", \"t\": { \"Close\": { \"v\": [\"Pechar\"] } } }, { \"l\": \"he\", \"t\": { \"Close\": { \"v\": [\"סגירה\"] } } }, { \"l\": \"hu\", \"t\": { \"Close\": { \"v\": [\"Bezárás\"] } } }, { \"l\": \"id\", \"t\": { \"Close\": { \"v\": [\"Tutup\"] } } }, { \"l\": \"is\", \"t\": { \"Close\": { \"v\": [\"Loka\"] } } }, { \"l\": \"it\", \"t\": { \"Close\": { \"v\": [\"Chiudi\"] } } }, { \"l\": \"ja\", \"t\": { \"Close\": { \"v\": [\"閉じる\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Close\": { \"v\": [\"閉じる\"] } } }, { \"l\": \"ko\", \"t\": { \"Close\": { \"v\": [\"닫기\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Close\": { \"v\": [\"Užverti\"] } } }, { \"l\": \"lv\", \"t\": { \"Close\": { \"v\": [\"Aizvērt\"] } } }, { \"l\": \"mk\", \"t\": { \"Close\": { \"v\": [\"Затвори\"] } } }, { \"l\": \"my\", \"t\": { \"Close\": { \"v\": [\"ပိတ်ရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Close\": { \"v\": [\"Lukk\"] } } }, { \"l\": \"nl\", \"t\": { \"Close\": { \"v\": [\"Sluiten\"] } } }, { \"l\": \"oc\", \"t\": { \"Close\": { \"v\": [\"Tampar\"] } } }, { \"l\": \"pl\", \"t\": { \"Close\": { \"v\": [\"Zamknij\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Close\": { \"v\": [\"Fechar\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Close\": { \"v\": [\"Fechar\"] } } }, { \"l\": \"ro\", \"t\": { \"Close\": { \"v\": [\"Închideți\"] } } }, { \"l\": \"ru\", \"t\": { \"Close\": { \"v\": [\"Закрыть\"] } } }, { \"l\": \"sk\", \"t\": { \"Close\": { \"v\": [\"Zavrieť\"] } } }, { \"l\": \"sl\", \"t\": { \"Close\": { \"v\": [\"Zapri\"] } } }, { \"l\": \"sr\", \"t\": { \"Close\": { \"v\": [\"Затвори\"] } } }, { \"l\": \"sv\", \"t\": { \"Close\": { \"v\": [\"Stäng\"] } } }, { \"l\": \"tr\", \"t\": { \"Close\": { \"v\": [\"Kapat\"] } } }, { \"l\": \"uk\", \"t\": { \"Close\": { \"v\": [\"Закрити\"] } } }, { \"l\": \"uz\", \"t\": { \"Close\": { \"v\": [\"Yopish\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Close\": { \"v\": [\"关闭\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Close\": { \"v\": [\"關閉\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Close\": { \"v\": [\"關閉\"] } } }];\nconst t21 = [{ \"l\": \"ar\", \"t\": { \"Collapse menu\": { \"v\": [\"طي القائمة\"] }, \"Open menu\": { \"v\": [\"إفتَح القائمة\"] } } }, { \"l\": \"ast\", \"t\": { \"Collapse menu\": { \"v\": [\"Recoyer el menú\"] }, \"Open menu\": { \"v\": [\"Abrir le menú\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Collapse menu\": { \"v\": [\"Sbalit nabídku\"] }, \"Open menu\": { \"v\": [\"Otevřít nabídku\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Collapse menu\": { \"v\": [\"Sbalit nabídku\"] }, \"Open menu\": { \"v\": [\"Otevřít nabídku\"] } } }, { \"l\": \"da\", \"t\": { \"Collapse menu\": { \"v\": [\"Skjul menuen\"] }, \"Open menu\": { \"v\": [\"Åben menu\"] } } }, { \"l\": \"de\", \"t\": { \"Collapse menu\": { \"v\": [\"Menü einklappen\"] }, \"Open menu\": { \"v\": [\"Menü öffnen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Collapse menu\": { \"v\": [\"Menü einklappen\"] }, \"Open menu\": { \"v\": [\"Menü öffnen\"] } } }, { \"l\": \"el\", \"t\": { \"Collapse menu\": { \"v\": [\"Σύμπτυξη μενού\"] }, \"Open menu\": { \"v\": [\"Άνοιγμα μενού\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Collapse menu\": { \"v\": [\"Collapse menu\"] }, \"Open menu\": { \"v\": [\"Open menu\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Collapse menu\": { \"v\": [\"Menüü kokkuklappimine\"] }, \"Open menu\": { \"v\": [\"Ava menüü\"] } } }, { \"l\": \"eu\", \"t\": { \"Collapse menu\": { \"v\": [\"Tolestu menua\"] }, \"Open menu\": { \"v\": [\"Ireki menua\"] } } }, { \"l\": \"fa\", \"t\": { \"Collapse menu\": { \"v\": [\"بستن فهرست\"] }, \"Open menu\": { \"v\": [\"باز کردن فهرست\"] } } }, { \"l\": \"fi\", \"t\": { \"Collapse menu\": { \"v\": [\"Supista valikko\"] }, \"Open menu\": { \"v\": [\"Avaa valikko\"] } } }, { \"l\": \"fr\", \"t\": { \"Collapse menu\": { \"v\": [\"Réduire le menu\"] }, \"Open menu\": { \"v\": [\"Ouvrir le menu\"] } } }, { \"l\": \"ga\", \"t\": { \"Collapse menu\": { \"v\": [\"Roghchlár Laghdaigh\"] }, \"Open menu\": { \"v\": [\"Roghchlár a oscailt\"] } } }, { \"l\": \"gl\", \"t\": { \"Collapse menu\": { \"v\": [\"Contraer o menú\"] }, \"Open menu\": { \"v\": [\"Abrir o menú\"] } } }, { \"l\": \"he\", \"t\": { \"Collapse menu\": { \"v\": [\"צמצום התפריט\"] }, \"Open menu\": { \"v\": [\"פתיחת תפריט\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Collapse menu\": { \"v\": [\"Ciutkan menu\"] }, \"Open menu\": { \"v\": [\"Buka menu\"] } } }, { \"l\": \"is\", \"t\": { \"Collapse menu\": { \"v\": [\"Fella valmynd saman\"] }, \"Open menu\": { \"v\": [\"Opna valmynd\"] } } }, { \"l\": \"it\", \"t\": { \"Collapse menu\": { \"v\": [\"Chiudi Menu\"] }, \"Open menu\": { \"v\": [\"Apri il menu\"] } } }, { \"l\": \"ja\", \"t\": { \"Collapse menu\": { \"v\": [\"メニューの折りたたみ\"] }, \"Open menu\": { \"v\": [\"メニューを開く\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Collapse menu\": { \"v\": [\"メニューの折りたたみ\"] }, \"Open menu\": { \"v\": [\"メニューを開く\"] } } }, { \"l\": \"ko\", \"t\": { \"Collapse menu\": { \"v\": [\"메뉴 접기\"] }, \"Open menu\": { \"v\": [\"메뉴 열기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Collapse menu\": { \"v\": [\"Скриј мени\"] }, \"Open menu\": { \"v\": [\"Отвори мени\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Collapse menu\": { \"v\": [\"Skjul meny\"] }, \"Open menu\": { \"v\": [\"Åpne meny\"] } } }, { \"l\": \"nl\", \"t\": { \"Collapse menu\": { \"v\": [\"Menu inklappen\"] }, \"Open menu\": { \"v\": [\"Menu openen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Collapse menu\": { \"v\": [\"Zwiń menu\"] }, \"Open menu\": { \"v\": [\"Otwórz menu\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Collapse menu\": { \"v\": [\"Recolher menu\"] }, \"Open menu\": { \"v\": [\"Abrir menu\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menu\"] }, \"Open menu\": { \"v\": [\"Abrir menu\"] } } }, { \"l\": \"ro\", \"t\": { \"Collapse menu\": { \"v\": [\"Restrânge meniul\"] }, \"Open menu\": { \"v\": [\"Deschide meniul\"] } } }, { \"l\": \"ru\", \"t\": { \"Collapse menu\": { \"v\": [\"Свернуть меню\"] }, \"Open menu\": { \"v\": [\"Открыть меню\"] } } }, { \"l\": \"sk\", \"t\": { \"Collapse menu\": { \"v\": [\"Zbaliť menu\"] }, \"Open menu\": { \"v\": [\"Otvoriť menu\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Collapse menu\": { \"v\": [\"Сажми мени\"] }, \"Open menu\": { \"v\": [\"Отвори мени\"] } } }, { \"l\": \"sv\", \"t\": { \"Collapse menu\": { \"v\": [\"Dölj menyn\"] }, \"Open menu\": { \"v\": [\"Öppna menyn\"] } } }, { \"l\": \"tr\", \"t\": { \"Collapse menu\": { \"v\": [\"Menüyü daralt\"] }, \"Open menu\": { \"v\": [\"Menüyü aç\"] } } }, { \"l\": \"uk\", \"t\": { \"Collapse menu\": { \"v\": [\"Згорнути меню\"] }, \"Open menu\": { \"v\": [\"Відкрити меню\"] } } }, { \"l\": \"uz\", \"t\": { \"Collapse menu\": { \"v\": [\"Menyuni yig‘ish\"] }, \"Open menu\": { \"v\": [\"Menyuni oching\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Collapse menu\": { \"v\": [\"收起菜单\"] }, \"Open menu\": { \"v\": [\"打开菜单\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Collapse menu\": { \"v\": [\"折疊選單\"] }, \"Open menu\": { \"v\": [\"開啟選單\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Collapse menu\": { \"v\": [\"折疊選單\"] }, \"Open menu\": { \"v\": [\"開啟選單\"] } } }];\nconst t22 = [{ \"l\": \"ar\", \"t\": {} }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Copied\": { \"v\": [\"Zkopírováno\"] }, \"Copy to clipboard\": { \"v\": [\"Zkopírovat do schránky\"] } } }, { \"l\": \"cs-CZ\", \"t\": {} }, { \"l\": \"da\", \"t\": {} }, { \"l\": \"de\", \"t\": { \"Copied\": { \"v\": [\"Kopiert\"] }, \"Copy to clipboard\": { \"v\": [\"In die Zwischenablage kopieren\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Copied\": { \"v\": [\"Kopiert\"] }, \"Copy to clipboard\": { \"v\": [\"In die Zwischenablage kopieren\"] } } }, { \"l\": \"el\", \"t\": {} }, { \"l\": \"en-GB\", \"t\": { \"Copied\": { \"v\": [\"Copied\"] }, \"Copy to clipboard\": { \"v\": [\"Copy to clipboard\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es-AR\", \"t\": {} }, { \"l\": \"es-EC\", \"t\": {} }, { \"l\": \"es-MX\", \"t\": {} }, { \"l\": \"et-EE\", \"t\": { \"Copied\": { \"v\": [\"Kopeeritud\"] }, \"Copy to clipboard\": { \"v\": [\"Kopeeri lõikelauale\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": {} }, { \"l\": \"fi\", \"t\": {} }, { \"l\": \"fr\", \"t\": {} }, { \"l\": \"ga\", \"t\": { \"Copied\": { \"v\": [\"Cóipeáilte\"] }, \"Copy to clipboard\": { \"v\": [\"Cóipeáil chuig an ghearrthaisce\"] } } }, { \"l\": \"gl\", \"t\": { \"Copied\": { \"v\": [\"Copiado\"] }, \"Copy to clipboard\": { \"v\": [\"Copiar ao portapapeis\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"is\", \"t\": {} }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Copied\": { \"v\": [\"コピーされました\"] }, \"Copy to clipboard\": { \"v\": [\"クリップボードにコピー\"] } } }, { \"l\": \"ja-JP\", \"t\": {} }, { \"l\": \"ko\", \"t\": {} }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": {} }, { \"l\": \"nl\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": {} }, { \"l\": \"pt-BR\", \"t\": { \"Copied\": { \"v\": [\"Copiado\"] }, \"Copy to clipboard\": { \"v\": [\"Copiar para a área de transferência\"] } } }, { \"l\": \"pt-PT\", \"t\": {} }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": {} }, { \"l\": \"sk\", \"t\": {} }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": {} }, { \"l\": \"sv\", \"t\": {} }, { \"l\": \"tr\", \"t\": {} }, { \"l\": \"uk\", \"t\": {} }, { \"l\": \"uz\", \"t\": {} }, { \"l\": \"zh-CN\", \"t\": {} }, { \"l\": \"zh-HK\", \"t\": {} }, { \"l\": \"zh-TW\", \"t\": {} }];\nconst t23 = [{ \"l\": \"ar\", \"t\": { \"Edit item\": { \"v\": [\"تعديل عنصر\"] } } }, { \"l\": \"ast\", \"t\": { \"Edit item\": { \"v\": [\"Editar l'elementu\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Edit item\": { \"v\": [\"Edita l'element\"] } } }, { \"l\": \"cs\", \"t\": { \"Edit item\": { \"v\": [\"Upravit položku\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Edit item\": { \"v\": [\"Upravit položku\"] } } }, { \"l\": \"da\", \"t\": { \"Edit item\": { \"v\": [\"Rediger emne\"] } } }, { \"l\": \"de\", \"t\": { \"Edit item\": { \"v\": [\"Element bearbeiten\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Edit item\": { \"v\": [\"Element bearbeiten\"] } } }, { \"l\": \"el\", \"t\": { \"Edit item\": { \"v\": [\"Επεξεργασία αντικειμένου\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Edit item\": { \"v\": [\"Edit item\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Edit item\": { \"v\": [\"Muuda objekti\"] } } }, { \"l\": \"eu\", \"t\": { \"Edit item\": { \"v\": [\"Editatu elementua\"] } } }, { \"l\": \"fa\", \"t\": { \"Edit item\": { \"v\": [\"ویرایش مورد\"] } } }, { \"l\": \"fi\", \"t\": { \"Edit item\": { \"v\": [\"Muokkaa kohdetta\"] } } }, { \"l\": \"fr\", \"t\": { \"Edit item\": { \"v\": [\"Éditer l'élément\"] } } }, { \"l\": \"ga\", \"t\": { \"Edit item\": { \"v\": [\"Cuir mír in eagar\"] } } }, { \"l\": \"gl\", \"t\": { \"Edit item\": { \"v\": [\"Editar o elemento\"] } } }, { \"l\": \"he\", \"t\": { \"Edit item\": { \"v\": [\"עריכת פריט\"] } } }, { \"l\": \"hu\", \"t\": { \"Edit item\": { \"v\": [\"Elem szerkesztése\"] } } }, { \"l\": \"id\", \"t\": { \"Edit item\": { \"v\": [\"Edit item\"] } } }, { \"l\": \"is\", \"t\": { \"Edit item\": { \"v\": [\"Breyta atriði\"] } } }, { \"l\": \"it\", \"t\": { \"Edit item\": { \"v\": [\"Modifica l'elemento\"] } } }, { \"l\": \"ja\", \"t\": { \"Edit item\": { \"v\": [\"編集\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Edit item\": { \"v\": [\"編集\"] } } }, { \"l\": \"ko\", \"t\": { \"Edit item\": { \"v\": [\"항목 수정\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Edit item\": { \"v\": [\"Уреди\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Edit item\": { \"v\": [\"Rediger\"] } } }, { \"l\": \"nl\", \"t\": { \"Edit item\": { \"v\": [\"Item bewerken\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Edit item\": { \"v\": [\"Edytuj element\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Edit item\": { \"v\": [\"Editar item\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Edit item\": { \"v\": [\"Editar item\"] } } }, { \"l\": \"ro\", \"t\": { \"Edit item\": { \"v\": [\"Editați elementul\"] } } }, { \"l\": \"ru\", \"t\": { \"Edit item\": { \"v\": [\"Изменить элемент\"] } } }, { \"l\": \"sk\", \"t\": { \"Edit item\": { \"v\": [\"Upraviť položku\"] } } }, { \"l\": \"sl\", \"t\": { \"Edit item\": { \"v\": [\"Uredi predmet\"] } } }, { \"l\": \"sr\", \"t\": { \"Edit item\": { \"v\": [\"Уреди ставку\"] } } }, { \"l\": \"sv\", \"t\": { \"Edit item\": { \"v\": [\"Redigera objekt\"] } } }, { \"l\": \"tr\", \"t\": { \"Edit item\": { \"v\": [\"Ögeyi düzenle\"] } } }, { \"l\": \"uk\", \"t\": { \"Edit item\": { \"v\": [\"Редагувати елемент\"] } } }, { \"l\": \"uz\", \"t\": { \"Edit item\": { \"v\": [\"Elementni tahrirlash\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Edit item\": { \"v\": [\"编辑项目\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Edit item\": { \"v\": [\"編輯項目\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Edit item\": { \"v\": [\"編輯項目\"] } } }];\nconst t25 = [{ \"l\": \"ar\", \"t\": { \"Enter link\": { \"v\": [\"أدخِل الرابط\"] } } }, { \"l\": \"ast\", \"t\": { \"Enter link\": { \"v\": [\"Introducir l'enllaz\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Enter link\": { \"v\": [\"Zadat odkaz\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Enter link\": { \"v\": [\"Zadat odkaz\"] } } }, { \"l\": \"da\", \"t\": { \"Enter link\": { \"v\": [\"Indtast link\"] } } }, { \"l\": \"de\", \"t\": { \"Enter link\": { \"v\": [\"Link eingeben\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Enter link\": { \"v\": [\"Link eingeben\"] } } }, { \"l\": \"el\", \"t\": { \"Enter link\": { \"v\": [\"Εισάγετε σύνδεσμο\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Enter link\": { \"v\": [\"Enter link\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Enter link\": { \"v\": [\"Ingrese enlace\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Enter link\": { \"v\": [\"Ingresar enlace\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Enter link\": { \"v\": [\"Ingresar enlace\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Enter link\": { \"v\": [\"Ingresar enlace\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Enter link\": { \"v\": [\"Sisesta link\"] } } }, { \"l\": \"eu\", \"t\": { \"Enter link\": { \"v\": [\"Sartu esteka\"] } } }, { \"l\": \"fa\", \"t\": { \"Enter link\": { \"v\": [\"لینک را وارد کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Enter link\": { \"v\": [\"Kirjoita linkki\"] } } }, { \"l\": \"fr\", \"t\": { \"Enter link\": { \"v\": [\"Saisissez le lien\"] } } }, { \"l\": \"ga\", \"t\": { \"Enter link\": { \"v\": [\"Cuir isteach nasc\"] } } }, { \"l\": \"gl\", \"t\": { \"Enter link\": { \"v\": [\"Introducir a ligazón\"] } } }, { \"l\": \"he\", \"t\": { \"Enter link\": { \"v\": [\"מילוי קישור\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Enter link\": { \"v\": [\"Masukkan tautan\"] } } }, { \"l\": \"is\", \"t\": { \"Enter link\": { \"v\": [\"Settu inn tengil\"] } } }, { \"l\": \"it\", \"t\": { \"Enter link\": { \"v\": [\"Inserire il link\"] } } }, { \"l\": \"ja\", \"t\": { \"Enter link\": { \"v\": [\"リンクを入力する\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Enter link\": { \"v\": [\"リンクを入力する\"] } } }, { \"l\": \"ko\", \"t\": { \"Enter link\": { \"v\": [\"링크 입력\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Enter link\": { \"v\": [\"Внеси линк\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Enter link\": { \"v\": [\"Skriv inn lenken\"] } } }, { \"l\": \"nl\", \"t\": { \"Enter link\": { \"v\": [\"Link invoeren\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Enter link\": { \"v\": [\"Wprowadź link\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Enter link\": { \"v\": [\"Insira o link\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Enter link\": { \"v\": [\"Inserir hiperligação\"] } } }, { \"l\": \"ro\", \"t\": { \"Enter link\": { \"v\": [\"Introduceți link-ul\"] } } }, { \"l\": \"ru\", \"t\": { \"Enter link\": { \"v\": [\"Введите ссылку\"] } } }, { \"l\": \"sk\", \"t\": { \"Enter link\": { \"v\": [\"Vložiť link\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Enter link\": { \"v\": [\"Унесите линк\"] } } }, { \"l\": \"sv\", \"t\": { \"Enter link\": { \"v\": [\"Ange länk\"] } } }, { \"l\": \"tr\", \"t\": { \"Enter link\": { \"v\": [\"Bağlantıyı yazın\"] } } }, { \"l\": \"uk\", \"t\": { \"Enter link\": { \"v\": [\"Зазначте посилання\"] } } }, { \"l\": \"uz\", \"t\": { \"Enter link\": { \"v\": [\"Havolani kiriting\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Enter link\": { \"v\": [\"输入链接\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Enter link\": { \"v\": [\"輸入連結\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Enter link\": { \"v\": [\"輸入連結\"] } } }];\nconst t28 = [{ \"l\": \"ar\", \"t\": { \"Hide details\": { \"v\": [\"أخفِ التفاصيل\"] }, \"Rename project\": { \"v\": [\"تغيير اسم المشروع\"] }, \"Show details\": { \"v\": [\"أظهِر التفاصيل\"] } } }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Hide details\": { \"v\": [\"Skrýt podrobnosti\"] }, \"Rename project\": { \"v\": [\"Přejmenovat projekt\"] }, \"Show details\": { \"v\": [\"Zobrazit podrobnosti\"] } } }, { \"l\": \"cs-CZ\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Hide details\": { \"v\": [\"Skjul detaljer\"] }, \"Rename project\": { \"v\": [\"Omdøb projekt\"] }, \"Show details\": { \"v\": [\"Vis detaljer\"] } } }, { \"l\": \"de\", \"t\": { \"Hide details\": { \"v\": [\"Details ausblenden\"] }, \"Rename project\": { \"v\": [\"Projekt umbenennen\"] }, \"Show details\": { \"v\": [\"Details anzeigen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Hide details\": { \"v\": [\"Details ausblenden\"] }, \"Rename project\": { \"v\": [\"Projekt umbenennen\"] }, \"Show details\": { \"v\": [\"Details anzeigen\"] } } }, { \"l\": \"el\", \"t\": { \"Hide details\": { \"v\": [\"Απόκρυψη λεπτομερειών\"] }, \"Rename project\": { \"v\": [\"Μετονομασία έργου\"] }, \"Show details\": { \"v\": [\"Εμφάνιση λεπτομερειών\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Hide details\": { \"v\": [\"Hide details\"] }, \"Rename project\": { \"v\": [\"Rename project\"] }, \"Show details\": { \"v\": [\"Show details\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es-AR\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalles\"] }, \"Rename project\": { \"v\": [\"Renombrar proyecto\"] }, \"Show details\": { \"v\": [\"Mostrar detalles\"] } } }, { \"l\": \"es-EC\", \"t\": {} }, { \"l\": \"es-MX\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalles\"] }, \"Rename project\": { \"v\": [\"Renombrar proyecto\"] }, \"Show details\": { \"v\": [\"Mostrar detalles\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Hide details\": { \"v\": [\"Peida üksikasjad\"] }, \"Rename project\": { \"v\": [\"Muuda projekti nime\"] }, \"Show details\": { \"v\": [\"Näita üksikasju\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Hide details\": { \"v\": [\"پنهان کردن جزئیات\"] }, \"Rename project\": { \"v\": [\"تغییر نام پروژه\"] }, \"Show details\": { \"v\": [\"نمایش جزئیات\"] } } }, { \"l\": \"fi\", \"t\": { \"Hide details\": { \"v\": [\"Piilota yksityiskohdat\"] }, \"Rename project\": { \"v\": [\"Nimeä projekti\"] }, \"Show details\": { \"v\": [\"Näytä yksityiskohdat\"] } } }, { \"l\": \"fr\", \"t\": { \"Hide details\": { \"v\": [\"Masquer les détails\"] }, \"Rename project\": { \"v\": [\"Renommer le projet\"] }, \"Show details\": { \"v\": [\"Afficher les détails\"] } } }, { \"l\": \"ga\", \"t\": { \"Hide details\": { \"v\": [\"Folaigh sonraí\"] }, \"Rename project\": { \"v\": [\"Athainmnigh an tionscadal\"] }, \"Show details\": { \"v\": [\"Taispeáin sonraí\"] } } }, { \"l\": \"gl\", \"t\": { \"Hide details\": { \"v\": [\"Agochar os detalles\"] }, \"Rename project\": { \"v\": [\"Cambiar o nome do proxecto\"] }, \"Show details\": { \"v\": [\"Amosar os detalles\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Hide details\": { \"v\": [\"Fela nánari upplýsingar\"] }, \"Rename project\": { \"v\": [\"Endurnefna verkefni\"] }, \"Show details\": { \"v\": [\"Birta nánari upplýsingar\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Hide details\": { \"v\": [\"詳細を非表示\"] }, \"Rename project\": { \"v\": [\"プロジェクト名を変更\"] }, \"Show details\": { \"v\": [\"詳細の表示\"] } } }, { \"l\": \"ja-JP\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Hide details\": { \"v\": [\"세부 사항 숨기기\"] }, \"Rename project\": { \"v\": [\"프로젝트 이름 변경\"] }, \"Show details\": { \"v\": [\"세부 사항 보기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Hide details\": { \"v\": [\"Сокриј детали\"] }, \"Rename project\": { \"v\": [\"Преименувај проект\"] }, \"Show details\": { \"v\": [\"Прикажи детали\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Hide details\": { \"v\": [\"Skjul detaljer\"] }, \"Rename project\": { \"v\": [\"Gi prosjekt nytt navn\"] }, \"Show details\": { \"v\": [\"Vis detaljer\"] } } }, { \"l\": \"nl\", \"t\": { \"Hide details\": { \"v\": [\"Details verbergen\"] }, \"Rename project\": { \"v\": [\"Project hernoemen\"] }, \"Show details\": { \"v\": [\"Details weergeven\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Hide details\": { \"v\": [\"Ukryj szczegóły\"] }, \"Rename project\": { \"v\": [\"Zmień nazwę projektu\"] }, \"Show details\": { \"v\": [\"Pokaż szczegóły\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalhes\"] }, \"Rename project\": { \"v\": [\"Renomear projeto\"] }, \"Show details\": { \"v\": [\"Mostrar detalhes\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalhes\"] }, \"Rename project\": { \"v\": [\"Alterar nome do projeto\"] }, \"Show details\": { \"v\": [\"Ver detalhes\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Hide details\": { \"v\": [\"Скрыть подробности\"] }, \"Rename project\": { \"v\": [\"Переименовать проект\"] }, \"Show details\": { \"v\": [\"Показать детали\"] } } }, { \"l\": \"sk\", \"t\": { \"Hide details\": { \"v\": [\"Skryť detaily\"] }, \"Rename project\": { \"v\": [\"Premenovať projekt\"] }, \"Show details\": { \"v\": [\"Zobraziť detaily\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Hide details\": { \"v\": [\"Сакриј детаље\"] }, \"Rename project\": { \"v\": [\"Промени име пројекта\"] }, \"Show details\": { \"v\": [\"Прикажи детаље\"] } } }, { \"l\": \"sv\", \"t\": { \"Hide details\": { \"v\": [\"Göm detaljer\"] }, \"Rename project\": { \"v\": [\"Byt namn på projektet\"] }, \"Show details\": { \"v\": [\"Visa detaljer\"] } } }, { \"l\": \"tr\", \"t\": { \"Hide details\": { \"v\": [\"Ayrıntıları gizle\"] }, \"Rename project\": { \"v\": [\"Projeyi yeniden adlandır\"] }, \"Show details\": { \"v\": [\"Ayrıntıları görüntüle\"] } } }, { \"l\": \"uk\", \"t\": { \"Hide details\": { \"v\": [\"Сховати деталі\"] }, \"Rename project\": { \"v\": [\"Перейменувати проєкт\"] }, \"Show details\": { \"v\": [\"Показати деталі\"] } } }, { \"l\": \"uz\", \"t\": { \"Hide details\": { \"v\": [\"Tafsilotlarni yashirish\"] }, \"Rename project\": { \"v\": [\"Loyiha nomini o'zgartirish\"] }, \"Show details\": { \"v\": [\"Tafsilotlarni ko'rsatish\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Hide details\": { \"v\": [\"隐藏细节\"] }, \"Rename project\": { \"v\": [\"重命名项目\"] }, \"Show details\": { \"v\": [\"显示细节\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Hide details\": { \"v\": [\"隱藏詳情\"] }, \"Rename project\": { \"v\": [\"重命名方案\"] }, \"Show details\": { \"v\": [\"顯示詳情\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Hide details\": { \"v\": [\"隱藏詳細資料\"] }, \"Rename project\": { \"v\": [\"重新命名專案\"] }, \"Show details\": { \"v\": [\"顯示詳細資訊\"] } } }];\nconst t32 = [{ \"l\": \"ar\", \"t\": { 'Load more \"{options}\"': { \"v\": ['تحميل المزيد من \"{options}\" '] }, \"Raw link {options}\": { \"v\": [\" الرابط الخام raw link ـ {options}\"] }, \"Start typing to search\": { \"v\": [\"إبدإ كتابة مفردات البحث\"] } } }, { \"l\": \"ast\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Cargar más «{options}»\"] }, \"Raw link {options}\": { \"v\": [\"Enllaz en bruto {optiones}\"] }, \"Start typing to search\": { \"v\": [\"Comienza a escribir pa buscar\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Načíst další „{options}“\"] }, \"Raw link {options}\": { \"v\": [\"Holý odkaz {options}\"] }, \"Start typing to search\": { \"v\": [\"Vyhledávejte psaním\"] } } }, { \"l\": \"cs-CZ\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Načíst další „{options}“\"] }, \"Raw link {options}\": { \"v\": [\"Holý odkaz {options}\"] }, \"Start typing to search\": { \"v\": [\"Vyhledávejte psaním\"] } } }, { \"l\": \"da\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Indlæs flere \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Rå link {options}\"] }, \"Start typing to search\": { \"v\": [\"Begynd at skrive for at søge\"] } } }, { \"l\": \"de\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Weitere \"{options}\" laden'] }, \"Raw link {options}\": { \"v\": [\"Unverarbeiteter Link {options}\"] }, \"Start typing to search\": { \"v\": [\"Mit der Eingabe beginnen, um zu suchen\"] } } }, { \"l\": \"de-DE\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Weitere \"{options}\" laden'] }, \"Raw link {options}\": { \"v\": [\"Unverarbeiteter Link {options}\"] }, \"Start typing to search\": { \"v\": [\"Mit der Eingabe beginnen, um zu suchen\"] } } }, { \"l\": \"el\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Φόρτωση περισσότερων \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Ακατέργαστος σύνδεσμος {options}\"] }, \"Start typing to search\": { \"v\": [\"Ξεκινήστε να πληκτρολογείτε για αναζήτηση\"] } } }, { \"l\": \"en-GB\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Load more \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw link {options}\"] }, \"Start typing to search\": { \"v\": [\"Start typing to search\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Cargar más \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comience a escribir para buscar\"] } } }, { \"l\": \"es-AR\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Cargar más \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comience a escribir para buscar\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comienza a escribir para buscar\"] } } }, { \"l\": \"es-MX\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Cargar más \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comience a escribir para buscar\"] } } }, { \"l\": \"et-EE\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Laadi veel „{options}“\"] }, \"Raw link {options}\": { \"v\": [\"Töötlemata link: {options}\"] }, \"Start typing to search\": { \"v\": [\"Alusta otsinguks sisestamist\"] } } }, { \"l\": \"eu\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Kargatu \"{options}\" gehiago'] }, \"Raw link {options}\": { \"v\": [\"Formaturik gabeko esteka {aukerak}\"] }, \"Start typing to search\": { \"v\": [\"Hasi idazten bilatzeko\"] } } }, { \"l\": \"fa\", \"t\": { 'Load more \"{options}\"': { \"v\": ['بارگذاری بیشتر \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"پیوند خام {options}\"] }, \"Start typing to search\": { \"v\": [\"برای جستجو تایپ کنید\"] } } }, { \"l\": \"fi\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Lataa lisää \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raaka linkki {options}\"] }, \"Start typing to search\": { \"v\": [\"Aloita kirjoittaminen hakeaksesi\"] } } }, { \"l\": \"fr\", \"t\": { 'Load more \"{options}\"': { \"v\": [`Charger d'avantage \"{options}\"`] }, \"Raw link {options}\": { \"v\": [\"Lien brut {options}\"] }, \"Start typing to search\": { \"v\": [\"Commencez à écrire pour rechercher\"] } } }, { \"l\": \"ga\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Luchtaigh tuilleadh \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Nasc amh {roghanna}\"] }, \"Start typing to search\": { \"v\": [\"Tosaigh ag clóscríobh chun cuardach a dhéanamh\"] } } }, { \"l\": \"gl\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Cargar máis «{options}»\"] }, \"Raw link {options}\": { \"v\": [\"Ligazón sen procesar {options}\"] }, \"Start typing to search\": { \"v\": [\"Comece a escribir para buscar\"] } } }, { \"l\": \"he\", \"t\": { \"Raw link {options}\": { \"v\": [\"קישור גולמי {options}\"] }, \"Start typing to search\": { \"v\": [\"התחלת הקלדה מחפשת\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Muat \"{options}\" lainnya'] }, \"Raw link {options}\": { \"v\": [\"Tautan mentah {options}\"] }, \"Start typing to search\": { \"v\": [\"Ketik untuk mulai mencari\"] } } }, { \"l\": \"is\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Hlaða inn fleiri \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Hrár tengill {options}\"] }, \"Start typing to search\": { \"v\": [\"Byrjaðu að skrifa til að leita\"] } } }, { \"l\": \"it\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Carica più \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw link {options}\"] }, \"Start typing to search\": { \"v\": [\"Iniziare a digitare per effettuare la ricerca\"] } } }, { \"l\": \"ja\", \"t\": { 'Load more \"{options}\"': { \"v\": ['\"{options}\" をもっと読み込む'] }, \"Raw link {options}\": { \"v\": [\"未加工のリンク {options}\"] }, \"Start typing to search\": { \"v\": [\"入力を開始して検索します\"] } } }, { \"l\": \"ja-JP\", \"t\": { 'Load more \"{options}\"': { \"v\": ['\"{options}\" をもっと読み込む'] }, \"Raw link {options}\": { \"v\": [\"未加工のリンク {options}\"] }, \"Start typing to search\": { \"v\": [\"入力を開始して検索します\"] } } }, { \"l\": \"ko\", \"t\": { 'Load more \"{options}\"': { \"v\": ['\"{options}\" 더 불러오기'] }, \"Raw link {options}\": { \"v\": [\"{options} 원본 링크\"] }, \"Start typing to search\": { \"v\": [\"입력하여 검색\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Вчитај повеќе \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Суров линк {options}\"] }, \"Start typing to search\": { \"v\": [\"Почни да пишуваш за пребарување\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Last inn flere \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Rå lenke {options}\"] }, \"Start typing to search\": { \"v\": [\"Start å skrive for å søke\"] } } }, { \"l\": \"nl\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Meer \"{options}\" laden'] }, \"Raw link {options}\": { \"v\": [\"Ruwe link {options}\"] }, \"Start typing to search\": { \"v\": [\"Start met typen om te zoeken\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Załaduj więcej \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Surowy odnośnik {options}\"] }, \"Start typing to search\": { \"v\": [\"Zacznij pisać, aby wyszukać\"] } } }, { \"l\": \"pt-BR\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Carregar mais \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Link bruto {options}\"] }, \"Start typing to search\": { \"v\": [\"Comece a digitar para pesquisar\"] } } }, { \"l\": \"pt-PT\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Carregar mais \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Link inicial {options}\"] }, \"Start typing to search\": { \"v\": [\"Comece a digitar para pesquisar\"] } } }, { \"l\": \"ro\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Încarcă mai multe \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Link brut {options}\"] }, \"Start typing to search\": { \"v\": [\"Tastați pentru căutare\"] } } }, { \"l\": \"ru\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Загрузить больше \"{options}\"\"'] }, \"Raw link {options}\": { \"v\": [\"Необработанная ссылка {options}\"] }, \"Start typing to search\": { \"v\": [\"Начните вводить текст для поиска\"] } } }, { \"l\": \"sk\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Načítať viac \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw odkaz {options}\"] }, \"Start typing to search\": { \"v\": [\"Začnite písať pre vyhľadávanie\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Учитај још „{options}”\"] }, \"Raw link {options}\": { \"v\": [\"Сирови линк {options}\"] }, \"Start typing to search\": { \"v\": [\"Покрените претрагу куцањем\"] } } }, { \"l\": \"sv\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Ladda fler \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Oformaterad länk {options}\"] }, \"Start typing to search\": { \"v\": [\"Börja skriva för att söka\"] } } }, { \"l\": \"tr\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Diğer \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Ham bağlantı {options}\"] }, \"Start typing to search\": { \"v\": [\"Aramak için yazmaya başlayın\"] } } }, { \"l\": \"uk\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Завантажити більше \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Пряме посилання {options}\"] }, \"Start typing to search\": { \"v\": [\"Почніть вводити для пошуку\"] } } }, { \"l\": \"uz\", \"t\": { 'Load more \"{options}\"': { \"v\": [`Ko'proq yuklash \"{options}\"`] }, \"Raw link {options}\": { \"v\": [\" {options}satr havolasi\"] }, \"Start typing to search\": { \"v\": [\"Qidirish uchun yozishni boshlang\"] } } }, { \"l\": \"zh-CN\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"加载更多 “{options}”\"] }, \"Raw link {options}\": { \"v\": [\"原始链接 {options}\"] }, \"Start typing to search\": { \"v\": [\"开始输入以进行搜索\"] } } }, { \"l\": \"zh-HK\", \"t\": { 'Load more \"{options}\"': { \"v\": ['載入更多 \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"原始連結 {options}\"] }, \"Start typing to search\": { \"v\": [\"開始輸入以進行搜尋\"] } } }, { \"l\": \"zh-TW\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"載入更多「{options}」\"] }, \"Raw link {options}\": { \"v\": [\"原始連結 {options}\"] }, \"Start typing to search\": { \"v\": [\"開始輸入以進行搜尋\"] } } }];\nconst t34 = [{ \"l\": \"ar\", \"t\": { \"No link provider found\": { \"v\": [\"لا يوجد أيّ مزود روابط link provider\"] }, \"Write a message …\": { \"v\": [\"أكتب رسالة ...\"] } } }, { \"l\": \"ast\", \"t\": { \"No link provider found\": { \"v\": [\"Nun s'atopó nengún fornidor d'enllaces\"] }, \"Write a message …\": { \"v\": [\"Escribi un mensaxe…\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Dosaženo limitu počtu %n znaku zprávy\", \"Dosaženo limitu počtu %n znaků zprávy\", \"Dosaženo limitu počtu %n znaků zprávy\", \"Dosaženo limitu počtu %n znaků zprávy\"] }, \"No link provider found\": { \"v\": [\"Nenalezen žádný poskytovatel odkazů\"] }, \"Write a message …\": { \"v\": [\"Napište zprávu …\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"No link provider found\": { \"v\": [\"Nenalezen žádný poskytovatel odkazů\"] }, \"Write a message …\": { \"v\": [\"Napsat zprávu…\"] } } }, { \"l\": \"da\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Beskedgrænsen på %n tegn er nået\", \"Beskedgrænsen på %n tegn er nået\"] }, \"No link provider found\": { \"v\": [\"Ingen linkudbyder fundet\"] }, \"Write a message …\": { \"v\": [\"Skriv en besked ...\"] } } }, { \"l\": \"de\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Nachrichtenlimit von %n Zeichen erreicht\", \"Nachrichtenlimit von %n Zeichen erreicht\"] }, \"No link provider found\": { \"v\": [\"Kein Linkanbieter gefunden\"] }, \"Write a message …\": { \"v\": [\"Nachricht schreiben …\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Nachrichtenlimit von %n Zeichen erreicht\", \"Nachrichtenlimit von %n Zeichen erreicht\"] }, \"No link provider found\": { \"v\": [\"Kein Linkanbieter gefunden\"] }, \"Write a message …\": { \"v\": [\"Nachricht schreiben …\"] } } }, { \"l\": \"el\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Έφτασε το όριο μηνύματος των %n χαρακτήρων\", \"Έφτασε το όριο μηνύματος των %n χαρακτήρων\"] }, \"No link provider found\": { \"v\": [\"Δεν βρέθηκε πάροχος συνδέσμου\"] }, \"Write a message …\": { \"v\": [\"Γράψτε ένα μήνυμα …\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Message limit of %n character reached\", \"Message limit of %n characters reached\"] }, \"No link provider found\": { \"v\": [\"No link provider found\"] }, \"Write a message …\": { \"v\": [\"Write a message …\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"Escriba un mensaje ...\"] } } }, { \"l\": \"es-AR\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"Escriba un mensaje ...\"] } } }, { \"l\": \"es-EC\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] } } }, { \"l\": \"es-MX\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"Escriba un mensaje ...\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Sõnumi piirarv %n tähemärk on käes\", \"Sõnumi piirarv %n tähemärki on käes\"] }, \"No link provider found\": { \"v\": [\"Lingi pakkujat ei leitud\"] }, \"Write a message …\": { \"v\": [\"Koosta sõnum …\"] } } }, { \"l\": \"eu\", \"t\": { \"No link provider found\": { \"v\": [\"Ez da aurkitu esteka-hornitzailerik\"] }, \"Write a message …\": { \"v\": [\"Idatzi mezu bat…\"] } } }, { \"l\": \"fa\", \"t\": { \"No link provider found\": { \"v\": [\"هیچ ارائهدهنده پیوندی یافت نشد\"] }, \"Write a message …\": { \"v\": [\"یک پیام بنویسید ...\"] } } }, { \"l\": \"fi\", \"t\": { \"No link provider found\": { \"v\": [\"Linkin tarjoajia ei löydetty\"] }, \"Write a message …\": { \"v\": [\"Kirjoita viesti…\"] } } }, { \"l\": \"fr\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Limite de messages de %n caractère atteinte\", \"Limite de messages de %n caractères atteinte\", \"Limite de messages de %n caractères atteinte\"] }, \"No link provider found\": { \"v\": [\"Aucun fournisseur de lien trouvé\"] }, \"Write a message …\": { \"v\": [\"Ecrire un message...\"] } } }, { \"l\": \"ga\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Sroicheadh teorainn teachtaireachta de %n carachtar\", \"Sroicheadh teorainn teachtaireachta de %n carachtar\", \"Sroicheadh teorainn teachtaireachta de %n carachtar\", \"Sroicheadh teorainn teachtaireachta de %n carachtar\", \"Sroicheadh teorainn teachtaireachta de %n carachtar\"] }, \"No link provider found\": { \"v\": [\"Níor aimsíodh aon soláthraí naisc\"] }, \"Write a message …\": { \"v\": [\"Scríobh teachtaireacht …\"] } } }, { \"l\": \"gl\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Acadouse o límite de %n caracter por mensaxe\", \"Acadouse o límite de %n caracteres por mensaxe\"] }, \"No link provider found\": { \"v\": [\"Non se atopou ningún provedor de ligazóns\"] }, \"Write a message …\": { \"v\": [\"Escribir unha mensaxe…\"] } } }, { \"l\": \"he\", \"t\": { \"No link provider found\": { \"v\": [\"לא נמצא ספק קישורים\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"No link provider found\": { \"v\": [\"Tidak ada penyedia tautan yang ditemukan\"] }, \"Write a message …\": { \"v\": [\"Tulis pesan ...\"] } } }, { \"l\": \"is\", \"t\": { \"No link provider found\": { \"v\": [\"Engin tenglaveita fannst\"] }, \"Write a message …\": { \"v\": [\"Skrifaðu skilaboð …\"] } } }, { \"l\": \"it\", \"t\": { \"No link provider found\": { \"v\": [\"Nessun fornitore di link trovato\"] }, \"Write a message …\": { \"v\": [\"Scrivi un messaggio ...\"] } } }, { \"l\": \"ja\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"メッセージの%n文字の制限に達しました\"] }, \"No link provider found\": { \"v\": [\"リンクプロバイダーが見つかりません\"] }, \"Write a message …\": { \"v\": [\"メッセージを書く ...\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"No link provider found\": { \"v\": [\"リンクプロバイダーが見つかりません\"] }, \"Write a message …\": { \"v\": [\"メッセージを書く ...\"] } } }, { \"l\": \"ko\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"메시지 제한 %n자에 도달\"] }, \"No link provider found\": { \"v\": [\"링크 제공자 없음\"] }, \"Write a message …\": { \"v\": [\"메시지 작성...\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Достигнат е лимит од %n карактер\", \"Достигнат е лимит од %n карактери за порака\"] }, \"No link provider found\": { \"v\": [\"Не е пронајден давател на линк\"] }, \"Write a message …\": { \"v\": [\"Напиши порака …\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"No link provider found\": { \"v\": [\"Finner ingen lenkeleverandør\"] }, \"Write a message …\": { \"v\": [\"Skriv en melding...\"] } } }, { \"l\": \"nl\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Berichtlimiet van %n teken bereikt\", \"Berichtlimiet van %n tekens bereikt\"] }, \"No link provider found\": { \"v\": [\"Geen link provider gevonden\"] }, \"Write a message …\": { \"v\": [\"Schrijf een bericht …\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"No link provider found\": { \"v\": [\"Nie znaleziono dostawcy linków\"] }, \"Write a message …\": { \"v\": [\"Napisz wiadomość…\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Limite de mensagem de %n caractere atingido\", \"Limite de mensagem de %n de caracteres atingido\", \"Limite de mensagem de %n caracteres atingido\"] }, \"No link provider found\": { \"v\": [\"Nenhum provedor de link encontrado\"] }, \"Write a message …\": { \"v\": [\"Escreva uma mensagem …\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Limite de mensagem de %n carácter atingido\", \"Limite de mensagem de %n caracteres atingido\", \"Limite de mensagem de %n caracteres atingido\"] }, \"No link provider found\": { \"v\": [\"Nenhum fornecedor de link encontrado\"] }, \"Write a message …\": { \"v\": [\"Escreva uma mensagem...\"] } } }, { \"l\": \"ro\", \"t\": { \"No link provider found\": { \"v\": [\"Nu s-a găsit un provider pentru linkuri\"] }, \"Write a message …\": { \"v\": [\"Scrieți un mesaj ...\"] } } }, { \"l\": \"ru\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Достигнут лимит в %n символ\", \"Достигнут лимит в %n символа\", \"Достигнут лимит в %n символов\", \"Достигнут лимит в %n символов\"] }, \"No link provider found\": { \"v\": [\"Поставщик ссылок не найден\"] }, \"Write a message …\": { \"v\": [\"Напишите сообщение …\"] } } }, { \"l\": \"sk\", \"t\": { \"No link provider found\": { \"v\": [\"Žiaden odkaz poskytovateľa nebol nájdený\"] }, \"Write a message …\": { \"v\": [\"Napíšte správu…\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Достигнуто је ограничење величине поруке од %n карактер\", \"Достигнуто је ограничење величине поруке од %n карактера\", \"Достигнуто је ограничење величине поруке од %n карактера\"] }, \"No link provider found\": { \"v\": [\"Није пронађен ниједан пружалац линка\"] }, \"Write a message …\": { \"v\": [\"Напишите поруку…\"] } } }, { \"l\": \"sv\", \"t\": { \"No link provider found\": { \"v\": [\"Ingen länkleverantör hittades\"] }, \"Write a message …\": { \"v\": [\"Skriv ett meddelande …\"] } } }, { \"l\": \"tr\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"İleti için %n karakter sayısı sınırına ulaşıldı\", \"İleti için %n karakter sayısı sınırına ulaşıldı\"] }, \"No link provider found\": { \"v\": [\"Bağlantı hizmeti sağlayıcısı bulunamadı\"] }, \"Write a message …\": { \"v\": [\"Bir ileti yazın…\"] } } }, { \"l\": \"uk\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"Досягнуто обмеження на довжину повідомлення у %n символ.\", \"Досягнуто обмеження на довжину повідомлення у %n символи.\", \"Досягнуто обмеження на довжину повідомлення у%n символів.\", \"Досягнуто обмеження на довжину повідомлення у %n символів.\"] }, \"No link provider found\": { \"v\": [\"Не наведено посилання\"] }, \"Write a message …\": { \"v\": [\"Створити повідомлення …\"] } } }, { \"l\": \"uz\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\" %n ta belgidan iborat xabar chegarasiga yetdi\"] }, \"No link provider found\": { \"v\": [\"Hech qanday havola provayderi topilmadi\"] }, \"Write a message …\": { \"v\": [\"Xabar yozish...\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"No link provider found\": { \"v\": [\"未找到任何链接提供者\"] }, \"Write a message …\": { \"v\": [\"编写信息 ...\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Message limit of %n character reached\": { \"p\": \"Message limit of %n characters reached\", \"v\": [\"已達到訊息最多 %n 字元限制\"] }, \"No link provider found\": { \"v\": [\"找不到連結提供者\"] }, \"Write a message …\": { \"v\": [\"編寫訊息 …\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"No link provider found\": { \"v\": [\"找不到連結提供者\"] }, \"Write a message …\": { \"v\": [\"編寫訊息……\"] } } }];\nconst t35 = [{ \"l\": \"ar\", \"t\": { \"More items …\": { \"v\": [\"عناصر أخرى ...\"] } } }, { \"l\": \"ast\", \"t\": { \"More items …\": { \"v\": [\"Más elementos…\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"More items …\": { \"v\": [\"Més artícles...\"] } } }, { \"l\": \"cs\", \"t\": { \"More items …\": { \"v\": [\"Další položky …\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"More items …\": { \"v\": [\"Další položky…\"] } } }, { \"l\": \"da\", \"t\": { \"More items …\": { \"v\": [\"Flere elementer ...\"] } } }, { \"l\": \"de\", \"t\": { \"More items …\": { \"v\": [\"Weitere Elemente …\"] } } }, { \"l\": \"de-DE\", \"t\": { \"More items …\": { \"v\": [\"Weitere Elemente …\"] } } }, { \"l\": \"el\", \"t\": { \"More items …\": { \"v\": [\"Περισσότερα στοιχεία …\"] } } }, { \"l\": \"en-GB\", \"t\": { \"More items …\": { \"v\": [\"More items …\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"More items …\": { \"v\": [\"Más ítems ...\"] } } }, { \"l\": \"es-AR\", \"t\": { \"More items …\": { \"v\": [\"Más elementos...\"] } } }, { \"l\": \"es-EC\", \"t\": { \"More items …\": { \"v\": [\"Más elementos...\"] } } }, { \"l\": \"es-MX\", \"t\": { \"More items …\": { \"v\": [\"Más Elementos ...\"] } } }, { \"l\": \"et-EE\", \"t\": { \"More items …\": { \"v\": [\"Vaata veel …\"] } } }, { \"l\": \"eu\", \"t\": { \"More items …\": { \"v\": [\"Elementu gehiago …\"] } } }, { \"l\": \"fa\", \"t\": { \"More items …\": { \"v\": [\"موارد بیشتر ...\"] } } }, { \"l\": \"fi\", \"t\": { \"More items …\": { \"v\": [\"Lisää kohteita…\"] } } }, { \"l\": \"fr\", \"t\": { \"More items …\": { \"v\": [\"Plus d'éléments...\"] } } }, { \"l\": \"ga\", \"t\": { \"More items …\": { \"v\": [\"Tuilleadh míreanna …\"] } } }, { \"l\": \"gl\", \"t\": { \"More items …\": { \"v\": [\"Máis elementos…\"] } } }, { \"l\": \"he\", \"t\": { \"More items …\": { \"v\": [\"פריטים נוספים…\"] } } }, { \"l\": \"hu\", \"t\": { \"More items …\": { \"v\": [\"További elemek...\"] } } }, { \"l\": \"id\", \"t\": { \"More items …\": { \"v\": [\"Item lainnya…\"] } } }, { \"l\": \"is\", \"t\": { \"More items …\": { \"v\": [\"Fleiri atriði …\"] } } }, { \"l\": \"it\", \"t\": { \"More items …\": { \"v\": [\"Più elementi ...\"] } } }, { \"l\": \"ja\", \"t\": { \"More items …\": { \"v\": [\"他のアイテム …\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"More items …\": { \"v\": [\"他のアイテム\"] } } }, { \"l\": \"ko\", \"t\": { \"More items …\": { \"v\": [\"항목 더 보기...\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"More items …\": { \"v\": [\"Повеќе елементи …\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"More items …\": { \"v\": [\"Flere gjenstander...\"] } } }, { \"l\": \"nl\", \"t\": { \"More items …\": { \"v\": [\"Meer items …\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"More items …\": { \"v\": [\"Więcej pozycji…\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"More items …\": { \"v\": [\"Mais itens …\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"More items …\": { \"v\": [\"Mais itens…\"] } } }, { \"l\": \"ro\", \"t\": { \"More items …\": { \"v\": [\"Mai multe articole ...\"] } } }, { \"l\": \"ru\", \"t\": { \"More items …\": { \"v\": [\"Больше элементов …\"] } } }, { \"l\": \"sk\", \"t\": { \"More items …\": { \"v\": [\"Viac položiek...\"] } } }, { \"l\": \"sl\", \"t\": { \"More items …\": { \"v\": [\"Več predmetov ...\"] } } }, { \"l\": \"sr\", \"t\": { \"More items …\": { \"v\": [\"Још ставки...\"] } } }, { \"l\": \"sv\", \"t\": { \"More items …\": { \"v\": [\"Fler objekt …\"] } } }, { \"l\": \"tr\", \"t\": { \"More items …\": { \"v\": [\"Diğer ögeler…\"] } } }, { \"l\": \"uk\", \"t\": { \"More items …\": { \"v\": [\"Більше …\"] } } }, { \"l\": \"uz\", \"t\": { \"More items …\": { \"v\": [\"Yana elementlar...\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"More items …\": { \"v\": [\"更多项目…\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"More items …\": { \"v\": [\"更多項目 …\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"More items …\": { \"v\": [\"更多項目……\"] } } }];\nconst t36 = [{ \"l\": \"ar\", \"t\": { \"Next\": { \"v\": [\"التالي\"] }, \"Pause slideshow\": { \"v\": [\"تجميد عرض الشرائح\"] }, \"Previous\": { \"v\": [\"السابق\"] }, \"Start slideshow\": { \"v\": [\"إبدإ العرض\"] } } }, { \"l\": \"ast\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Posar la presentación de diapositives\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Aniciar la presentación de diapositives\"] } } }, { \"l\": \"br\", \"t\": { \"Next\": { \"v\": [\"Da heul\"] }, \"Pause slideshow\": { \"v\": [\"Arsav an diaporama\"] }, \"Previous\": { \"v\": [\"A-raok\"] }, \"Start slideshow\": { \"v\": [\"Kregiñ an diaporama\"] } } }, { \"l\": \"ca\", \"t\": { \"Next\": { \"v\": [\"Següent\"] }, \"Pause slideshow\": { \"v\": [\"Atura la presentació\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Inicia la presentació\"] } } }, { \"l\": \"cs\", \"t\": { \"Next\": { \"v\": [\"Následující\"] }, \"Pause slideshow\": { \"v\": [\"Pozastavit prezentaci\"] }, \"Previous\": { \"v\": [\"Předchozí\"] }, \"Start slideshow\": { \"v\": [\"Spustit prezentaci\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Next\": { \"v\": [\"Následující\"] }, \"Pause slideshow\": { \"v\": [\"Pozastavit prezentaci\"] }, \"Previous\": { \"v\": [\"Předchozí\"] }, \"Start slideshow\": { \"v\": [\"Spustit prezentaci\"] } } }, { \"l\": \"da\", \"t\": { \"Next\": { \"v\": [\"Videre\"] }, \"Pause slideshow\": { \"v\": [\"Suspender fremvisning\"] }, \"Previous\": { \"v\": [\"Forrige\"] }, \"Start slideshow\": { \"v\": [\"Start fremvisning\"] } } }, { \"l\": \"de\", \"t\": { \"Next\": { \"v\": [\"Weiter\"] }, \"Pause slideshow\": { \"v\": [\"Diashow pausieren\"] }, \"Previous\": { \"v\": [\"Vorherige\"] }, \"Start slideshow\": { \"v\": [\"Diashow starten\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Next\": { \"v\": [\"Weiter\"] }, \"Pause slideshow\": { \"v\": [\"Diashow pausieren\"] }, \"Previous\": { \"v\": [\"Vorherige\"] }, \"Start slideshow\": { \"v\": [\"Diashow starten\"] } } }, { \"l\": \"el\", \"t\": { \"Next\": { \"v\": [\"Επόμενο\"] }, \"Pause slideshow\": { \"v\": [\"Παύση προβολής διαφανειών\"] }, \"Previous\": { \"v\": [\"Προηγούμενο\"] }, \"Start slideshow\": { \"v\": [\"Έναρξη προβολής διαφανειών\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Next\": { \"v\": [\"Next\"] }, \"Pause slideshow\": { \"v\": [\"Pause slideshow\"] }, \"Previous\": { \"v\": [\"Previous\"] }, \"Start slideshow\": { \"v\": [\"Start slideshow\"] } } }, { \"l\": \"eo\", \"t\": { \"Next\": { \"v\": [\"Sekva\"] }, \"Pause slideshow\": { \"v\": [\"Payzi bildprezenton\"] }, \"Previous\": { \"v\": [\"Antaŭa\"] }, \"Start slideshow\": { \"v\": [\"Komenci bildprezenton\"] } } }, { \"l\": \"es\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar la presentación \"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar la presentación\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar la presentación \"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar la presentación\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar presentación de diapositivas\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar presentación de diapositivas\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar presentación de diapositivas\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar presentación de diapositivas\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Next\": { \"v\": [\"Edasi\"] }, \"Pause slideshow\": { \"v\": [\"Slaidiesitluse paus\"] }, \"Previous\": { \"v\": [\"Eelmine\"] }, \"Start slideshow\": { \"v\": [\"Alusta slaidiesitust\"] } } }, { \"l\": \"eu\", \"t\": { \"Next\": { \"v\": [\"Hurrengoa\"] }, \"Pause slideshow\": { \"v\": [\"Pausatu diaporama\"] }, \"Previous\": { \"v\": [\"Aurrekoa\"] }, \"Start slideshow\": { \"v\": [\"Hasi diaporama\"] } } }, { \"l\": \"fa\", \"t\": { \"Next\": { \"v\": [\"بعدی\"] }, \"Pause slideshow\": { \"v\": [\"توقف نمایش اسلاید\"] }, \"Previous\": { \"v\": [\"قبلی\"] }, \"Start slideshow\": { \"v\": [\"شروع نمایش اسلاید\"] } } }, { \"l\": \"fi\", \"t\": { \"Next\": { \"v\": [\"Seuraava\"] }, \"Pause slideshow\": { \"v\": [\"Keskeytä diaesitys\"] }, \"Previous\": { \"v\": [\"Edellinen\"] }, \"Start slideshow\": { \"v\": [\"Aloita diaesitys\"] } } }, { \"l\": \"fr\", \"t\": { \"Next\": { \"v\": [\"Suivant\"] }, \"Pause slideshow\": { \"v\": [\"Mettre le diaporama en pause\"] }, \"Previous\": { \"v\": [\"Précédent\"] }, \"Start slideshow\": { \"v\": [\"Démarrer le diaporama\"] } } }, { \"l\": \"ga\", \"t\": { \"Next\": { \"v\": [\"Ar aghaidh\"] }, \"Pause slideshow\": { \"v\": [\"Cuir taispeántas sleamhnán ar sos\"] }, \"Previous\": { \"v\": [\"Roimhe Seo\"] }, \"Start slideshow\": { \"v\": [\"Tosaigh taispeántas sleamhnán\"] } } }, { \"l\": \"gl\", \"t\": { \"Next\": { \"v\": [\"Seguinte\"] }, \"Pause slideshow\": { \"v\": [\"Pausar o diaporama\"] }, \"Previous\": { \"v\": [\"Anterir\"] }, \"Start slideshow\": { \"v\": [\"Iniciar o diaporama\"] } } }, { \"l\": \"he\", \"t\": { \"Next\": { \"v\": [\"הבא\"] }, \"Pause slideshow\": { \"v\": [\"השהיית מצגת\"] }, \"Previous\": { \"v\": [\"הקודם\"] }, \"Start slideshow\": { \"v\": [\"התחלת המצגת\"] } } }, { \"l\": \"hu\", \"t\": { \"Next\": { \"v\": [\"Következő\"] }, \"Pause slideshow\": { \"v\": [\"Diavetítés szüneteltetése\"] }, \"Previous\": { \"v\": [\"Előző\"] }, \"Start slideshow\": { \"v\": [\"Diavetítés indítása\"] } } }, { \"l\": \"id\", \"t\": { \"Next\": { \"v\": [\"Selanjutnya\"] }, \"Pause slideshow\": { \"v\": [\"Jeda tayangan slide\"] }, \"Previous\": { \"v\": [\"Sebelumnya\"] }, \"Start slideshow\": { \"v\": [\"Mulai salindia\"] } } }, { \"l\": \"is\", \"t\": { \"Next\": { \"v\": [\"Næsta\"] }, \"Pause slideshow\": { \"v\": [\"Gera hlé á skyggnusýningu\"] }, \"Previous\": { \"v\": [\"Fyrri\"] }, \"Start slideshow\": { \"v\": [\"Byrja skyggnusýningu\"] } } }, { \"l\": \"it\", \"t\": { \"Next\": { \"v\": [\"Successivo\"] }, \"Pause slideshow\": { \"v\": [\"Presentazione in pausa\"] }, \"Previous\": { \"v\": [\"Precedente\"] }, \"Start slideshow\": { \"v\": [\"Avvia presentazione\"] } } }, { \"l\": \"ja\", \"t\": { \"Next\": { \"v\": [\"次\"] }, \"Pause slideshow\": { \"v\": [\"スライドショーを一時停止\"] }, \"Previous\": { \"v\": [\"前\"] }, \"Start slideshow\": { \"v\": [\"スライドショーを開始\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Next\": { \"v\": [\"次\"] }, \"Pause slideshow\": { \"v\": [\"スライドショーを一時停止\"] }, \"Previous\": { \"v\": [\"前\"] }, \"Start slideshow\": { \"v\": [\"スライドショーを開始\"] } } }, { \"l\": \"ko\", \"t\": { \"Next\": { \"v\": [\"다음\"] }, \"Pause slideshow\": { \"v\": [\"슬라이드쇼 일시정지\"] }, \"Previous\": { \"v\": [\"이전\"] }, \"Start slideshow\": { \"v\": [\"슬라이드쇼 시작\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Next\": { \"v\": [\"Kitas\"] }, \"Pause slideshow\": { \"v\": [\"Pristabdyti skaidrių rodymą\"] }, \"Previous\": { \"v\": [\"Ankstesnis\"] }, \"Start slideshow\": { \"v\": [\"Pradėti skaidrių rodymą\"] } } }, { \"l\": \"lv\", \"t\": { \"Next\": { \"v\": [\"Nākamais\"] }, \"Pause slideshow\": { \"v\": [\"Pauzēt slaidrādi\"] }, \"Previous\": { \"v\": [\"Iepriekšējais\"] }, \"Start slideshow\": { \"v\": [\"Sākt slaidrādi\"] } } }, { \"l\": \"mk\", \"t\": { \"Next\": { \"v\": [\"Следно\"] }, \"Pause slideshow\": { \"v\": [\"Пузирај слајдшоу\"] }, \"Previous\": { \"v\": [\"Предходно\"] }, \"Start slideshow\": { \"v\": [\"Стартувај слајдшоу\"] } } }, { \"l\": \"my\", \"t\": { \"Next\": { \"v\": [\"နောက်သို့ဆက်ရန်\"] }, \"Pause slideshow\": { \"v\": [\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\"] }, \"Previous\": { \"v\": [\"ယခင်\"] }, \"Start slideshow\": { \"v\": [\"စလိုက်ရှိုးအား စတင်ရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Next\": { \"v\": [\"Neste\"] }, \"Pause slideshow\": { \"v\": [\"Pause lysbildefremvisning\"] }, \"Previous\": { \"v\": [\"Forrige\"] }, \"Start slideshow\": { \"v\": [\"Start lysbildefremvisning\"] } } }, { \"l\": \"nl\", \"t\": { \"Next\": { \"v\": [\"Volgende\"] }, \"Pause slideshow\": { \"v\": [\"Diavoorstelling pauzeren\"] }, \"Previous\": { \"v\": [\"Vorige\"] }, \"Start slideshow\": { \"v\": [\"Diavoorstelling starten\"] } } }, { \"l\": \"oc\", \"t\": { \"Next\": { \"v\": [\"Seguent\"] }, \"Pause slideshow\": { \"v\": [\"Metre en pausa lo diaporama\"] }, \"Previous\": { \"v\": [\"Precedent\"] }, \"Start slideshow\": { \"v\": [\"Lançar lo diaporama\"] } } }, { \"l\": \"pl\", \"t\": { \"Next\": { \"v\": [\"Następny\"] }, \"Pause slideshow\": { \"v\": [\"Wstrzymaj pokaz slajdów\"] }, \"Previous\": { \"v\": [\"Poprzedni\"] }, \"Start slideshow\": { \"v\": [\"Rozpocznij pokaz slajdów\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Next\": { \"v\": [\"Próximo\"] }, \"Pause slideshow\": { \"v\": [\"Pausar apresentação de slides\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar apresentação de slides\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Next\": { \"v\": [\"Seguinte\"] }, \"Pause slideshow\": { \"v\": [\"Pausar diaporama\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar diaporama\"] } } }, { \"l\": \"ro\", \"t\": { \"Next\": { \"v\": [\"Următorul\"] }, \"Pause slideshow\": { \"v\": [\"Pauză prezentare de diapozitive\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Începeți prezentarea de diapozitive\"] } } }, { \"l\": \"ru\", \"t\": { \"Next\": { \"v\": [\"Следующее\"] }, \"Pause slideshow\": { \"v\": [\"Приостановить показ слйдов\"] }, \"Previous\": { \"v\": [\"Предыдущее\"] }, \"Start slideshow\": { \"v\": [\"Начать показ слайдов\"] } } }, { \"l\": \"sk\", \"t\": { \"Next\": { \"v\": [\"Ďalej\"] }, \"Pause slideshow\": { \"v\": [\"Pozastaviť prezentáciu\"] }, \"Previous\": { \"v\": [\"Predchádzajúce\"] }, \"Start slideshow\": { \"v\": [\"Začať prezentáciu\"] } } }, { \"l\": \"sl\", \"t\": { \"Next\": { \"v\": [\"Naslednji\"] }, \"Pause slideshow\": { \"v\": [\"Ustavi predstavitev\"] }, \"Previous\": { \"v\": [\"Predhodni\"] }, \"Start slideshow\": { \"v\": [\"Začni predstavitev\"] } } }, { \"l\": \"sr\", \"t\": { \"Next\": { \"v\": [\"Следеће\"] }, \"Pause slideshow\": { \"v\": [\"Паузирај слајд шоу\"] }, \"Previous\": { \"v\": [\"Претходно\"] }, \"Start slideshow\": { \"v\": [\"Покрени слајд шоу\"] } } }, { \"l\": \"sv\", \"t\": { \"Next\": { \"v\": [\"Nästa\"] }, \"Pause slideshow\": { \"v\": [\"Pausa bildspelet\"] }, \"Previous\": { \"v\": [\"Föregående\"] }, \"Start slideshow\": { \"v\": [\"Starta bildspelet\"] } } }, { \"l\": \"tr\", \"t\": { \"Next\": { \"v\": [\"Sonraki\"] }, \"Pause slideshow\": { \"v\": [\"Slayt sunumunu duraklat\"] }, \"Previous\": { \"v\": [\"Önceki\"] }, \"Start slideshow\": { \"v\": [\"Slayt sunumunu başlat\"] } } }, { \"l\": \"uk\", \"t\": { \"Next\": { \"v\": [\"Вперед\"] }, \"Pause slideshow\": { \"v\": [\"Пауза у показі слайдів\"] }, \"Previous\": { \"v\": [\"Назад\"] }, \"Start slideshow\": { \"v\": [\"Почати показ слайдів\"] } } }, { \"l\": \"uz\", \"t\": { \"Next\": { \"v\": [\"Keyingi\"] }, \"Pause slideshow\": { \"v\": [\"Slayd-shouni to'xtatib turish\"] }, \"Previous\": { \"v\": [\"Oldingi\"] }, \"Start slideshow\": { \"v\": [\"Slayd-shouni boshlash\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Next\": { \"v\": [\"下一个\"] }, \"Pause slideshow\": { \"v\": [\"暂停幻灯片\"] }, \"Previous\": { \"v\": [\"上一个\"] }, \"Start slideshow\": { \"v\": [\"开始幻灯片\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Next\": { \"v\": [\"下一個\"] }, \"Pause slideshow\": { \"v\": [\"暫停幻燈片\"] }, \"Previous\": { \"v\": [\"上一個\"] }, \"Start slideshow\": { \"v\": [\"開始幻燈片\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Next\": { \"v\": [\"下一個\"] }, \"Pause slideshow\": { \"v\": [\"暫停幻燈片\"] }, \"Previous\": { \"v\": [\"上一個\"] }, \"Start slideshow\": { \"v\": [\"開始幻燈片\"] } } }];\nconst t37 = [{ \"l\": \"ar\", \"t\": { \"No emoji found\": { \"v\": [\"لم يتم العثور على أي إيموجي emoji\"] } } }, { \"l\": \"ast\", \"t\": { \"No emoji found\": { \"v\": [\"Nun s'atopó nengún fustaxe\"] } } }, { \"l\": \"br\", \"t\": { \"No emoji found\": { \"v\": [\"Emoji ebet kavet\"] } } }, { \"l\": \"ca\", \"t\": { \"No emoji found\": { \"v\": [\"No s'ha trobat cap emoji\"] } } }, { \"l\": \"cs\", \"t\": { \"No emoji found\": { \"v\": [\"Nenalezeno žádné emoji\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"No emoji found\": { \"v\": [\"Nenalezeno žádné emoji\"] } } }, { \"l\": \"da\", \"t\": { \"No emoji found\": { \"v\": [\"Ingen emoji fundet\"] } } }, { \"l\": \"de\", \"t\": { \"No emoji found\": { \"v\": [\"Kein Emoji gefunden\"] } } }, { \"l\": \"de-DE\", \"t\": { \"No emoji found\": { \"v\": [\"Kein Emoji gefunden\"] } } }, { \"l\": \"el\", \"t\": { \"No emoji found\": { \"v\": [\"Δεν βρέθηκε emoji\"] } } }, { \"l\": \"en-GB\", \"t\": { \"No emoji found\": { \"v\": [\"No emoji found\"] } } }, { \"l\": \"eo\", \"t\": { \"No emoji found\": { \"v\": [\"La emoĝio forestas\"] } } }, { \"l\": \"es\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es-AR\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es-EC\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es-MX\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"et-EE\", \"t\": { \"No emoji found\": { \"v\": [\"Emojit ei leitud\"] } } }, { \"l\": \"eu\", \"t\": { \"No emoji found\": { \"v\": [\"Ez da emojirik aurkitu\"] } } }, { \"l\": \"fa\", \"t\": { \"No emoji found\": { \"v\": [\"هیچ شکلکی یافت نشد\"] } } }, { \"l\": \"fi\", \"t\": { \"No emoji found\": { \"v\": [\"Emojia ei löytynyt\"] } } }, { \"l\": \"fr\", \"t\": { \"No emoji found\": { \"v\": [\"Pas d’émoji trouvé\"] } } }, { \"l\": \"ga\", \"t\": { \"No emoji found\": { \"v\": [\"Níor aimsíodh emoji\"] } } }, { \"l\": \"gl\", \"t\": { \"No emoji found\": { \"v\": [\"Non se atopou ningún «emoji»\"] } } }, { \"l\": \"he\", \"t\": { \"No emoji found\": { \"v\": [\"לא נמצא אמוג׳י\"] } } }, { \"l\": \"hu\", \"t\": { \"No emoji found\": { \"v\": [\"Nem található emodzsi\"] } } }, { \"l\": \"id\", \"t\": { \"No emoji found\": { \"v\": [\"Tidak ada emoji yang ditemukan\"] } } }, { \"l\": \"is\", \"t\": { \"No emoji found\": { \"v\": [\"Ekkert tjáningartákn fannst\"] } } }, { \"l\": \"it\", \"t\": { \"No emoji found\": { \"v\": [\"Nessun emoji trovato\"] } } }, { \"l\": \"ja\", \"t\": { \"No emoji found\": { \"v\": [\"絵文字が見つかりません\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"No emoji found\": { \"v\": [\"絵文字が見つかりません\"] } } }, { \"l\": \"ko\", \"t\": { \"No emoji found\": { \"v\": [\"이모지 없음\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"No emoji found\": { \"v\": [\"Nerasta jaustukų\"] } } }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"No emoji found\": { \"v\": [\"Не се пронајдени емотикони\"] } } }, { \"l\": \"my\", \"t\": { \"No emoji found\": { \"v\": [\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"No emoji found\": { \"v\": [\"Fant ingen emoji\"] } } }, { \"l\": \"nl\", \"t\": { \"No emoji found\": { \"v\": [\"Geen emoji gevonden\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"No emoji found\": { \"v\": [\"Nie znaleziono emoji\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"No emoji found\": { \"v\": [\"Nenhum emoji encontrado\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"No emoji found\": { \"v\": [\"Nenhum emoji encontrado\"] } } }, { \"l\": \"ro\", \"t\": { \"No emoji found\": { \"v\": [\"Nu s-a găsit niciun emoji\"] } } }, { \"l\": \"ru\", \"t\": { \"No emoji found\": { \"v\": [\"Эмодзи не найдено\"] } } }, { \"l\": \"sk\", \"t\": { \"No emoji found\": { \"v\": [\"Nenašli sa žiadne emodži\"] } } }, { \"l\": \"sl\", \"t\": { \"No emoji found\": { \"v\": [\"Ni najdenih izraznih ikon\"] } } }, { \"l\": \"sr\", \"t\": { \"No emoji found\": { \"v\": [\"Није пронађен ниједан емођи\"] } } }, { \"l\": \"sv\", \"t\": { \"No emoji found\": { \"v\": [\"Hittade inga emojis\"] } } }, { \"l\": \"tr\", \"t\": { \"No emoji found\": { \"v\": [\"Herhangi bir emoji bulunamadı\"] } } }, { \"l\": \"uk\", \"t\": { \"No emoji found\": { \"v\": [\"Емоційки відсутні\"] } } }, { \"l\": \"uz\", \"t\": { \"No emoji found\": { \"v\": [\"Hech qanday emoji topilmadi\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"No emoji found\": { \"v\": [\"表情未找到\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"No emoji found\": { \"v\": [\"未找到表情符號\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"No emoji found\": { \"v\": [\"未找到表情符號\"] } } }];\nconst t38 = [{ \"l\": \"ar\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['إفتَح الرابط إلى \"{resourceName}\"'] } } }, { \"l\": \"ast\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Abrir l'enllaz a «{resourceName}»\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Otevřít odkaz na „{resourceName}“\"] } } }, { \"l\": \"cs-CZ\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Otevřít odkaz na „{resourceName}“\"] } } }, { \"l\": \"da\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Åbn link til \"{resourceName}\"'] } } }, { \"l\": \"de\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Link zu \"{resourceName}\" öffnen'] } } }, { \"l\": \"de-DE\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Link zu \"{resourceName}\" öffnen'] } } }, { \"l\": \"el\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Άνοιγμα συνδέσμου για \"{resourceName}\"'] } } }, { \"l\": \"en-GB\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Open link to \"{resourceName}\"'] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es-AR\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es-EC\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es-MX\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"et-EE\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Ava link „{resourceName}“\"] } } }, { \"l\": \"eu\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Ireki \"{resourceName}\" esteka'] } } }, { \"l\": \"fa\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"باز کردن پیوند به «{resourceName}»\"] } } }, { \"l\": \"fi\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Avaa linkki \"{resourceName}\"'] } } }, { \"l\": \"fr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Ouvrir le lien vers \"{resourceName}\"'] } } }, { \"l\": \"ga\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Oscail nasc chuig \"{resourceName}\"'] } } }, { \"l\": \"gl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Abrir a ligazón a «{resourceName}»\"] } } }, { \"l\": \"he\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"פתיחת קישור אל „{resourceName}”\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Buka tautan ke \"{resourceName}\"'] } } }, { \"l\": \"is\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Opna tengil í \"{resourceName}\"'] } } }, { \"l\": \"it\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Apri il link a \"{resourceName}\"'] } } }, { \"l\": \"ja\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['\"{resourceName}\" へのリンクを開く'] } } }, { \"l\": \"ja-JP\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['\"{resourceName}\" へのリンクを開く'] } } }, { \"l\": \"ko\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['\"{resourceName}\"의 링크 열기'] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Отвори линк до \"{resourceName}\"'] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Åpne lenken til \"{resourceName}\"'] } } }, { \"l\": \"nl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Link naar \"{resourceName}\" openen'] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Otwórz link do \"{resourceName}\"'] } } }, { \"l\": \"pt-BR\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir o link para \"{resourceName}\"'] } } }, { \"l\": \"pt-PT\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir link para \"{resourceName}\"'] } } }, { \"l\": \"ro\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Deschide linkul la \"{resourceName}\"'] } } }, { \"l\": \"ru\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Открыть ссылку на \"{resourceName}\"'] } } }, { \"l\": \"sk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Otvoriť link v \"{resourceName}\"'] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Отвори линк на „{resourceName}”\"] } } }, { \"l\": \"sv\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Öppna länken till \"{resourceName}\"'] } } }, { \"l\": \"tr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Bağlantıyı \"{resourceName}\" üzerine aç'] } } }, { \"l\": \"uk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Відкрити посилання на \"{resourceName}\"'] } } }, { \"l\": \"uz\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [' \"{resourceName}\" ga havolani ochish'] } } }, { \"l\": \"zh-CN\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"打开 “{resourceName}” 的链接\"] } } }, { \"l\": \"zh-HK\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"開啟到「{resourceName}」的連結\"] } } }, { \"l\": \"zh-TW\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"開啟到「{resourceName}」的連結\"] } } }];\nconst t40 = [{ \"l\": \"ar\", \"t\": { \"Provider icon\": { \"v\": [\"أيقونة المزوّد\"] } } }, { \"l\": \"ast\", \"t\": { \"Provider icon\": { \"v\": [\"Iconu del fornidor\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Provider icon\": { \"v\": [\"Ikona poskytovatele\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Provider icon\": { \"v\": [\"Ikona poskytovatele\"] } } }, { \"l\": \"da\", \"t\": { \"Provider icon\": { \"v\": [\"Udbyder ikon\"] } } }, { \"l\": \"de\", \"t\": { \"Provider icon\": { \"v\": [\"Anbietersymbol\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Provider icon\": { \"v\": [\"Anbietersymbol\"] } } }, { \"l\": \"el\", \"t\": { \"Provider icon\": { \"v\": [\"Εικονίδιο παρόχου\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Provider icon\": { \"v\": [\"Provider icon\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Provider icon\": { \"v\": [\"Teenusepakkuja ikoon\"] } } }, { \"l\": \"eu\", \"t\": { \"Provider icon\": { \"v\": [\"Hornitzailearen ikonoa\"] } } }, { \"l\": \"fa\", \"t\": { \"Provider icon\": { \"v\": [\"آیکون ارائه دهنده\"] } } }, { \"l\": \"fi\", \"t\": { \"Provider icon\": { \"v\": [\"Palveluntarjoajan kuvake\"] } } }, { \"l\": \"fr\", \"t\": { \"Provider icon\": { \"v\": [\"Icône du fournisseur\"] } } }, { \"l\": \"ga\", \"t\": { \"Provider icon\": { \"v\": [\"Deilbhín soláthraí\"] } } }, { \"l\": \"gl\", \"t\": { \"Provider icon\": { \"v\": [\"Icona do provedor\"] } } }, { \"l\": \"he\", \"t\": { \"Provider icon\": { \"v\": [\"סמל ספק\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Provider icon\": { \"v\": [\"Ikon penyedia\"] } } }, { \"l\": \"is\", \"t\": { \"Provider icon\": { \"v\": [\"Táknmynd þjónustuveitu\"] } } }, { \"l\": \"it\", \"t\": { \"Provider icon\": { \"v\": [\"Icona del provider\"] } } }, { \"l\": \"ja\", \"t\": { \"Provider icon\": { \"v\": [\"プロバイダーのアイコン\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Provider icon\": { \"v\": [\"プロバイダーのアイコン\"] } } }, { \"l\": \"ko\", \"t\": { \"Provider icon\": { \"v\": [\"제공자 아이콘\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Provider icon\": { \"v\": [\"Икона на давател\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Provider icon\": { \"v\": [\"Leverandørikon\"] } } }, { \"l\": \"nl\", \"t\": { \"Provider icon\": { \"v\": [\"Provider-pictogram\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Provider icon\": { \"v\": [\"Dostawca ikony\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Provider icon\": { \"v\": [\"Ícone do provedor\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Provider icon\": { \"v\": [\"Ícone do fornecedor\"] } } }, { \"l\": \"ro\", \"t\": { \"Provider icon\": { \"v\": [\"Provider pentru icon\"] } } }, { \"l\": \"ru\", \"t\": { \"Provider icon\": { \"v\": [\"Значок поставщика\"] } } }, { \"l\": \"sk\", \"t\": { \"Provider icon\": { \"v\": [\"Ikonka poskytovateľa\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Provider icon\": { \"v\": [\"Икона пружаоца\"] } } }, { \"l\": \"sv\", \"t\": { \"Provider icon\": { \"v\": [\"Leverantörsikon\"] } } }, { \"l\": \"tr\", \"t\": { \"Provider icon\": { \"v\": [\"Hizmet sağlayıcı simgesi\"] } } }, { \"l\": \"uk\", \"t\": { \"Provider icon\": { \"v\": [\"Піктограма постачальника\"] } } }, { \"l\": \"uz\", \"t\": { \"Provider icon\": { \"v\": [\"Provayder belgisi\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Provider icon\": { \"v\": [\"提供者图标\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Provider icon\": { \"v\": [\"提供者圖示\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Provider icon\": { \"v\": [\"提供者圖示\"] } } }];\nconst t41 = [{ \"l\": \"ar\", \"t\": { \"Related team resources\": { \"v\": [\"موارد للفريق ذات صلة\"] }, \"View team\": { \"v\": [\"عرض الفريق\"] } } }, { \"l\": \"ast\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos rellacionaos colos equipos\"] }, \"View team\": { \"v\": [\"Ver l'equipu\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Related team resources\": { \"v\": [\"Související prostředky kolektivu\"] }, \"View team\": { \"v\": [\"Zobrazit kolektiv\"] } } }, { \"l\": \"cs-CZ\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Related team resources\": { \"v\": [\"Relaterede teamressourcer\"] }, \"View team\": { \"v\": [\"Se teamet\"] } } }, { \"l\": \"de\", \"t\": { \"Related team resources\": { \"v\": [\"Verwandte Team-Ressourcen\"] }, \"View team\": { \"v\": [\"Team anzeigen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Related team resources\": { \"v\": [\"Verwandte Team-Ressourcen\"] }, \"View team\": { \"v\": [\"Team anzeigen\"] } } }, { \"l\": \"el\", \"t\": { \"Related team resources\": { \"v\": [\"Σχετικοί πόροι ομάδας\"] }, \"View team\": { \"v\": [\"Προβολή ομάδας\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Related team resources\": { \"v\": [\"Related team resources\"] }, \"View team\": { \"v\": [\"View team\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver equipo\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver equipo\"] } } }, { \"l\": \"es-EC\", \"t\": {} }, { \"l\": \"es-MX\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver equipo\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Related team resources\": { \"v\": [\"Tiimi seotud ressursid\"] }, \"View team\": { \"v\": [\"Vaata tiimi\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Related team resources\": { \"v\": [\"منابع تیمی مرتبط\"] }, \"View team\": { \"v\": [\"مشاهده گروه\"] } } }, { \"l\": \"fi\", \"t\": { \"Related team resources\": { \"v\": [\"Liittyvät tiimiresurssit\"] }, \"View team\": { \"v\": [\"Näytä tiimi\"] } } }, { \"l\": \"fr\", \"t\": { \"Related team resources\": { \"v\": [\"Ressources d'équipe associées\"] }, \"View team\": { \"v\": [\"Voir l'équipe\"] } } }, { \"l\": \"ga\", \"t\": { \"Related team resources\": { \"v\": [\"Acmhainní foirne gaolmhara\"] }, \"View team\": { \"v\": [\"Féach ar an bhfoireann\"] } } }, { \"l\": \"gl\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver o equipo\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Related team resources\": { \"v\": [\"Tengd tilföng teymis\"] }, \"View team\": { \"v\": [\"Skoða teymi\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Related team resources\": { \"v\": [\"チームの関連リソース\"] }, \"View team\": { \"v\": [\"チームを表示\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Related team resources\": { \"v\": [\"チームの関連リソース\"] }, \"View team\": { \"v\": [\"チームを表示\"] } } }, { \"l\": \"ko\", \"t\": { \"Related team resources\": { \"v\": [\"관련 팀 리소스\"] }, \"View team\": { \"v\": [\"팀 보기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Related team resources\": { \"v\": [\"Поврзани ресурси на тимот\"] }, \"View team\": { \"v\": [\"Прикажи тим\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Related team resources\": { \"v\": [\"Relaterte lagressurser\"] }, \"View team\": { \"v\": [\"Se lag\"] } } }, { \"l\": \"nl\", \"t\": { \"Related team resources\": { \"v\": [\"Verwante teambronnen\"] }, \"View team\": { \"v\": [\"Team bekijken\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Related team resources\": { \"v\": [\"Powiązane zasoby grupowe\"] }, \"View team\": { \"v\": [\"Zobacz grupę\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipe relacionados\"] }, \"View team\": { \"v\": [\"Ver equipe\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos relacionados com a equipa\"] }, \"View team\": { \"v\": [\"Ver equipa\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Related team resources\": { \"v\": [\"Связанные командные ресурсы\"] }, \"View team\": { \"v\": [\"Просмотр команды\"] } } }, { \"l\": \"sk\", \"t\": { \"Related team resources\": { \"v\": [\"Súvisiace tímové zdroje\"] }, \"View team\": { \"v\": [\"Zobraziť tím\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Related team resources\": { \"v\": [\"Повезани тимски ресурси\"] }, \"View team\": { \"v\": [\"Прикажи тим\"] } } }, { \"l\": \"sv\", \"t\": { \"Related team resources\": { \"v\": [\"Relaterade teamresurser\"] }, \"View team\": { \"v\": [\"Visa team\"] } } }, { \"l\": \"tr\", \"t\": { \"Related team resources\": { \"v\": [\"İlgili takım kaynakları\"] }, \"View team\": { \"v\": [\"Takımı görüntüle\"] } } }, { \"l\": \"uk\", \"t\": { \"Related team resources\": { \"v\": [\"Пов'язані ресурси команди\"] }, \"View team\": { \"v\": [\"Переглянути команду\"] } } }, { \"l\": \"uz\", \"t\": { \"Related team resources\": { \"v\": [\"Tegishli jamoa resurslari\"] }, \"View team\": { \"v\": [\"Jamoani ko'rish\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Related team resources\": { \"v\": [\"相关团队资源\"] }, \"View team\": { \"v\": [\"查看团队\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Related team resources\": { \"v\": [\"相關團隊資源\"] }, \"View team\": { \"v\": [\"查看團隊\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Related team resources\": { \"v\": [\"相關團隊資源\"] }, \"View team\": { \"v\": [\"檢視團隊\"] } } }];\nconst t42 = [{ \"l\": \"ar\", \"t\": { \"Search\": { \"v\": [\"بحث\"] } } }, { \"l\": \"ast\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"br\", \"t\": { \"Search\": { \"v\": [\"Klask\"] } } }, { \"l\": \"ca\", \"t\": { \"Search\": { \"v\": [\"Cerca\"] } } }, { \"l\": \"cs\", \"t\": { \"Search\": { \"v\": [\"Hledat\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Search\": { \"v\": [\"Hledat\"] } } }, { \"l\": \"da\", \"t\": { \"Search\": { \"v\": [\"Søg\"] } } }, { \"l\": \"de\", \"t\": { \"Search\": { \"v\": [\"Suche\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Search\": { \"v\": [\"Suche\"] } } }, { \"l\": \"el\", \"t\": { \"Search\": { \"v\": [\"Αναζήτηση\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Search\": { \"v\": [\"Search\"] } } }, { \"l\": \"eo\", \"t\": { \"Search\": { \"v\": [\"Serĉi\"] } } }, { \"l\": \"es\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Search\": { \"v\": [\"Otsing\"] } } }, { \"l\": \"eu\", \"t\": { \"Search\": { \"v\": [\"Bilatu\"] } } }, { \"l\": \"fa\", \"t\": { \"Search\": { \"v\": [\"جستجو\"] } } }, { \"l\": \"fi\", \"t\": { \"Search\": { \"v\": [\"Etsi\"] } } }, { \"l\": \"fr\", \"t\": { \"Search\": { \"v\": [\"Rechercher\"] } } }, { \"l\": \"ga\", \"t\": { \"Search\": { \"v\": [\"Cuardach\"] } } }, { \"l\": \"gl\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"he\", \"t\": { \"Search\": { \"v\": [\"חיפוש\"] } } }, { \"l\": \"hu\", \"t\": { \"Search\": { \"v\": [\"Keresés\"] } } }, { \"l\": \"id\", \"t\": { \"Search\": { \"v\": [\"Cari\"] } } }, { \"l\": \"is\", \"t\": { \"Search\": { \"v\": [\"Leita\"] } } }, { \"l\": \"it\", \"t\": { \"Search\": { \"v\": [\"Cerca\"] } } }, { \"l\": \"ja\", \"t\": { \"Search\": { \"v\": [\"検索\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Search\": { \"v\": [\"検索\"] } } }, { \"l\": \"ko\", \"t\": { \"Search\": { \"v\": [\"검색\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Search\": { \"v\": [\"Ieškoti\"] } } }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Search\": { \"v\": [\"Барај\"] } } }, { \"l\": \"my\", \"t\": { \"Search\": { \"v\": [\"ရှာဖွေရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Search\": { \"v\": [\"Søk\"] } } }, { \"l\": \"nl\", \"t\": { \"Search\": { \"v\": [\"Zoeken\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Search\": { \"v\": [\"Szukaj\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Search\": { \"v\": [\"Pesquisar\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Search\": { \"v\": [\"Pesquisar\"] } } }, { \"l\": \"ro\", \"t\": { \"Search\": { \"v\": [\"Căutare\"] } } }, { \"l\": \"ru\", \"t\": { \"Search\": { \"v\": [\"Поиск\"] } } }, { \"l\": \"sk\", \"t\": { \"Search\": { \"v\": [\"Hľadať\"] } } }, { \"l\": \"sl\", \"t\": { \"Search\": { \"v\": [\"Iskanje\"] } } }, { \"l\": \"sr\", \"t\": { \"Search\": { \"v\": [\"Претражи\"] } } }, { \"l\": \"sv\", \"t\": { \"Search\": { \"v\": [\"Sök\"] } } }, { \"l\": \"tr\", \"t\": { \"Search\": { \"v\": [\"Ara\"] } } }, { \"l\": \"uk\", \"t\": { \"Search\": { \"v\": [\"Пошук\"] } } }, { \"l\": \"uz\", \"t\": { \"Search\": { \"v\": [\"Qidiruv\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Search\": { \"v\": [\"搜索\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Search\": { \"v\": [\"搜尋\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Search\": { \"v\": [\"搜尋\"] } } }];\nconst t45 = [{ \"l\": \"ar\", \"t\": { \"Select provider\": { \"v\": [\"اختر مزود\"] } } }, { \"l\": \"ast\", \"t\": { \"Select provider\": { \"v\": [\"Seleicionar el fornidor\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Select provider\": { \"v\": [\"Vybrat poskytovatele\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Select provider\": { \"v\": [\"Vybrat poskytovatele\"] } } }, { \"l\": \"da\", \"t\": { \"Select provider\": { \"v\": [\"Vælg udbyder\"] } } }, { \"l\": \"de\", \"t\": { \"Select provider\": { \"v\": [\"Anbieter auswählen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Select provider\": { \"v\": [\"Anbieter auswählen\"] } } }, { \"l\": \"el\", \"t\": { \"Select provider\": { \"v\": [\"Επιλογή παρόχου\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Select provider\": { \"v\": [\"Select provider\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Select provider\": { \"v\": [\"Seleccione proveedor\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Select provider\": { \"v\": [\"Elija proveedor\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Select provider\": { \"v\": [\"Seleccionar proveedor\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Select provider\": { \"v\": [\"Seleccionar proveedor\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Select provider\": { \"v\": [\"Vali teenuspakkuja\"] } } }, { \"l\": \"eu\", \"t\": { \"Select provider\": { \"v\": [\"Hautatu hornitzailea\"] } } }, { \"l\": \"fa\", \"t\": { \"Select provider\": { \"v\": [\"ارائه دهنده را انتخاب کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Select provider\": { \"v\": [\"Valitse tarjoaja\"] } } }, { \"l\": \"fr\", \"t\": { \"Select provider\": { \"v\": [\"Sélectionner un fournisseur\"] } } }, { \"l\": \"ga\", \"t\": { \"Select provider\": { \"v\": [\"Roghnaigh soláthraí\"] } } }, { \"l\": \"gl\", \"t\": { \"Select provider\": { \"v\": [\"Seleccione o provedor\"] } } }, { \"l\": \"he\", \"t\": { \"Select provider\": { \"v\": [\"בחירת ספק\"] } } }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Select provider\": { \"v\": [\"Pilih penyedia\"] } } }, { \"l\": \"is\", \"t\": { \"Select provider\": { \"v\": [\"Veldu þjónustuveitu\"] } } }, { \"l\": \"it\", \"t\": { \"Select provider\": { \"v\": [\"Selezionare il provider\"] } } }, { \"l\": \"ja\", \"t\": { \"Select provider\": { \"v\": [\"プロバイダーを選択\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Select provider\": { \"v\": [\"プロバイダーを選択\"] } } }, { \"l\": \"ko\", \"t\": { \"Select provider\": { \"v\": [\"제공자 선택\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Select provider\": { \"v\": [\"Избери провајдер\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Select provider\": { \"v\": [\"Velg leverandør\"] } } }, { \"l\": \"nl\", \"t\": { \"Select provider\": { \"v\": [\"Selecteer provider\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Select provider\": { \"v\": [\"Wybierz dostawcę\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Select provider\": { \"v\": [\"Selecione provedor\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Select provider\": { \"v\": [\"Selecionar fornecedor\"] } } }, { \"l\": \"ro\", \"t\": { \"Select provider\": { \"v\": [\"Selectați providerul\"] } } }, { \"l\": \"ru\", \"t\": { \"Select provider\": { \"v\": [\"Выбрать поставщика\"] } } }, { \"l\": \"sk\", \"t\": { \"Select provider\": { \"v\": [\"Vybrať poskytovateľa\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Select provider\": { \"v\": [\"Изаберите пружаоца\"] } } }, { \"l\": \"sv\", \"t\": { \"Select provider\": { \"v\": [\"Välj leverantör\"] } } }, { \"l\": \"tr\", \"t\": { \"Select provider\": { \"v\": [\"Hizmet sağlayıcı seçin\"] } } }, { \"l\": \"uk\", \"t\": { \"Select provider\": { \"v\": [\"Виберіть постачальника\"] } } }, { \"l\": \"uz\", \"t\": { \"Select provider\": { \"v\": [\"Provayderni tanlang\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Select provider\": { \"v\": [\"选择提供者\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Select provider\": { \"v\": [\"選擇提供者\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Select provider\": { \"v\": [\"選取提供者\"] } } }];\nconst t48 = [{ \"l\": \"ar\", \"t\": { \"Submit\": { \"v\": [\"إرسال\"] } } }, { \"l\": \"ast\", \"t\": { \"Submit\": { \"v\": [\"Unviar\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Submit\": { \"v\": [\"Envia\"] } } }, { \"l\": \"cs\", \"t\": { \"Submit\": { \"v\": [\"Odeslat\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Submit\": { \"v\": [\"Odeslat\"] } } }, { \"l\": \"da\", \"t\": { \"Submit\": { \"v\": [\"Send\"] } } }, { \"l\": \"de\", \"t\": { \"Submit\": { \"v\": [\"Einreichen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Submit\": { \"v\": [\"Einreichen\"] } } }, { \"l\": \"el\", \"t\": { \"Submit\": { \"v\": [\"Υποβολή\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Submit\": { \"v\": [\"Submit\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Submit\": { \"v\": [\"Saada\"] } } }, { \"l\": \"eu\", \"t\": { \"Submit\": { \"v\": [\"Bidali\"] } } }, { \"l\": \"fa\", \"t\": { \"Submit\": { \"v\": [\"ارسال\"] } } }, { \"l\": \"fi\", \"t\": { \"Submit\": { \"v\": [\"Lähetä\"] } } }, { \"l\": \"fr\", \"t\": { \"Submit\": { \"v\": [\"Valider\"] } } }, { \"l\": \"ga\", \"t\": { \"Submit\": { \"v\": [\"Cuir isteach\"] } } }, { \"l\": \"gl\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"he\", \"t\": { \"Submit\": { \"v\": [\"הגשה\"] } } }, { \"l\": \"hu\", \"t\": { \"Submit\": { \"v\": [\"Beküldés\"] } } }, { \"l\": \"id\", \"t\": { \"Submit\": { \"v\": [\"Kirimkan\"] } } }, { \"l\": \"is\", \"t\": { \"Submit\": { \"v\": [\"Senda inn\"] } } }, { \"l\": \"it\", \"t\": { \"Submit\": { \"v\": [\"Invia\"] } } }, { \"l\": \"ja\", \"t\": { \"Submit\": { \"v\": [\"提出\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Submit\": { \"v\": [\"提出\"] } } }, { \"l\": \"ko\", \"t\": { \"Submit\": { \"v\": [\"제출\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Submit\": { \"v\": [\"Pateikti\"] } } }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Submit\": { \"v\": [\"Испрати\"] } } }, { \"l\": \"my\", \"t\": { \"Submit\": { \"v\": [\"တင်သွင်းရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Submit\": { \"v\": [\"Send\"] } } }, { \"l\": \"nl\", \"t\": { \"Submit\": { \"v\": [\"Indienen\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Submit\": { \"v\": [\"Wyślij\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Submit\": { \"v\": [\"Submeter\"] } } }, { \"l\": \"ro\", \"t\": { \"Submit\": { \"v\": [\"Trimiteți\"] } } }, { \"l\": \"ru\", \"t\": { \"Submit\": { \"v\": [\"Утвердить\"] } } }, { \"l\": \"sk\", \"t\": { \"Submit\": { \"v\": [\"Odoslať\"] } } }, { \"l\": \"sl\", \"t\": { \"Submit\": { \"v\": [\"Pošlji\"] } } }, { \"l\": \"sr\", \"t\": { \"Submit\": { \"v\": [\"Поднеси\"] } } }, { \"l\": \"sv\", \"t\": { \"Submit\": { \"v\": [\"Skicka\"] } } }, { \"l\": \"tr\", \"t\": { \"Submit\": { \"v\": [\"Gönder\"] } } }, { \"l\": \"uk\", \"t\": { \"Submit\": { \"v\": [\"Надіслати\"] } } }, { \"l\": \"uz\", \"t\": { \"Submit\": { \"v\": [\"Yuborish\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Submit\": { \"v\": [\"提交\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Submit\": { \"v\": [\"提交\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Submit\": { \"v\": [\"遞交\"] } } }];\nconst t49 = [{ \"l\": \"ar\", \"t\": { \"Unable to search the group\": { \"v\": [\"تعذّر البحث في المجموعة\"] } } }, { \"l\": \"ast\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nun ye posible buscar el grupu\"] } } }, { \"l\": \"br\", \"t\": { \"Unable to search the group\": { \"v\": [\"Dibosupl eo klask ar strollad\"] } } }, { \"l\": \"ca\", \"t\": { \"Unable to search the group\": { \"v\": [\"No es pot cercar el grup\"] } } }, { \"l\": \"cs\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nedaří se hledat skupinu\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nedaří se hledat skupinu\"] } } }, { \"l\": \"da\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kan ikke søge på denne gruppe\"] } } }, { \"l\": \"de\", \"t\": { \"Unable to search the group\": { \"v\": [\"Die Gruppe kann nicht durchsucht werden\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Unable to search the group\": { \"v\": [\"Die Gruppe kann nicht durchsucht werden\"] } } }, { \"l\": \"el\", \"t\": { \"Unable to search the group\": { \"v\": [\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Unable to search the group\": { \"v\": [\"Unable to search the group\"] } } }, { \"l\": \"eo\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ne eblas serĉi en la grupo\"] } } }, { \"l\": \"es\", \"t\": { \"Unable to search the group\": { \"v\": [\"No es posible buscar en el grupo\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Unable to search the group\": { \"v\": [\"No se puede buscar el grupo\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Unable to search the group\": { \"v\": [\"No se puede buscar en el grupo\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Unable to search the group\": { \"v\": [\"No fue posible buscar en el grupo\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Unable to search the group\": { \"v\": [\"Gruppi ei ole võimalik otsida\"] } } }, { \"l\": \"eu\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ezin izan da taldea bilatu\"] } } }, { \"l\": \"fa\", \"t\": { \"Unable to search the group\": { \"v\": [\"امکان جستجوی گروه وجود ندارد\"] } } }, { \"l\": \"fi\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ryhmää ei voi hakea\"] } } }, { \"l\": \"fr\", \"t\": { \"Unable to search the group\": { \"v\": [\"Impossible de chercher le groupe\"] } } }, { \"l\": \"ga\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ní féidir an grúpa a chuardach\"] } } }, { \"l\": \"gl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Non foi posíbel buscar o grupo\"] } } }, { \"l\": \"he\", \"t\": { \"Unable to search the group\": { \"v\": [\"לא ניתן לחפש בקבוצה\"] } } }, { \"l\": \"hu\", \"t\": { \"Unable to search the group\": { \"v\": [\"A csoport nem kereshető\"] } } }, { \"l\": \"id\", \"t\": { \"Unable to search the group\": { \"v\": [\"Tidak dapat mencari dalam grup\"] } } }, { \"l\": \"is\", \"t\": { \"Unable to search the group\": { \"v\": [\"Get ekki leitað í hópnum\"] } } }, { \"l\": \"it\", \"t\": { \"Unable to search the group\": { \"v\": [\"Impossibile cercare il gruppo\"] } } }, { \"l\": \"ja\", \"t\": { \"Unable to search the group\": { \"v\": [\"グループを検索できません\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Unable to search the group\": { \"v\": [\"グループを検索できません\"] } } }, { \"l\": \"ko\", \"t\": { \"Unable to search the group\": { \"v\": [\"그룹을 검색할 수 없음\"] } } }, { \"l\": \"lt-LT\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nepavyko atlikti paiešką grupėje\"] } } }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Unable to search the group\": { \"v\": [\"Неможе да се пронајде групата\"] } } }, { \"l\": \"my\", \"t\": { \"Unable to search the group\": { \"v\": [\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kunne ikke søke i gruppen\"] } } }, { \"l\": \"nl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kan niet zoeken in de groep\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nie można przeszukać grupy\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Unable to search the group\": { \"v\": [\"Não foi possível pesquisar o grupo\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Unable to search the group\": { \"v\": [\"Não é possível pesquisar o grupo\"] } } }, { \"l\": \"ro\", \"t\": { \"Unable to search the group\": { \"v\": [\"Imposibilitatea de a căuta în grup\"] } } }, { \"l\": \"ru\", \"t\": { \"Unable to search the group\": { \"v\": [\"Невозможно найти группу\"] } } }, { \"l\": \"sk\", \"t\": { \"Unable to search the group\": { \"v\": [\"Skupinu sa nepodarilo nájsť\"] } } }, { \"l\": \"sl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ni mogoče iskati po skupini\"] } } }, { \"l\": \"sr\", \"t\": { \"Unable to search the group\": { \"v\": [\"Група не може да се претражи\"] } } }, { \"l\": \"sv\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kunde inte söka i gruppen\"] } } }, { \"l\": \"tr\", \"t\": { \"Unable to search the group\": { \"v\": [\"Grupta arama yapılamadı\"] } } }, { \"l\": \"uk\", \"t\": { \"Unable to search the group\": { \"v\": [\"Неможливо шукати в групі\"] } } }, { \"l\": \"uz\", \"t\": { \"Unable to search the group\": { \"v\": [\"Guruhni qidirish imkonsiz\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Unable to search the group\": { \"v\": [\"无法搜索分组\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Unable to search the group\": { \"v\": [\"無法搜尋群組\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Unable to search the group\": { \"v\": [\"無法搜尋群組\"] } } }];\nconst t50 = [{ \"l\": \"ar\", \"t\": { \"Undo changes\": { \"v\": [\"تراجَع عن التغييرات\"] } } }, { \"l\": \"ast\", \"t\": { \"Undo changes\": { \"v\": [\"Desfacer los cambeos\"] } } }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"ca\", \"t\": { \"Undo changes\": { \"v\": [\"Desfés els canvis\"] } } }, { \"l\": \"cs\", \"t\": { \"Undo changes\": { \"v\": [\"Vzít změny zpět\"] } } }, { \"l\": \"cs-CZ\", \"t\": { \"Undo changes\": { \"v\": [\"Vzít změny zpět\"] } } }, { \"l\": \"da\", \"t\": { \"Undo changes\": { \"v\": [\"Fortryd ændringer\"] } } }, { \"l\": \"de\", \"t\": { \"Undo changes\": { \"v\": [\"Änderungen rückgängig machen\"] } } }, { \"l\": \"de-DE\", \"t\": { \"Undo changes\": { \"v\": [\"Änderungen rückgängig machen\"] } } }, { \"l\": \"el\", \"t\": { \"Undo changes\": { \"v\": [\"Αναίρεση Αλλαγών\"] } } }, { \"l\": \"en-GB\", \"t\": { \"Undo changes\": { \"v\": [\"Undo changes\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es-AR\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es-EC\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es-MX\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"et-EE\", \"t\": { \"Undo changes\": { \"v\": [\"Pööra muudatused tagasi\"] } } }, { \"l\": \"eu\", \"t\": { \"Undo changes\": { \"v\": [\"Aldaketak desegin\"] } } }, { \"l\": \"fa\", \"t\": { \"Undo changes\": { \"v\": [\"لغو تغییرات\"] } } }, { \"l\": \"fi\", \"t\": { \"Undo changes\": { \"v\": [\"Kumoa muutokset\"] } } }, { \"l\": \"fr\", \"t\": { \"Undo changes\": { \"v\": [\"Annuler les changements\"] } } }, { \"l\": \"ga\", \"t\": { \"Undo changes\": { \"v\": [\"Cealaigh athruithe\"] } } }, { \"l\": \"gl\", \"t\": { \"Undo changes\": { \"v\": [\"Desfacer os cambios\"] } } }, { \"l\": \"he\", \"t\": { \"Undo changes\": { \"v\": [\"ביטול שינויים\"] } } }, { \"l\": \"hu\", \"t\": { \"Undo changes\": { \"v\": [\"Változtatások visszavonása\"] } } }, { \"l\": \"id\", \"t\": { \"Undo changes\": { \"v\": [\"Urungkan perubahan\"] } } }, { \"l\": \"is\", \"t\": { \"Undo changes\": { \"v\": [\"Afturkalla breytingar\"] } } }, { \"l\": \"it\", \"t\": { \"Undo changes\": { \"v\": [\"Cancella i cambiamenti\"] } } }, { \"l\": \"ja\", \"t\": { \"Undo changes\": { \"v\": [\"変更を取り消し\"] } } }, { \"l\": \"ja-JP\", \"t\": { \"Undo changes\": { \"v\": [\"変更を取り消し\"] } } }, { \"l\": \"ko\", \"t\": { \"Undo changes\": { \"v\": [\"변경 되돌리기\"] } } }, { \"l\": \"lt-LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": { \"Undo changes\": { \"v\": [\"Врати ги промените\"] } } }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Undo changes\": { \"v\": [\"Tilbakestill endringer\"] } } }, { \"l\": \"nl\", \"t\": { \"Undo changes\": { \"v\": [\"Wijzigingen ongedaan maken\"] } } }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Undo changes\": { \"v\": [\"Cofnij zmiany\"] } } }, { \"l\": \"pt-BR\", \"t\": { \"Undo changes\": { \"v\": [\"Desfazer modificações\"] } } }, { \"l\": \"pt-PT\", \"t\": { \"Undo changes\": { \"v\": [\"Anular alterações\"] } } }, { \"l\": \"ro\", \"t\": { \"Undo changes\": { \"v\": [\"Anularea modificărilor\"] } } }, { \"l\": \"ru\", \"t\": { \"Undo changes\": { \"v\": [\"Отменить изменения\"] } } }, { \"l\": \"sk\", \"t\": { \"Undo changes\": { \"v\": [\"Vrátiť zmeny\"] } } }, { \"l\": \"sl\", \"t\": { \"Undo changes\": { \"v\": [\"Razveljavi spremembe\"] } } }, { \"l\": \"sr\", \"t\": { \"Undo changes\": { \"v\": [\"Поништи измене\"] } } }, { \"l\": \"sv\", \"t\": { \"Undo changes\": { \"v\": [\"Ångra ändringar\"] } } }, { \"l\": \"tr\", \"t\": { \"Undo changes\": { \"v\": [\"Değişiklikleri geri al\"] } } }, { \"l\": \"uk\", \"t\": { \"Undo changes\": { \"v\": [\"Скасувати зміни\"] } } }, { \"l\": \"uz\", \"t\": { \"Undo changes\": { \"v\": [\"O'zgarishlarni bekor qilish\"] } } }, { \"l\": \"zh-CN\", \"t\": { \"Undo changes\": { \"v\": [\"撤销更改\"] } } }, { \"l\": \"zh-HK\", \"t\": { \"Undo changes\": { \"v\": [\"取消更改\"] } } }, { \"l\": \"zh-TW\", \"t\": { \"Undo changes\": { \"v\": [\"還原變更\"] } } }];\nexport {\n t11 as A,\n t38 as B,\n t41 as C,\n t9 as D,\n t15 as E,\n t8 as F,\n t45 as G,\n t40 as H,\n t25 as I,\n t32 as J,\n t12 as K,\n t as a,\n t2 as b,\n t22 as c,\n t17 as d,\n t49 as e,\n t0 as f,\n t14 as g,\n t48 as h,\n t10 as i,\n t42 as j,\n t37 as k,\n t16 as l,\n t5 as m,\n t35 as n,\n t36 as o,\n t19 as p,\n t4 as q,\n register as r,\n t34 as s,\n t3 as t,\n n as u,\n t28 as v,\n t6 as w,\n t21 as x,\n t50 as y,\n t23 as z\n};\n//# sourceMappingURL=_l10n-CWKr1fUH.mjs.map\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = config ? config.env : {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters, config) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.12.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import { getRequestToken, onRequestTokenUpdate } from \"@nextcloud/auth\";\nimport Axios, { isAxiosError } from \"axios\";\nimport { isAxiosError as isAxiosError2, isCancel } from \"axios\";\nimport { generateUrl } from \"@nextcloud/router\";\n/*!\n * SPDX-License-Identifier: GPL-3.0-or-later\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n */\nconst client = Axios.create({\n headers: {\n requesttoken: getRequestToken() ?? \"\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n});\nonRequestTokenUpdate((token) => {\n client.defaults.headers.requesttoken = token;\n});\nconst cancelableClient = Object.assign(client, {\n CancelToken: Axios.CancelToken,\n isCancel: Axios.isCancel\n});\nconst RETRY_KEY = Symbol(\"csrf-retry\");\nfunction onCsrfTokenError(axios) {\n return async (error) => {\n if (!isAxiosError(error)) {\n throw error;\n }\n const { config, response, request } = error;\n const responseURL = request?.responseURL;\n if (config && !config[RETRY_KEY] && response?.status === 412 && response?.data?.message === \"CSRF check failed\") {\n console.warn(`Request to ${responseURL} failed because of a CSRF mismatch. Fetching a new token`);\n const { data: { token } } = await axios.get(generateUrl(\"/csrftoken\"));\n console.debug(`New request token ${token} fetched`);\n axios.defaults.headers.requesttoken = token;\n return axios({\n ...config,\n headers: {\n ...config.headers,\n requesttoken: token\n },\n [RETRY_KEY]: true\n });\n }\n throw error;\n };\n}\nconst RETRY_DELAY_KEY = Symbol(\"retryDelay\");\nfunction onMaintenanceModeError(axios) {\n return async (error) => {\n if (!isAxiosError(error)) {\n throw error;\n }\n const { config, response, request } = error;\n const responseURL = request?.responseURL;\n const status = response?.status;\n const headers = response?.headers;\n let retryDelay = typeof config?.[RETRY_DELAY_KEY] === \"number\" ? config?.[RETRY_DELAY_KEY] : 1;\n if (status === 503 && headers?.[\"x-nextcloud-maintenance-mode\"] === \"1\" && config?.retryIfMaintenanceMode) {\n retryDelay *= 2;\n if (retryDelay > 32) {\n console.error(\"Retry delay exceeded one minute, giving up.\", { responseURL });\n throw error;\n }\n console.warn(`Request to ${responseURL} failed because of maintenance mode. Retrying in ${retryDelay}s`);\n await new Promise((resolve) => {\n setTimeout(resolve, retryDelay * 1e3);\n });\n return axios({\n ...config,\n [RETRY_DELAY_KEY]: retryDelay\n });\n }\n throw error;\n };\n}\nasync function onNotLoggedInError(error) {\n if (isAxiosError(error)) {\n const { config, response, request } = error;\n const responseURL = request?.responseURL;\n const status = response?.status;\n if (status === 401 && response?.data?.message === \"Current user is not logged in\" && config?.reloadExpiredSession && window?.location) {\n console.error(`Request to ${responseURL} failed because the user session expired. Reloading the page …`);\n window.location.reload();\n }\n }\n throw error;\n}\ncancelableClient.interceptors.response.use((r) => r, onCsrfTokenError(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onMaintenanceModeError(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onNotLoggedInError);\nexport {\n cancelableClient as default,\n isAxiosError2 as isAxiosError,\n isCancel\n};\n//# sourceMappingURL=index.mjs.map\n","window._nc_vue_element_id = window._nc_vue_element_id ?? 0;\nfunction createElementId() {\n return `nc-vue-${window._nc_vue_element_id++}`;\n}\nexport {\n createElementId as c\n};\n//# sourceMappingURL=createElementId-DhjFt1I9.mjs.map\n","import '../assets/NcLoadingIcon-CWUlo4XY.css';\nimport { defineComponent, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, toDisplayString } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = [\"aria-label\"];\nconst _hoisted_2 = [\"width\", \"height\"];\nconst _hoisted_3 = [\"fill\"];\nconst _hoisted_4 = [\"fill\"];\nconst _hoisted_5 = { key: 0 };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcLoadingIcon\",\n props: {\n appearance: { default: \"auto\" },\n name: { default: \"\" },\n size: { default: 20 }\n },\n setup(__props) {\n const props = __props;\n const colors = computed(() => {\n const colors2 = [\"#777\", \"#CCC\"];\n if (props.appearance === \"light\") {\n return colors2;\n } else if (props.appearance === \"dark\") {\n return colors2.reverse();\n }\n return [\"var(--color-loading-light)\", \"var(--color-loading-dark)\"];\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"span\", {\n \"aria-label\": _ctx.name,\n role: \"img\",\n class: \"material-design-icon loading-icon\"\n }, [\n (openBlock(), createElementBlock(\"svg\", {\n width: _ctx.size,\n height: _ctx.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", {\n fill: colors.value[0],\n d: \"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z\"\n }, null, 8, _hoisted_3),\n createElementVNode(\"path\", {\n fill: colors.value[1],\n d: \"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z\"\n }, [\n _ctx.name ? (openBlock(), createElementBlock(\"title\", _hoisted_5, toDisplayString(_ctx.name), 1)) : createCommentVNode(\"\", true)\n ], 8, _hoisted_4)\n ], 8, _hoisted_2))\n ], 8, _hoisted_1);\n };\n }\n});\nconst NcLoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-cf399190\"]]);\nexport {\n NcLoadingIcon as N\n};\n//# sourceMappingURL=NcLoadingIcon-b_ajZ_nQ.mjs.map\n","/*!\n* tabbable 6.3.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\n// NOTE: separate `:not()` selectors has broader browser support than the newer\n// `:not([inert], [inert] *)` (Feb 2023)\n// CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes\n// the entire query to fail, resulting in no nodes found, which will break a lot\n// of things... so we have to rely on JS to identify nodes inside an inert container\nvar candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function (element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n\n/**\n * Determines if a node is inert or in an inert ancestor.\n * @param {Element} [node]\n * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n * see if any of them are inert. If false, only `node` itself is considered.\n * @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n * False if `node` is falsy.\n */\nvar _isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`\n // JS API property; we have to check the attribute, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's an active element\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');\n var inert = inertAtt === '' || inertAtt === 'true';\n\n // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`\n // if it weren't for `matches()` not being a function on shadow roots; the following\n // code works for any kind of node\n // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`\n // so it likely would not support `:is([inert] *)` either...\n var result = inert || lookUp && node && _isInert(node.parentNode); // recursive\n\n return result;\n};\n\n/**\n * Determines if a node's content is editable.\n * @param {Element} [node]\n * @returns True if it's content-editable; false if it's not or `node` is falsy.\n */\nvar isContentEditable = function isContentEditable(node) {\n var _node$getAttribute2;\n // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have\n // to use the attribute directly to check for this, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's a non-editable element\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');\n return attValue === '' || attValue === 'true';\n};\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n // even if `includeContainer=false`, we still have to check it for inertness because\n // if it's inert, all its children are inert\n if (_isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidateScope\n * @property {Element} scopeParent contains inner candidates\n * @property {Element[]} candidates list of candidates found in the scope parent\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.<Element|CandidateScope>}\n */\nvar _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (_isInert(element, false)) {\n // no need to look up since we're drilling down\n // anything inside this container will also be inert\n continue;\n }\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = _getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n var shadowRoot = element.shadowRoot ||\n // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n\n // no inert look up because we're already drilling down and checking for inertness\n // on the way down, so all containers to this root node should have already been\n // vetted as non-inert\n var validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\n\n/**\n * @private\n * Determines if the node has an explicitly specified `tabindex` attribute.\n * @param {HTMLElement} node\n * @returns {boolean} True if so; false if not.\n */\nvar hasTabIndex = function hasTabIndex(node) {\n return !isNaN(parseInt(node.getAttribute('tabindex'), 10));\n};\n\n/**\n * Determine the tab index of a given node.\n * @param {HTMLElement} node\n * @returns {number} Tab order (negative, 0, or positive number).\n * @throws {Error} If `node` is falsy.\n */\nvar getTabIndex = function getTabIndex(node) {\n if (!node) {\n throw new Error('No node provided');\n }\n if (node.tabIndex < 0) {\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n // Also browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\n\n/**\n * Determine the tab index of a given node __for sort order purposes__.\n * @param {HTMLElement} node\n * @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,\n * has tabIndex -1, but needs to be sorted by document order in order for its content to be\n * inserted into the correct sort position.\n * @returns {number} Tab order (negative, 0, or positive number).\n */\nvar getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput(node) {\n return node.tagName === 'INPUT';\n};\nvar isHiddenInput = function isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n};\nvar isDetailsWithSummary = function isDetailsWithSummary(node) {\n var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {\n return child.tagName === 'SUMMARY';\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio(node) {\n return isInput(node) && node.type === 'radio';\n};\nvar isNonTabbableRadio = function isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\n\n// determines if a node is ultimately attached to the window's document\nvar isNodeAttached = function isNodeAttached(node) {\n var _nodeRoot;\n // The root node is the shadow root if the node is in a shadow DOM; some document otherwise\n // (but NOT _the_ document; see second 'If' comment below for more).\n // If rootNode is shadow root, it'll have a host, which is the element to which the shadow\n // is attached, and the one we need to check if it's in the document or not (because the\n // shadow, and all nodes it contains, is never considered in the document since shadows\n // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,\n // is hidden, or is not in the document itself but is detached, it will affect the shadow's\n // visibility, including all the nodes it contains). The host could be any normal node,\n // or a custom element (i.e. web component). Either way, that's the one that is considered\n // part of the document, not the shadow root, nor any of its children (i.e. the node being\n // tested).\n // To further complicate things, we have to look all the way up until we find a shadow HOST\n // that is attached (or find none) because the node might be in nested shadows...\n // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the\n // document (per the docs) and while it's a Document-type object, that document does not\n // appear to be the same as the node's `ownerDocument` for some reason, so it's safer\n // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,\n // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when\n // node is actually detached.\n // NOTE: If `nodeRootHost` or `node` happens to be the `document` itself (which is possible\n // if a tabbable/focusable node was quickly added to the DOM, focused, and then removed\n // from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then\n // `ownerDocument` will be `null`, hence the optional chaining on it.\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n\n // in some cases, a detached node will return itself as the root instead of a document or\n // shadow root object, in which case, we shouldn't try to look further up the host chain\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,\n // which means we need to get the host's host and check if that parent host is contained\n // in (i.e. attached to) the document\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n width = _node$getBoundingClie.width,\n height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden(node, _ref) {\n var displayCheck = _ref.displayCheck,\n getShadowRoot = _ref.getShadowRoot;\n if (displayCheck === 'full-native') {\n if ('checkVisibility' in node) {\n // Chrome >= 105, Edge >= 105, Firefox >= 106, Safari >= 17.4\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Element/checkVisibility#browser_compatibility\n var visible = node.checkVisibility({\n // Checking opacity might be desirable for some use cases, but natively,\n // opacity zero elements _are_ focusable and tabbable.\n checkOpacity: false,\n opacityProperty: false,\n contentVisibilityAuto: true,\n visibilityProperty: true,\n // This is an alias for `visibilityProperty`. Contemporary browsers\n // support both. However, this alias has wider browser support (Chrome\n // >= 105 and Firefox >= 106, vs. Chrome >= 121 and Firefox >= 122), so\n // we include it anyway.\n checkVisibilityCSS: true\n });\n return !visible;\n }\n // Fall through to manual visibility checks\n }\n\n // NOTE: visibility will be `undefined` if node is detached from the document\n // (see notes about this further down), which means we will consider it visible\n // (this is legacy behavior from a very long way back)\n // NOTE: we check this regardless of `displayCheck=\"none\"` because this is a\n // _visibility_ check, not a _display_ check\n if (getComputedStyle(node).visibility === 'hidden') {\n return true;\n }\n var isDirectSummary = matches.call(node, 'details>summary:first-of-type');\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n return true;\n }\n if (!displayCheck || displayCheck === 'full' ||\n // full-native can run this branch when it falls through in case\n // Element#checkVisibility is unsupported\n displayCheck === 'full-native' || displayCheck === 'legacy-full') {\n if (typeof getShadowRoot === 'function') {\n // figure out if we should consider the node to be in an undisclosed shadow and use the\n // 'non-zero-area' fallback\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow\n ) {\n // node has an undisclosed shadow which means we can only treat it as a black box, so we\n // fall back to a non-zero-area test\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n // iterate up slot\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n // cross shadow boundary\n node = rootNode.host;\n } else {\n // iterate up normal dom\n node = parentElement;\n }\n }\n node = originalNode;\n }\n // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support\n // (i.e. it does not also presume that all nodes might have undisclosed shadows); or\n // it might be a falsy value, which means shadow DOM support is disabled\n\n // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)\n // now we can just test to see if it would normally be visible or not, provided it's\n // attached to the main document.\n // NOTE: We must consider case where node is inside a shadow DOM and given directly to\n // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.\n\n if (isNodeAttached(node)) {\n // this works wherever the node is: if there's at least one client rect, it's\n // somehow displayed; it also covers the CSS 'display: contents' case where the\n // node itself is hidden in place of its contents; and there's no need to search\n // up the hierarchy either\n return !node.getClientRects().length;\n }\n\n // Else, the node isn't attached to the document, which means the `getClientRects()`\n // API will __always__ return zero rects (this can happen, for example, if React\n // is used to render nodes onto a detached tree, as confirmed in this thread:\n // https://github.com/facebook/react/issues/9117#issuecomment-284228870)\n //\n // It also means that even window.getComputedStyle(node).display will return `undefined`\n // because styles are only computed for nodes that are in the document.\n //\n // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable\n // somehow. Though it was never stated officially, anyone who has ever used tabbable\n // APIs on nodes in detached containers has actually implicitly used tabbable in what\n // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck=\"none\"` mode -- essentially\n // considering __everything__ to be visible because of the innability to determine styles.\n //\n // v6.0.0: As of this major release, the default 'full' option __no longer treats detached\n // nodes as visible with the 'none' fallback.__\n if (displayCheck !== 'legacy-full') {\n return true; // hidden\n }\n // else, fallback to 'none' mode and consider the node visible\n } else if (displayCheck === 'non-zero-area') {\n // NOTE: Even though this tests that the node's client rect is non-zero to determine\n // whether it's displayed, and that a detached node will __always__ have a zero-area\n // client rect, we don't special-case for whether the node is attached or not. In\n // this mode, we do want to consider nodes that have a zero area to be hidden at all\n // times, and that includes attached or not.\n return isZeroArea(node);\n }\n\n // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume\n // it's visible\n return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n// unless they are in the _first_ <legend> element of the top-most disabled\n// fieldset\nvar isDisabledFromFieldset = function isDisabledFromFieldset(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n // check if `node` is contained in a disabled <fieldset>\n while (parentNode) {\n if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {\n // look for the first <legend> among the children of the disabled <fieldset>\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n // when the first <legend> (in document order) is found\n if (child.tagName === 'LEGEND') {\n // if its parent <fieldset> is not nested in another disabled <fieldset>,\n // return whether `node` is a descendant of its first <legend>\n return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);\n }\n }\n // the disabled <fieldset> containing `node` has no <legend>\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n\n // else, node's tabbable/focusable state should not be affected by a fieldset's\n // enabled/disabled state\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {\n if (node.disabled ||\n // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n _isInert(node) || isHiddenInput(node) || isHidden(node, options) ||\n // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n // If a custom element has an explicit negative tabindex,\n // browsers will not allow tab targeting said element's children.\n return false;\n};\n\n/**\n * @param {Array.<Element|CandidateScope>} candidates\n * @returns Element[]\n */\nvar _sortByOrder = function sortByOrder(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function (item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? _sortByOrder(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item: item,\n isScope: isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = _getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return _sortByOrder(candidates);\n};\nvar focusable = function focusable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = _getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');\nvar isFocusable = function isFocusable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n\nexport { focusable, getTabIndex, isFocusable, isTabbable, tabbable };\n//# sourceMappingURL=index.esm.js.map\n","/*!\n* focus-trap 7.6.6\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nimport { tabbable, focusable, isTabbable, getTabIndex, isFocusable } from 'tabbable';\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nvar activeFocusTraps = {\n activateTrap: function activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n var activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap._setPausedState(true);\n }\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0 && !trapStack[trapStack.length - 1]._isManuallyPaused()) {\n trapStack[trapStack.length - 1]._setPausedState(false);\n }\n }\n};\nvar isSelectableInput = function isSelectableInput(node) {\n return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';\n};\nvar isEscapeEvent = function isEscapeEvent(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === 'Escape' || (e === null || e === void 0 ? void 0 : e.key) === 'Esc' || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === 'Tab' || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\n\n// checks for TAB by default\nvar isKeyForward = function isKeyForward(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\n\n// checks for SHIFT+TAB by default\nvar isKeyBackward = function isKeyBackward(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay(fn) {\n return setTimeout(fn, 0);\n};\n\n/**\n * Get an option's value when it could be a plain value, or a handler that provides\n * the value.\n * @param {*} value Option's value to check.\n * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.\n * @returns {*} The `value`, or the handler's returned value.\n */\nvar valueOrHandler = function valueOrHandler(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === 'function' ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget(event) {\n // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the\n // shadow host. However, event.target.composedPath() will be an array of\n // nodes \"clicked\" from inner-most (the actual element inside the shadow) to\n // outer-most (the host HTML document). If we have access to composedPath(),\n // then use its first element; otherwise, fall back to event.target (and\n // this only works for an _open_ shadow DOM; otherwise,\n // composedPath()[0] === event.target always).\n return event.target.shadowRoot && typeof event.composedPath === 'function' ? event.composedPath()[0] : event.target;\n};\n\n// NOTE: this must be _outside_ `createFocusTrap()` to make sure all traps in this\n// current instance use the same stack if `userOptions.trapStack` isn't specified\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap(elements, userOptions) {\n // SSR: a live trap shouldn't be created in this type of environment so this\n // should be safe code to execute if the `document` option isn't specified\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward: isKeyForward,\n isKeyBackward: isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n // @type {Array<HTMLElement>}\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{\n // container: HTMLElement,\n // tabbableNodes: Array<HTMLElement>, // empty if none\n // focusableNodes: Array<HTMLElement>, // empty if none\n // posTabIndexesFound: boolean,\n // firstTabbableNode: HTMLElement|undefined,\n // lastTabbableNode: HTMLElement|undefined,\n // firstDomTabbableNode: HTMLElement|undefined,\n // lastDomTabbableNode: HTMLElement|undefined,\n // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n // }>}\n containerGroups: [],\n // same order/length as `containers` list\n\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n manuallyPaused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: undefined,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: undefined\n };\n var trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later\n\n /**\n * Gets a configuration option value.\n * @param {Object|undefined} configOverrideOptions If true, and option is defined in this set,\n * value will be taken from this object. Otherwise, value will be taken from base configuration.\n * @param {string} optionName Name of the option whose value is sought.\n * @param {string|undefined} [configOptionName] Name of option to use __instead of__ `optionName`\n * IIF `configOverrideOptions` is not defined. Otherwise, `optionName` is used.\n */\n var getOption = function getOption(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== undefined ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n\n /**\n * Finds the index of the container that contains the element.\n * @param {HTMLElement} element\n * @param {Event} [event] If available, and `element` isn't directly found in any container,\n * the event's composed path is used to see if includes any known trap containers in the\n * case where the element is inside a Shadow DOM.\n * @returns {number} Index of the container in either `state.containers` or\n * `state.containerGroups` (the order/length of these lists are the same); -1\n * if the element isn't found.\n */\n var findContainerIndex = function findContainerIndex(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === 'function' ? event.composedPath() : undefined;\n // NOTE: search `containerGroups` because it's possible a group contains no tabbable\n // nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)\n // and we still need to find the element in there\n return state.containerGroups.findIndex(function (_ref) {\n var container = _ref.container,\n tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || (// fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function (node) {\n return node === element;\n });\n });\n };\n\n /**\n * Gets the node for the given option, which is expected to be an option that\n * can be either a DOM node, a string that is a selector to get a node, `false`\n * (if a node is explicitly NOT given), or a function that returns any of these\n * values.\n * @param {string} optionName\n * @param {Object} options\n * @param {boolean} [options.hasFallback] True if the option could be a selector string\n * and the option allows for a fallback scenario in the case where the selector is\n * valid but does not match a node (i.e. the queried node doesn't exist in the DOM).\n * @param {Array} [options.params] Params to pass to the option if it's a function.\n * @returns {undefined | null | false | HTMLElement | SVGElement} Returns\n * `undefined` if the option is not specified; `null` if the option didn't resolve\n * to a node but `options.hasFallback=true`, `false` if the option resolved to `false`\n * (node explicitly not given); otherwise, the resolved DOM node.\n * @throws {Error} If the option is set, not `false`, and is not, or does not\n * resolve to a node, unless the option is a selector string and `options.hasFallback=true`.\n */\n var getNodeForOption = function getNodeForOption(optionName) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$hasFallback = _ref2.hasFallback,\n hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback,\n _ref2$params = _ref2.params,\n params = _ref2$params === void 0 ? [] : _ref2$params;\n var optionValue = config[optionName];\n if (typeof optionValue === 'function') {\n optionValue = optionValue.apply(void 0, _toConsumableArray(params));\n }\n if (optionValue === true) {\n optionValue = undefined; // use default value\n }\n if (!optionValue) {\n if (optionValue === undefined || optionValue === false) {\n return optionValue;\n }\n // else, empty string (invalid), null (invalid), 0 (invalid)\n\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point\n\n if (typeof optionValue === 'string') {\n try {\n node = doc.querySelector(optionValue); // resolve to node, or null if fails\n } catch (err) {\n throw new Error(\"`\".concat(optionName, \"` appears to be an invalid selector; error=\\\"\").concat(err.message, \"\\\"\"));\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n // else, `node` MUST be `null` because that's what `Document.querySelector()` returns\n // if the selector is valid but doesn't match anything\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode() {\n var node = getNodeForOption('initialFocus', {\n hasFallback: true\n });\n\n // false explicitly indicates we want no initialFocus at all\n if (node === false) {\n return false;\n }\n if (node === undefined || node && !isFocusable(node, config.tabbableOptions)) {\n // option not specified nor focusable: use fallback options\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n\n // NOTE: `fallbackFocus` option function cannot return `false` (not supported)\n node = firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n } else if (node === null) {\n // option is a VALID selector string that doesn't yield a node: use the `fallbackFocus`\n // option instead of the default behavior when the option isn't specified at all\n node = getNodeForOption('fallbackFocus');\n }\n if (!node) {\n throw new Error('Your focus-trap needs to have at least one focusable element');\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes() {\n state.containerGroups = state.containers.map(function (container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n\n // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes\n // are a superset of tabbable nodes since nodes with negative `tabindex` attributes\n // are focusable but not tabbable\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : undefined;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : undefined;\n var firstDomTabbableNode = focusableNodes.find(function (node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function (node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function (node) {\n return getTabIndex(node) > 0;\n });\n return {\n container: container,\n tabbableNodes: tabbableNodes,\n focusableNodes: focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound: posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode: firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode: lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode: firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode: lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n // either not tabbable nor focusable, or was focused but not tabbable (negative tabindex):\n // since `node` should at least have been focusable, we assume that's the case and mimic\n // what browsers do, which is set focus to the next node in __document position order__,\n // regardless of positive tabindexes, if any -- and for reasons explained in the NOTE\n // above related to `firstDomTabbable` and `lastDomTabbable` properties, we fall back to\n // basic DOM order\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function (el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function (el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function (group) {\n return group.tabbableNodes.length > 0;\n });\n\n // throw if no groups have tabbable nodes and we don't have a fallback focus node either\n if (state.tabbableGroups.length <= 0 && !getNodeForOption('fallbackFocus') // returning false not supported for this option\n ) {\n throw new Error('Your focus-trap must have at least one container with at least one tabbable node in it at all times');\n }\n\n // NOTE: Positive tabindexes are only properly supported in single-container traps because\n // doing it across multiple containers where tabindexes could be all over the place\n // would require Tabbable to support multiple containers, would require additional\n // specialized Shadow DOM support, and would require Tabbable's multi-container support\n // to look at those containers in document position order rather than user-provided\n // order (as they are treated in Focus-trap, for legacy reasons). See discussion on\n // https://github.com/focus-trap/focus-trap/issues/375 for more details.\n if (state.containerGroups.find(function (g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n\n /**\n * Gets the current activeElement. If it's a web-component and has open shadow-root\n * it will recursively search inside shadow roots for the \"true\" activeElement.\n *\n * @param {Document | ShadowRoot} el\n *\n * @returns {HTMLElement} The element that currently has the focus\n **/\n var _getActiveElement = function getActiveElement(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return _getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var _tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === _getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n _tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n // NOTE: focus() API does not trigger focusIn event so set MRU node manually\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {\n var node = getNodeForOption('setReturnFocus', {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n };\n\n /**\n * Finds the next node (in either direction) where focus should move according to a\n * keyboard focus-in event.\n * @param {Object} params\n * @param {Node} [params.target] Known target __from which__ to navigate, if any.\n * @param {KeyboardEvent|FocusEvent} [params.event] Event to use if `target` isn't known (event\n * will be used to determine the `target`). Ignored if `target` is specified.\n * @param {boolean} [params.isBackward] True if focus should move backward.\n * @returns {Node|undefined} The next node, or `undefined` if a next node couldn't be\n * determined given the current state of the trap.\n */\n var findNextNavNode = function findNextNavNode(_ref3) {\n var target = _ref3.target,\n event = _ref3.event,\n _ref3$isBackward = _ref3.isBackward,\n isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n // make sure the target is actually contained in a group\n // NOTE: the target may also be the container itself if it's focusable\n // with tabIndex='-1' and was given initial focus\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : undefined;\n if (containerIndex < 0) {\n // target not found in any group: quite possible focus has escaped the trap,\n // so bring it back into...\n if (isBackward) {\n // ...the last node in the last group\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n // ...the first node in the first group\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n // REVERSE\n\n // is the target the first tabbable node in a group?\n var startOfGroupIndex = state.tabbableGroups.findIndex(function (_ref4) {\n var firstTabbableNode = _ref4.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n // an exception case where the target is either the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle shift+tab as if focus were on the container's\n // first tabbable node, and go to the last tabbable node of the LAST group\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n // YES: then shift+tab should go to the last tabbable node in the\n // previous group (and wrap around to the last tabbable node of\n // the LAST group if it's the first tabbable node of the FIRST group)\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n // FORWARD\n\n // is the target the last tabbable node in a group?\n var lastOfGroupIndex = state.tabbableGroups.findIndex(function (_ref5) {\n var lastTabbableNode = _ref5.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n // an exception case where the target is the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle tab as if focus were on the container's\n // last tabbable node, and go to the first tabbable node of the FIRST group\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n // YES: then tab should go to the first tabbable node in the next\n // group (and wrap around to the first tabbable node of the FIRST\n // group if it's the last tabbable node of the LAST group)\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n // no groups available\n // NOTE: the fallbackFocus option does not support returning false to opt-out\n destinationNode = getNodeForOption('fallbackFocus');\n }\n return destinationNode;\n };\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n var checkPointerDown = function checkPointerDown(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n // allow the click since it ocurred inside the trap\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n // immediately deactivate the trap\n trap.deactivate({\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n\n // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n if (valueOrHandler(config.allowOutsideClick, e)) {\n // allow the click outside the trap to take place\n return;\n }\n\n // otherwise, prevent the click\n e.preventDefault();\n };\n\n // In case focus escapes the trap for some strange reason, pull it back in.\n // NOTE: the focusIn event is NOT cancelable, so if focus escapes, it may cause unexpected\n // scrolling if the node that got focused was out of view; there's nothing we can do to\n // prevent that from happening by the time we discover that focus escaped\n var checkFocusIn = function checkFocusIn(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n\n // In Firefox when you Tab out of an iframe the Document is briefly focused.\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n // escaped! pull it back in to where it just left\n event.stopImmediatePropagation();\n\n // focus will escape if the MRU node had a positive tab index and user tried to nav forward;\n // it will also escape if the MRU node had a 0 tab index and user tried to nav backward\n // toward a node with a positive tab index\n var nextNode; // next node to focus, if we find one\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n // MRU container index must be >=0 otherwise we wouldn't have it as an MRU node...\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n // there MAY not be any tabbable nodes in the container if there are at least 2 containers\n // and the MRU node is focusable but not tabbable (focus-trap requires at least 1 container\n // with at least one tabbable node in order to function, so this could be the other container\n // with nothing tabbable in it)\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n // MRU tab index MAY not be found if the MRU node is focusable but not tabbable\n var mruTabIdx = tabbableNodes.findIndex(function (node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n // else, don't wrap within the container as focus should move to next/previous\n // container\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n // else, don't wrap within the container as focus should move to next/previous\n // container\n }\n // else, don't find in container order without considering direction too\n }\n }\n // else, no tabbable nodes in that container (which means we must have at least one other\n // container with at least one tabbable node in it, otherwise focus-trap would've thrown\n // an error the last time updateTabbableNodes() was run): find next node among all known\n // containers\n } else {\n // check to see if there's at least one tabbable node with a positive tab index inside\n // the trap because focus seems to escape when navigating backward from a tabbable node\n // with tabindex=0 when this is the case (instead of wrapping to the tabbable node with\n // the greatest positive tab index like it should)\n if (!state.containerGroups.some(function (g) {\n return g.tabbableNodes.some(function (n) {\n return getTabIndex(n) > 0;\n });\n })) {\n // no containers with tabbable nodes with positive tab indexes which means the focus\n // escaped for some other reason and we should just execute the fallback to the\n // MRU node or initial focus node, if any\n navAcrossContainers = false;\n }\n }\n } else {\n // no MRU node means we're likely in some initial condition when the trap has just\n // been activated and initial focus hasn't been given yet, in which case we should\n // fall through to trying to focus the initial focus node, which is what should\n // happen below at this point in the logic\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n _tryFocus(nextNode);\n } else {\n _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = undefined; // clear\n };\n\n // Hijack key nav events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n var checkKeyNav = function checkKeyNav(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event: event,\n isBackward: isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n // since tab natively moves focus, we wouldn't have a destination node unless we\n // were on the edge of a container and had to move to the next/previous edge, in\n // which case we want to prevent default to keep the browser from moving focus\n // to where it normally would\n event.preventDefault();\n }\n _tryFocus(destinationNode);\n }\n // else, let the browser take care of [shift+]tab and move the focus\n };\n var checkTabKey = function checkTabKey(event) {\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n\n // we use a different event phase for the Escape key to allow canceling the event and checking for this in escapeDeactivates\n var checkEscapeKey = function checkEscapeKey(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n }\n };\n var checkClick = function checkClick(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n\n //\n // EVENT LISTENERS\n //\n\n var addListeners = function addListeners() {\n if (!state.active) {\n return;\n }\n\n // There can be only one listening focus trap at a time\n activeFocusTraps.activateTrap(trapStack, trap);\n\n // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {\n _tryFocus(getInitialFocusNode());\n }) : _tryFocus(getInitialFocusNode());\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkTabKey, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkEscapeKey);\n return trap;\n };\n var removeListeners = function removeListeners() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkTabKey, true);\n doc.removeEventListener('keydown', checkEscapeKey);\n return trap;\n };\n\n //\n // MUTATION OBSERVER\n //\n\n var checkDomRemoval = function checkDomRemoval(mutations) {\n var isFocusedNodeRemoved = mutations.some(function (mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function (node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n\n // If the currently focused is removed then browsers will move focus to the\n // <body> element. If this happens, try to move focus back into the trap.\n if (isFocusedNodeRemoved) {\n _tryFocus(getInitialFocusNode());\n }\n };\n\n // Use MutationObserver - if supported - to detect if focused node is removed\n // from the DOM.\n var mutationObserver = typeof window !== 'undefined' && 'MutationObserver' in window ? new MutationObserver(checkDomRemoval) : undefined;\n var updateObservedNodes = function updateObservedNodes() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function (container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n\n //\n // TRAP DEFINITION\n //\n\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, 'onActivate');\n var onPostActivate = getOption(activateOptions, 'onPostActivate');\n var checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = _getActiveElement(doc);\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer); // noop if undefined\n state.delayInitialFocusTimer = undefined;\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, 'onDeactivate');\n var onPostDeactivate = getOption(options, 'onPostDeactivate');\n var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');\n var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation() {\n delay(function () {\n if (returnFocus) {\n _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = true;\n return this._setPausedState(true, pauseOptions);\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = false;\n if (trapStack[trapStack.length - 1] !== this) {\n return this;\n }\n return this._setPausedState(false, unpauseOptions);\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function (element) {\n return typeof element === 'string' ? doc.querySelector(element) : element;\n });\n if (state.active) {\n updateTabbableNodes();\n }\n updateObservedNodes();\n return this;\n }\n };\n Object.defineProperties(trap, {\n _isManuallyPaused: {\n value: function value() {\n return state.manuallyPaused;\n }\n },\n _setPausedState: {\n value: function value(paused, options) {\n if (state.paused === paused) {\n return this;\n }\n state.paused = paused;\n if (paused) {\n var onPause = getOption(options, 'onPause');\n var onPostPause = getOption(options, 'onPostPause');\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n onPostPause === null || onPostPause === void 0 || onPostPause();\n } else {\n var onUnpause = getOption(options, 'onUnpause');\n var onPostUnpause = getOption(options, 'onPostUnpause');\n onUnpause === null || onUnpause === void 0 || onUnpause();\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\n }\n return this;\n }\n }\n });\n\n // initialize container elements\n trap.updateContainerElements(elements);\n return trap;\n};\n\nexport { createFocusTrap };\n//# sourceMappingURL=focus-trap.esm.js.map\n","function getTrapStack() {\n window._nc_focus_trap ??= [];\n return window._nc_focus_trap;\n}\nfunction createTrapStackController() {\n let pausedStack = [];\n return {\n /**\n * Pause the current focus-trap stack\n */\n pause() {\n pausedStack = [...getTrapStack()];\n for (const trap of pausedStack) {\n trap.pause();\n }\n },\n /**\n * Unpause the paused focus trap stack\n * If the actual stack is different from the paused one, ignore unpause.\n */\n unpause() {\n if (pausedStack.length === getTrapStack().length) {\n for (const trap of pausedStack) {\n trap.unpause();\n }\n }\n pausedStack = [];\n }\n };\n}\nexport {\n createTrapStackController as c,\n getTrapStack as g\n};\n//# sourceMappingURL=focusTrap-HJQ4pqHV.mjs.map\n","import { watch, toValue, onUnmounted } from \"vue\";\nimport { c as createTrapStackController } from \"./focusTrap-HJQ4pqHV.mjs\";\nfunction useTrapStackControl(shouldPause, options = {}) {\n const trapStackController = createTrapStackController();\n watch(shouldPause, () => {\n if (toValue(options.disabled)) {\n return;\n }\n if (toValue(shouldPause)) {\n trapStackController.pause();\n } else {\n trapStackController.unpause();\n }\n });\n onUnmounted(() => {\n trapStackController.unpause();\n });\n}\nexport {\n useTrapStackControl as u\n};\n//# sourceMappingURL=useTrapStackControl-B6cEicto.mjs.map\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return!/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(t,e,o,i){var r,l;void 0===e&&(e=!1),void 0===o&&(o=!1);const c=t.getBoundingClientRect(),s=v(t);let f=b;e&&(i?d(i)&&(f=L(i)):f=L(t));const u=s?n(s):window,a=!x()&&o;let h=(c.left+(a&&(null==(r=u.visualViewport)?void 0:r.offsetLeft)||0))/f.x,p=(c.top+(a&&(null==(l=u.visualViewport)?void 0:l.offsetTop)||0))/f.y,g=c.width/f.x,m=c.height/f.y;if(s){const t=n(s),e=i&&d(i)?n(i):i;let o=t.frameElement;for(;o&&i&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,h*=t.x,p*=t.y,g*=t.x,m*=t.y,h+=e.x,p+=e.y,o=n(o).frameElement}}return{width:g,height:m,top:p,right:h+g,bottom:p+m,left:h,x:h,y:p}}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){return\"viewport\"===i?t(function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(t||!t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l)):d(i)?t(function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l)):t(function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e)))}function A(t){return a(t)&&\"fixed\"!==o(t).position?t.offsetParent:null}function H(t){const e=n(t);let i=A(t);for(;i&&m(i)&&\"static\"===o(i).position;)i=A(i);return i&&(\"html\"===s(i)||\"body\"===s(i)&&\"static\"===o(i).position&&!y(i))?e:i||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||e}function O(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const P={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:O(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const B=(t,n,o)=>{const i=new Map,r={platform:P,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,B as computePosition,D as getOverflowAncestors,P as platform};\n","import { defineComponent as O, openBlock as f, createElementBlock as T, normalizeClass as J, renderSlot as A, normalizeProps as ke, guardReactiveProps as Le, pushScopeId as De, popScopeId as Ie, nextTick as Fe, createBlock as M, withScopeId as Re, resolveComponent as P, normalizeStyle as W, withKeys as je, createElementVNode as w, Fragment as Ve, createCommentVNode as se, mergeProps as $e, withCtx as N, createVNode as ve, toDisplayString as We, ref as U, createApp as Ge, h as qe } from \"vue\";\nimport { offset as xe, autoPlacement as Ue, shift as Ye, flip as Xe, arrow as Ke, size as Je, computePosition as Qe, getOverflowAncestors as ne } from \"@floating-ui/dom\";\nfunction ye(e, t) {\n for (const o in t)\n Object.prototype.hasOwnProperty.call(t, o) && (typeof t[o] == \"object\" && e[o] ? ye(e[o], t[o]) : e[o] = t[o]);\n}\nconst h = {\n // Disable popper components\n disabled: !1,\n // Default position offset along main axis (px)\n distance: 5,\n // Default position offset along cross axis (px)\n skidding: 0,\n // Default container where the tooltip will be appended\n container: \"body\",\n // Element used to compute position and size boundaries\n boundary: void 0,\n // Skip delay & CSS transitions when another popper is shown, so that the popper appear to instanly move to the new position.\n instantMove: !1,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 150,\n // Triggers on the popper itself\n popperTriggers: [],\n // Positioning strategy\n strategy: \"absolute\",\n // Prevent overflow\n preventOverflow: !0,\n // Flip to the opposite placement if needed\n flip: !0,\n // Shift on the cross axis to prevent the popper from overflowing\n shift: !0,\n // Overflow padding (px)\n overflowPadding: 0,\n // Arrow padding (px)\n arrowPadding: 0,\n // Compute arrow overflow (useful to hide it)\n arrowOverflow: !0,\n /**\n * By default, compute autohide on 'click'.\n */\n autoHideOnMousedown: !1,\n // Themes\n themes: {\n tooltip: {\n // Default tooltip placement relative to target element\n placement: \"top\",\n // Default events that trigger the tooltip\n triggers: [\"hover\", \"focus\", \"touch\"],\n // Close tooltip on click on tooltip target\n hideTriggers: (e) => [...e, \"click\"],\n // Delay (ms)\n delay: {\n show: 200,\n hide: 0\n },\n // Update popper on content resize\n handleResize: !1,\n // Enable HTML content in directive\n html: !1,\n // Displayed when tooltip content is loading\n loadingContent: \"...\"\n },\n dropdown: {\n // Default dropdown placement relative to target element\n placement: \"bottom\",\n // Default events that trigger the dropdown\n triggers: [\"click\"],\n // Delay (ms)\n delay: 0,\n // Update popper on content resize\n handleResize: !0,\n // Hide on clock outside\n autoHide: !0\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction S(e, t) {\n let o = h.themes[e] || {}, i;\n do\n i = o[t], typeof i > \"u\" ? o.$extend ? o = h.themes[o.$extend] || {} : (o = null, i = h[t]) : o = null;\n while (o);\n return i;\n}\nfunction Ze(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend && !o.$resetCss ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t.map((i) => `v-popper--theme-${i}`);\n}\nfunction re(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t;\n}\nlet $ = !1;\nif (typeof window < \"u\") {\n $ = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get() {\n $ = !0;\n }\n });\n window.addEventListener(\"test\", null, e);\n } catch {\n }\n}\nlet _e = !1;\ntypeof window < \"u\" && typeof navigator < \"u\" && (_e = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);\nconst Te = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((e, t) => e.concat([\n t,\n `${t}-start`,\n `${t}-end`\n]), []), pe = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\",\n pointer: \"pointerdown\"\n}, ae = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\",\n pointer: \"pointerup\"\n};\nfunction de(e, t) {\n const o = e.indexOf(t);\n o !== -1 && e.splice(o, 1);\n}\nfunction G() {\n return new Promise((e) => requestAnimationFrame(() => {\n requestAnimationFrame(e);\n }));\n}\nconst d = [];\nlet g = null;\nconst le = {};\nfunction he(e) {\n let t = le[e];\n return t || (t = le[e] = []), t;\n}\nlet Y = function() {\n};\ntypeof window < \"u\" && (Y = window.Element);\nfunction n(e) {\n return function(t) {\n return S(t.theme, e);\n };\n}\nconst q = \"__floating-vue__popper\", Q = () => O({\n name: \"VPopper\",\n provide() {\n return {\n [q]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [q]: { default: null }\n },\n props: {\n theme: {\n type: String,\n required: !0\n },\n targetNodes: {\n type: Function,\n required: !0\n },\n referenceNode: {\n type: Function,\n default: null\n },\n popperNode: {\n type: Function,\n required: !0\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: n(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: n(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: n(\"placement\"),\n validator: (e) => Te.includes(e)\n },\n delay: {\n type: [String, Number, Object],\n default: n(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: n(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: n(\"skidding\")\n },\n triggers: {\n type: Array,\n default: n(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: n(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: n(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: n(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: n(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: n(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Y, Boolean],\n default: n(\"container\")\n },\n boundary: {\n type: [String, Y],\n default: n(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (e) => [\"absolute\", \"fixed\"].includes(e),\n default: n(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: n(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: n(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: n(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: n(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: n(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: n(\"computeTransformOrigin\")\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: n(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: n(\"autoSize\")\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: n(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: n(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: n(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: n(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: n(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: n(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: n(\"flip\")\n },\n shift: {\n type: Boolean,\n default: n(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: n(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: n(\"noAutoFocus\")\n },\n disposeTimeout: {\n type: Number,\n default: n(\"disposeTimeout\")\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n data() {\n return {\n isShown: !1,\n isMounted: !1,\n skipTransition: !1,\n classes: {\n showFrom: !1,\n showTo: !1,\n hideFrom: !1,\n hideTo: !0\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n randomId: `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join(\"_\")}`,\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: !0,\n pendingHide: !1,\n containsGlobalTarget: !1,\n isDisposed: !0,\n mouseDownContains: !1\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide == \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: {\n ...this.classes,\n popperClass: this.popperClass\n },\n result: this.positioningDisabled ? null : this.result,\n attrs: this.$attrs\n };\n },\n parentPopper() {\n var e;\n return (e = this[q]) == null ? void 0 : e.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var e, t;\n return ((e = this.popperTriggers) == null ? void 0 : e.includes(\"hover\")) || ((t = this.popperShowTriggers) == null ? void 0 : t.includes(\"hover\"));\n }\n },\n watch: {\n shown: \"$_autoShowHide\",\n disabled(e) {\n e ? this.dispose() : this.init();\n },\n async container() {\n this.isShown && (this.$_ensureTeleport(), await this.$_computePosition());\n },\n triggers: {\n handler: \"$_refreshListeners\",\n deep: !0\n },\n positioningDisabled: \"$_refreshListeners\",\n ...[\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((e, t) => (e[t] = \"$_computePosition\", e), {})\n },\n created() {\n this.autoMinSize && console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.'), this.autoMaxSize && console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n },\n mounted() {\n this.init(), this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event: e = null, skipDelay: t = !1, force: o = !1 } = {}) {\n var i, s;\n (i = this.parentPopper) != null && i.lockedChild && this.parentPopper.lockedChild !== this || (this.pendingHide = !1, (o || !this.disabled) && (((s = this.parentPopper) == null ? void 0 : s.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_scheduleShow(e, t), this.$emit(\"show\"), this.$_showFrameLocked = !0, requestAnimationFrame(() => {\n this.$_showFrameLocked = !1;\n })), this.$emit(\"update:shown\", !0));\n },\n hide({ event: e = null, skipDelay: t = !1 } = {}) {\n var o;\n if (!this.$_hideInProgress) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n this.parentPopper && (this.parentPopper.lockedChild = this, clearTimeout(this.parentPopper.lockedChildTimer), this.parentPopper.lockedChildTimer = setTimeout(() => {\n this.parentPopper.lockedChild === this && (this.parentPopper.lockedChild.hide({ skipDelay: t }), this.parentPopper.lockedChild = null);\n }, 1e3));\n return;\n }\n ((o = this.parentPopper) == null ? void 0 : o.lockedChild) === this && (this.parentPopper.lockedChild = null), this.pendingHide = !1, this.$_scheduleHide(e, t), this.$emit(\"hide\"), this.$emit(\"update:shown\", !1);\n }\n },\n init() {\n var e;\n this.isDisposed && (this.isDisposed = !1, this.isMounted = !1, this.$_events = [], this.$_preventShow = !1, this.$_referenceNode = ((e = this.referenceNode) == null ? void 0 : e.call(this)) ?? this.$el, this.$_targetNodes = this.targetNodes().filter((t) => t.nodeType === t.ELEMENT_NODE), this.$_popperNode = this.popperNode(), this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\"), this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\"), this.$_swapTargetAttrs(\"title\", \"data-original-title\"), this.$_detachPopperNode(), this.triggers.length && this.$_addEventListeners(), this.shown && this.show());\n },\n dispose() {\n this.isDisposed || (this.isDisposed = !0, this.$_removeEventListeners(), this.hide({ skipDelay: !0 }), this.$_detachPopperNode(), this.isMounted = !1, this.isShown = !1, this.$_updateParentShownChildren(!1), this.$_swapTargetAttrs(\"data-original-title\", \"title\"));\n },\n async onResize() {\n this.isShown && (await this.$_computePosition(), this.$emit(\"resize\"));\n },\n async $_computePosition() {\n if (this.isDisposed || this.positioningDisabled)\n return;\n const e = {\n strategy: this.strategy,\n middleware: []\n };\n (this.distance || this.skidding) && e.middleware.push(xe({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n const t = this.placement.startsWith(\"auto\");\n if (t ? e.middleware.push(Ue({\n alignment: this.placement.split(\"-\")[1] ?? \"\"\n })) : e.placement = this.placement, this.preventOverflow && (this.shift && e.middleware.push(Ye({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n })), !t && this.flip && e.middleware.push(Xe({\n padding: this.overflowPadding,\n boundary: this.boundary\n }))), e.middleware.push(Ke({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n })), this.arrowOverflow && e.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement: i, rects: s, middlewareData: r }) => {\n let p;\n const { centerOffset: a } = r.arrow;\n return i.startsWith(\"top\") || i.startsWith(\"bottom\") ? p = Math.abs(a) > s.reference.width / 2 : p = Math.abs(a) > s.reference.height / 2, {\n data: {\n overflow: p\n }\n };\n }\n }), this.autoMinSize || this.autoSize) {\n const i = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n e.middleware.push({\n name: \"autoSize\",\n fn: ({ rects: s, placement: r, middlewareData: p }) => {\n var u;\n if ((u = p.autoSize) != null && u.skip)\n return {};\n let a, l;\n return r.startsWith(\"top\") || r.startsWith(\"bottom\") ? a = s.reference.width : l = s.reference.height, this.$_innerNode.style[i === \"min\" ? \"minWidth\" : i === \"max\" ? \"maxWidth\" : \"width\"] = a != null ? `${a}px` : null, this.$_innerNode.style[i === \"min\" ? \"minHeight\" : i === \"max\" ? \"maxHeight\" : \"height\"] = l != null ? `${l}px` : null, {\n data: {\n skip: !0\n },\n reset: {\n rects: !0\n }\n };\n }\n });\n }\n (this.autoMaxSize || this.autoBoundaryMaxSize) && (this.$_innerNode.style.maxWidth = null, this.$_innerNode.style.maxHeight = null, e.middleware.push(Je({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ availableWidth: i, availableHeight: s }) => {\n this.$_innerNode.style.maxWidth = i != null ? `${i}px` : null, this.$_innerNode.style.maxHeight = s != null ? `${s}px` : null;\n }\n })));\n const o = await Qe(this.$_referenceNode, this.$_popperNode, e);\n Object.assign(this.result, {\n x: o.x,\n y: o.y,\n placement: o.placement,\n strategy: o.strategy,\n arrow: {\n ...o.middlewareData.arrow,\n ...o.middlewareData.arrowOverflow\n }\n });\n },\n $_scheduleShow(e, t = !1) {\n if (this.$_updateParentShownChildren(!0), this.$_hideInProgress = !1, clearTimeout(this.$_scheduleTimer), g && this.instantMove && g.instantMove && g !== this.parentPopper) {\n g.$_applyHide(!0), this.$_applyShow(!0);\n return;\n }\n t ? this.$_applyShow() : this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n },\n $_scheduleHide(e, t = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n this.$_updateParentShownChildren(!1), this.$_hideInProgress = !0, clearTimeout(this.$_scheduleTimer), this.isShown && (g = this), t ? this.$_applyHide() : this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n },\n $_computeDelay(e) {\n const t = this.delay;\n return parseInt(t && t[e] || t || 0);\n },\n async $_applyShow(e = !1) {\n clearTimeout(this.$_disposeTimer), clearTimeout(this.$_scheduleTimer), this.skipTransition = e, !this.isShown && (this.$_ensureTeleport(), await G(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([\n ...ne(this.$_referenceNode),\n ...ne(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n }));\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const t = this.$_referenceNode.getBoundingClientRect(), o = this.$_popperNode.querySelector(\".v-popper__wrapper\"), i = o.parentNode.getBoundingClientRect(), s = t.x + t.width / 2 - (i.left + o.offsetLeft), r = t.y + t.height / 2 - (i.top + o.offsetTop);\n this.result.transformOrigin = `${s}px ${r}px`;\n }\n this.isShown = !0, this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const e = this.showGroup;\n if (e) {\n let t;\n for (let o = 0; o < d.length; o++)\n t = d[o], t.showGroup !== e && (t.hide(), t.$emit(\"close-group\"));\n }\n d.push(this), document.body.classList.add(\"v-popper--some-open\");\n for (const t of re(this.theme))\n he(t).push(this), document.body.classList.add(`v-popper--some-open--${t}`);\n this.$emit(\"apply-show\"), this.classes.showFrom = !0, this.classes.showTo = !1, this.classes.hideFrom = !1, this.classes.hideTo = !1, await G(), this.classes.showFrom = !1, this.classes.showTo = !0, this.noAutoFocus || this.$_popperNode.focus();\n },\n async $_applyHide(e = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0, this.$_hideInProgress = !1;\n return;\n }\n if (clearTimeout(this.$_scheduleTimer), !this.isShown)\n return;\n this.skipTransition = e, de(d, this), d.length === 0 && document.body.classList.remove(\"v-popper--some-open\");\n for (const o of re(this.theme)) {\n const i = he(o);\n de(i, this), i.length === 0 && document.body.classList.remove(`v-popper--some-open--${o}`);\n }\n g === this && (g = null), this.isShown = !1, this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n }), clearTimeout(this.$_disposeTimer);\n const t = this.disposeTimeout;\n t !== null && (this.$_disposeTimer = setTimeout(() => {\n this.$_popperNode && (this.$_detachPopperNode(), this.isMounted = !1);\n }, t)), this.$_removeEventListeners(\"scroll\"), this.$emit(\"apply-hide\"), this.classes.showFrom = !1, this.classes.showTo = !1, this.classes.hideFrom = !0, this.classes.hideTo = !1, await G(), this.classes.hideFrom = !1, this.classes.hideTo = !0;\n },\n $_autoShowHide() {\n this.shown ? this.show() : this.hide();\n },\n $_ensureTeleport() {\n if (this.isDisposed)\n return;\n let e = this.container;\n if (typeof e == \"string\" ? e = window.document.querySelector(e) : e === !1 && (e = this.$_targetNodes[0].parentNode), !e)\n throw new Error(\"No container for popover: \" + this.container);\n e.appendChild(this.$_popperNode), this.isMounted = !0;\n },\n $_addEventListeners() {\n const e = (o) => {\n this.isShown && !this.$_hideInProgress || (o.usedByTooltip = !0, !this.$_preventShow && this.show({ event: o }));\n };\n this.$_registerTriggerListeners(this.$_targetNodes, pe, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], pe, this.popperTriggers, this.popperShowTriggers, e);\n const t = (o) => {\n o.usedByTooltip || this.hide({ event: o });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, ae, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], ae, this.popperTriggers, this.popperHideTriggers, t);\n },\n $_registerEventListeners(e, t, o) {\n this.$_events.push({ targetNodes: e, eventType: t, handler: o }), e.forEach((i) => i.addEventListener(t, o, $ ? {\n passive: !0\n } : void 0));\n },\n $_registerTriggerListeners(e, t, o, i, s) {\n let r = o;\n i != null && (r = typeof i == \"function\" ? i(r) : i), r.forEach((p) => {\n const a = t[p];\n a && this.$_registerEventListeners(e, a, s);\n });\n },\n $_removeEventListeners(e) {\n const t = [];\n this.$_events.forEach((o) => {\n const { targetNodes: i, eventType: s, handler: r } = o;\n !e || e === s ? i.forEach((p) => p.removeEventListener(s, r)) : t.push(o);\n }), this.$_events = t;\n },\n $_refreshListeners() {\n this.isDisposed || (this.$_removeEventListeners(), this.$_addEventListeners());\n },\n $_handleGlobalClose(e, t = !1) {\n this.$_showFrameLocked || (this.hide({ event: e }), e.closePopover ? this.$emit(\"close-directive\") : this.$emit(\"auto-hide\"), t && (this.$_preventShow = !0, setTimeout(() => {\n this.$_preventShow = !1;\n }, 300)));\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(e, t) {\n for (const o of this.$_targetNodes) {\n const i = o.getAttribute(e);\n i && (o.removeAttribute(e), o.setAttribute(t, i));\n }\n },\n $_applyAttrsToTarget(e) {\n for (const t of this.$_targetNodes)\n for (const o in e) {\n const i = e[o];\n i == null ? t.removeAttribute(o) : t.setAttribute(o, i);\n }\n },\n $_updateParentShownChildren(e) {\n let t = this.parentPopper;\n for (; t; )\n e ? t.shownChildren.add(this.randomId) : (t.shownChildren.delete(this.randomId), t.pendingHide && t.hide()), t = t.parentPopper;\n },\n $_isAimingPopper() {\n const e = this.$_referenceNode.getBoundingClientRect();\n if (y >= e.left && y <= e.right && _ >= e.top && _ <= e.bottom) {\n const t = this.$_popperNode.getBoundingClientRect(), o = y - c, i = _ - m, r = t.left + t.width / 2 - c + (t.top + t.height / 2) - m + t.width + t.height, p = c + o * r, a = m + i * r;\n return C(c, m, p, a, t.left, t.top, t.left, t.bottom) || // Left edge\n C(c, m, p, a, t.left, t.top, t.right, t.top) || // Top edge\n C(c, m, p, a, t.right, t.top, t.right, t.bottom) || // Right edge\n C(c, m, p, a, t.left, t.bottom, t.right, t.bottom);\n }\n return !1;\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document < \"u\" && typeof window < \"u\") {\n if (_e) {\n const e = $ ? {\n passive: !0,\n capture: !0\n } : !0;\n document.addEventListener(\"touchstart\", (t) => ue(t, !0), e), document.addEventListener(\"touchend\", (t) => fe(t, !0), e);\n } else\n window.addEventListener(\"mousedown\", (e) => ue(e, !1), !0), window.addEventListener(\"click\", (e) => fe(e, !1), !0);\n window.addEventListener(\"resize\", tt);\n}\nfunction ue(e, t) {\n if (h.autoHideOnMousedown)\n Pe(e, t);\n else\n for (let o = 0; o < d.length; o++) {\n const i = d[o];\n try {\n i.mouseDownContains = i.popperNode().contains(e.target);\n } catch {\n }\n }\n}\nfunction fe(e, t) {\n h.autoHideOnMousedown || Pe(e, t);\n}\nfunction Pe(e, t) {\n const o = {};\n for (let i = d.length - 1; i >= 0; i--) {\n const s = d[i];\n try {\n const r = s.containsGlobalTarget = s.mouseDownContains || s.popperNode().contains(e.target);\n s.pendingHide = !1, requestAnimationFrame(() => {\n if (s.pendingHide = !1, !o[s.randomId] && ce(s, r, e)) {\n if (s.$_handleGlobalClose(e, t), !e.closeAllPopover && e.closePopover && r) {\n let a = s.parentPopper;\n for (; a; )\n o[a.randomId] = !0, a = a.parentPopper;\n return;\n }\n let p = s.parentPopper;\n for (; p && ce(p, p.containsGlobalTarget, e); ) {\n p.$_handleGlobalClose(e, t);\n p = p.parentPopper;\n }\n }\n });\n } catch {\n }\n }\n}\nfunction ce(e, t, o) {\n return o.closeAllPopover || o.closePopover && t || et(e, o) && !t;\n}\nfunction et(e, t) {\n if (typeof e.autoHide == \"function\") {\n const o = e.autoHide(t);\n return e.lastAutoHide = o, o;\n }\n return e.autoHide;\n}\nfunction tt() {\n for (let e = 0; e < d.length; e++)\n d[e].$_computePosition();\n}\nfunction Nt() {\n for (let e = 0; e < d.length; e++)\n d[e].hide();\n}\nlet c = 0, m = 0, y = 0, _ = 0;\ntypeof window < \"u\" && window.addEventListener(\"mousemove\", (e) => {\n c = y, m = _, y = e.clientX, _ = e.clientY;\n}, $ ? {\n passive: !0\n} : void 0);\nfunction C(e, t, o, i, s, r, p, a) {\n const l = ((p - s) * (t - r) - (a - r) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t)), u = ((o - e) * (t - r) - (i - t) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t));\n return l >= 0 && l <= 1 && u >= 0 && u <= 1;\n}\nconst ot = {\n extends: Q()\n}, B = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [i, s] of t)\n o[i] = s;\n return o;\n};\nfunction it(e, t, o, i, s, r) {\n return f(), T(\"div\", {\n ref: \"reference\",\n class: J([\"v-popper\", {\n \"v-popper--shown\": e.slotData.isShown\n }])\n }, [\n A(e.$slots, \"default\", ke(Le(e.slotData)))\n ], 2);\n}\nconst st = /* @__PURE__ */ B(ot, [[\"render\", it]]);\nfunction nt() {\n var e = window.navigator.userAgent, t = e.indexOf(\"MSIE \");\n if (t > 0)\n return parseInt(e.substring(t + 5, e.indexOf(\".\", t)), 10);\n var o = e.indexOf(\"Trident/\");\n if (o > 0) {\n var i = e.indexOf(\"rv:\");\n return parseInt(e.substring(i + 3, e.indexOf(\".\", i)), 10);\n }\n var s = e.indexOf(\"Edge/\");\n return s > 0 ? parseInt(e.substring(s + 5, e.indexOf(\".\", s)), 10) : -1;\n}\nlet z;\nfunction X() {\n X.init || (X.init = !0, z = nt() !== -1);\n}\nvar E = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: !1\n },\n ignoreWidth: {\n type: Boolean,\n default: !1\n },\n ignoreHeight: {\n type: Boolean,\n default: !1\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n X(), Fe(() => {\n this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitOnMount && this.emitSize();\n });\n const e = document.createElement(\"object\");\n this._resizeObject = e, e.setAttribute(\"aria-hidden\", \"true\"), e.setAttribute(\"tabindex\", -1), e.onload = this.addResizeHandlers, e.type = \"text/html\", z && this.$el.appendChild(e), e.data = \"about:blank\", z || this.$el.appendChild(e);\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) && (this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitSize());\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify), this.compareAndNotify();\n },\n removeResizeHandlers() {\n this._resizeObject && this._resizeObject.onload && (!z && this._resizeObject.contentDocument && this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify), this.$el.removeChild(this._resizeObject), this._resizeObject.onload = null, this._resizeObject = null);\n }\n }\n};\nconst rt = /* @__PURE__ */ Re(\"data-v-b329ee4c\");\nDe(\"data-v-b329ee4c\");\nconst pt = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\nIe();\nconst at = /* @__PURE__ */ rt((e, t, o, i, s, r) => (f(), M(\"div\", pt)));\nE.render = at;\nE.__scopeId = \"data-v-b329ee4c\";\nE.__file = \"src/components/ResizeObserver.vue\";\nconst Z = (e = \"theme\") => ({\n computed: {\n themeClass() {\n return Ze(this[e]);\n }\n }\n}), dt = O({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: E\n },\n mixins: [\n Z()\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(e) {\n return e != null && !isNaN(e) ? `${e}px` : null;\n }\n }\n}), lt = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"], ht = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n}, ut = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1), ft = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1), ct = [\n ut,\n ft\n];\nfunction mt(e, t, o, i, s, r) {\n const p = P(\"ResizeObserver\");\n return f(), T(\"div\", {\n id: e.popperId,\n ref: \"popover\",\n class: J([\"v-popper__popper\", [\n e.themeClass,\n e.classes.popperClass,\n {\n \"v-popper__popper--shown\": e.shown,\n \"v-popper__popper--hidden\": !e.shown,\n \"v-popper__popper--show-from\": e.classes.showFrom,\n \"v-popper__popper--show-to\": e.classes.showTo,\n \"v-popper__popper--hide-from\": e.classes.hideFrom,\n \"v-popper__popper--hide-to\": e.classes.hideTo,\n \"v-popper__popper--skip-transition\": e.skipTransition,\n \"v-popper__popper--arrow-overflow\": e.result && e.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !e.result\n }\n ]]),\n style: W(e.result ? {\n position: e.result.strategy,\n transform: `translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`\n } : void 0),\n \"aria-hidden\": e.shown ? \"false\" : \"true\",\n tabindex: e.autoHide ? 0 : void 0,\n \"data-popper-placement\": e.result ? e.result.placement : void 0,\n onKeyup: t[2] || (t[2] = je((a) => e.autoHide && e.$emit(\"hide\"), [\"esc\"]))\n }, [\n w(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: t[0] || (t[0] = (a) => e.autoHide && e.$emit(\"hide\"))\n }),\n w(\"div\", {\n class: \"v-popper__wrapper\",\n style: W(e.result ? {\n transformOrigin: e.result.transformOrigin\n } : void 0)\n }, [\n w(\"div\", ht, [\n e.mounted ? (f(), T(Ve, { key: 0 }, [\n w(\"div\", null, [\n A(e.$slots, \"default\")\n ]),\n e.handleResize ? (f(), M(p, {\n key: 0,\n onNotify: t[1] || (t[1] = (a) => e.$emit(\"resize\", a))\n })) : se(\"\", !0)\n ], 64)) : se(\"\", !0)\n ], 512),\n w(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: W(e.result ? {\n left: e.toPx(e.result.arrow.x),\n top: e.toPx(e.result.arrow.y)\n } : void 0)\n }, ct, 4)\n ], 4)\n ], 46, lt);\n}\nconst ee = /* @__PURE__ */ B(dt, [[\"render\", mt]]), te = {\n methods: {\n show(...e) {\n return this.$refs.popper.show(...e);\n },\n hide(...e) {\n return this.$refs.popper.hide(...e);\n },\n dispose(...e) {\n return this.$refs.popper.dispose(...e);\n },\n onResize(...e) {\n return this.$refs.popper.onResize(...e);\n }\n }\n};\nlet K = function() {\n};\ntypeof window < \"u\" && (K = window.Element);\nconst gt = O({\n name: \"VPopperWrapper\",\n components: {\n Popper: st,\n PopperContent: ee\n },\n mixins: [\n te,\n Z(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n },\n referenceNode: {\n type: Function,\n default: null\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: void 0\n },\n positioningDisabled: {\n type: Boolean,\n default: void 0\n },\n placement: {\n type: String,\n default: void 0\n },\n delay: {\n type: [String, Number, Object],\n default: void 0\n },\n distance: {\n type: [Number, String],\n default: void 0\n },\n skidding: {\n type: [Number, String],\n default: void 0\n },\n triggers: {\n type: Array,\n default: void 0\n },\n showTriggers: {\n type: [Array, Function],\n default: void 0\n },\n hideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperTriggers: {\n type: Array,\n default: void 0\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n container: {\n type: [String, Object, K, Boolean],\n default: void 0\n },\n boundary: {\n type: [String, K],\n default: void 0\n },\n strategy: {\n type: String,\n default: void 0\n },\n autoHide: {\n type: [Boolean, Function],\n default: void 0\n },\n handleResize: {\n type: Boolean,\n default: void 0\n },\n instantMove: {\n type: Boolean,\n default: void 0\n },\n eagerMount: {\n type: Boolean,\n default: void 0\n },\n popperClass: {\n type: [String, Array, Object],\n default: void 0\n },\n computeTransformOrigin: {\n type: Boolean,\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: void 0\n },\n autoSize: {\n type: [Boolean, String],\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: void 0\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: void 0\n },\n preventOverflow: {\n type: Boolean,\n default: void 0\n },\n overflowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowOverflow: {\n type: Boolean,\n default: void 0\n },\n flip: {\n type: Boolean,\n default: void 0\n },\n shift: {\n type: Boolean,\n default: void 0\n },\n shiftCrossAxis: {\n type: Boolean,\n default: void 0\n },\n noAutoFocus: {\n type: Boolean,\n default: void 0\n },\n disposeTimeout: {\n type: Number,\n default: void 0\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n computed: {\n finalTheme() {\n return this.theme ?? this.$options.vPopperTheme;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$el.children).filter((e) => e !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction wt(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$props, {\n theme: e.finalTheme,\n \"target-nodes\": e.getTargetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n class: [\n e.themeClass\n ],\n onShow: t[0] || (t[0] = () => e.$emit(\"show\")),\n onHide: t[1] || (t[1] = () => e.$emit(\"hide\")),\n \"onUpdate:shown\": t[2] || (t[2] = (l) => e.$emit(\"update:shown\", l)),\n onApplyShow: t[3] || (t[3] = () => e.$emit(\"apply-show\")),\n onApplyHide: t[4] || (t[4] = () => e.$emit(\"apply-hide\")),\n onCloseGroup: t[5] || (t[5] = () => e.$emit(\"close-group\")),\n onCloseDirective: t[6] || (t[6] = () => e.$emit(\"close-directive\")),\n onAutoHide: t[7] || (t[7] = () => e.$emit(\"auto-hide\")),\n onResize: t[8] || (t[8] = () => e.$emit(\"resize\"))\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n show: F,\n hide: v,\n handleResize: R,\n onResize: j,\n classes: V,\n result: Ee\n }) => [\n A(e.$slots, \"default\", {\n shown: u,\n show: F,\n hide: v\n }),\n ve(p, {\n ref: \"popperContent\",\n \"popper-id\": l,\n theme: e.finalTheme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": R,\n classes: V,\n result: Ee,\n onHide: v,\n onResize: j\n }, {\n default: N(() => [\n A(e.$slots, \"popper\", {\n shown: u,\n hide: v\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nconst k = /* @__PURE__ */ B(gt, [[\"render\", wt]]), Se = {\n ...k,\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}, be = {\n ...k,\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}, Ce = {\n ...k,\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}, $t = O({\n name: \"VTooltipDirective\",\n components: {\n Popper: Q(),\n PopperContent: ee\n },\n mixins: [\n te\n ],\n inheritAttrs: !1,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (e) => S(e.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (e) => S(e.theme, \"loadingContent\")\n },\n targetNodes: {\n type: Function,\n required: !0\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content == \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n return this.isContentAsync ? this.loading ? this.loadingContent : this.asyncContent : this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(!0);\n },\n immediate: !0\n },\n async finalContent() {\n await this.$nextTick(), this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(e) {\n if (typeof this.content == \"function\" && this.$_isShown && (e || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null, this.$_loading = !0;\n const t = ++this.$_fetchId, o = this.content(this);\n o.then ? o.then((i) => this.onResult(t, i)) : this.onResult(t, o);\n }\n },\n onResult(e, t) {\n e === this.$_fetchId && (this.$_loading = !1, this.asyncContent = t);\n },\n onShow() {\n this.$_isShown = !0, this.fetchContent();\n },\n onHide() {\n this.$_isShown = !1;\n }\n }\n}), vt = [\"innerHTML\"], yt = [\"textContent\"];\nfunction _t(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$attrs, {\n theme: e.theme,\n \"target-nodes\": e.targetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n onApplyShow: e.onShow,\n onApplyHide: e.onHide\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n hide: F,\n handleResize: v,\n onResize: R,\n classes: j,\n result: V\n }) => [\n ve(p, {\n ref: \"popperContent\",\n class: J({\n \"v-popper--tooltip-loading\": e.loading\n }),\n \"popper-id\": l,\n theme: e.theme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": v,\n classes: j,\n result: V,\n onHide: F,\n onResize: R\n }, {\n default: N(() => [\n e.html ? (f(), T(\"div\", {\n key: 0,\n innerHTML: e.finalContent\n }, null, 8, vt)) : (f(), T(\"div\", {\n key: 1,\n textContent: We(e.finalContent)\n }, null, 8, yt))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nconst ze = /* @__PURE__ */ B($t, [[\"render\", _t]]), Ae = \"v-popper--has-tooltip\";\nfunction Tt(e, t) {\n let o = e.placement;\n if (!o && t)\n for (const i of Te)\n t[i] && (o = i);\n return o || (o = S(e.theme || \"tooltip\", \"placement\")), o;\n}\nfunction Ne(e, t, o) {\n let i;\n const s = typeof t;\n return s === \"string\" ? i = { content: t } : t && s === \"object\" ? i = t : i = { content: !1 }, i.placement = Tt(i, o), i.targetNodes = () => [e], i.referenceNode = () => e, i;\n}\nlet x, b, Pt = 0;\nfunction St() {\n if (x)\n return;\n b = U([]), x = Ge({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives: b\n };\n },\n render() {\n return this.directives.map((t) => qe(ze, {\n ...t.options,\n shown: t.shown || t.options.shown,\n key: t.id\n }));\n },\n devtools: {\n hide: !0\n }\n });\n const e = document.createElement(\"div\");\n document.body.appendChild(e), x.mount(e);\n}\nfunction bt(e, t, o) {\n St();\n const i = U(Ne(e, t, o)), s = U(!1), r = {\n id: Pt++,\n options: i,\n shown: s\n };\n return b.value.push(r), e.classList && e.classList.add(Ae), e.$_popper = {\n options: i,\n item: r,\n show() {\n s.value = !0;\n },\n hide() {\n s.value = !1;\n }\n };\n}\nfunction He(e) {\n if (e.$_popper) {\n const t = b.value.indexOf(e.$_popper.item);\n t !== -1 && b.value.splice(t, 1), delete e.$_popper, delete e.$_popperOldShown, delete e.$_popperMountTarget;\n }\n e.classList && e.classList.remove(Ae);\n}\nfunction me(e, { value: t, modifiers: o }) {\n const i = Ne(e, t, o);\n if (!i.content || S(i.theme || \"tooltip\", \"disabled\"))\n He(e);\n else {\n let s;\n e.$_popper ? (s = e.$_popper, s.options.value = i) : s = bt(e, t, o), typeof t.shown < \"u\" && t.shown !== e.$_popperOldShown && (e.$_popperOldShown = t.shown, t.shown ? s.show() : s.hide());\n }\n}\nconst oe = {\n beforeMount: me,\n updated: me,\n beforeUnmount(e) {\n He(e);\n }\n};\nfunction ge(e) {\n e.addEventListener(\"mousedown\", H), e.addEventListener(\"click\", H), e.addEventListener(\"touchstart\", Oe, $ ? {\n passive: !0\n } : !1);\n}\nfunction we(e) {\n e.removeEventListener(\"mousedown\", H), e.removeEventListener(\"click\", H), e.removeEventListener(\"touchstart\", Oe), e.removeEventListener(\"touchend\", Me), e.removeEventListener(\"touchcancel\", Be);\n}\nfunction H(e) {\n const t = e.currentTarget;\n e.closePopover = !t.$_vclosepopover_touch, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n}\nfunction Oe(e) {\n if (e.changedTouches.length === 1) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !0;\n const o = e.changedTouches[0];\n t.$_vclosepopover_touchPoint = o, t.addEventListener(\"touchend\", Me), t.addEventListener(\"touchcancel\", Be);\n }\n}\nfunction Me(e) {\n const t = e.currentTarget;\n if (t.$_vclosepopover_touch = !1, e.changedTouches.length === 1) {\n const o = e.changedTouches[0], i = t.$_vclosepopover_touchPoint;\n e.closePopover = Math.abs(o.screenY - i.screenY) < 20 && Math.abs(o.screenX - i.screenX) < 20, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n }\n}\nfunction Be(e) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !1;\n}\nconst ie = {\n beforeMount(e, { value: t, modifiers: o }) {\n e.$_closePopoverModifiers = o, (typeof t > \"u\" || t) && ge(e);\n },\n updated(e, { value: t, oldValue: o, modifiers: i }) {\n e.$_closePopoverModifiers = i, t !== o && (typeof t > \"u\" || t ? ge(e) : we(e));\n },\n beforeUnmount(e) {\n we(e);\n }\n}, Ht = h, Ot = oe, Mt = oe, Bt = ie, Et = ie, kt = Se, Lt = be, Dt = Q, It = ee, Ft = te, Rt = k, jt = Z, Vt = Ce, Wt = ze;\nfunction Ct(e, t = {}) {\n e.$_vTooltipInstalled || (e.$_vTooltipInstalled = !0, ye(h, t), e.directive(\"tooltip\", oe), e.directive(\"close-popper\", ie), e.component(\"VTooltip\", Ce), e.component(\"VDropdown\", Se), e.component(\"VMenu\", be));\n}\nconst Gt = {\n // eslint-disable-next-line no-undef\n version: \"5.2.2\",\n install: Ct,\n options: h\n};\nexport {\n kt as Dropdown,\n ae as HIDE_EVENT_MAP,\n Lt as Menu,\n Dt as Popper,\n It as PopperContent,\n Ft as PopperMethods,\n Rt as PopperWrapper,\n pe as SHOW_EVENT_MAP,\n jt as ThemeClass,\n Vt as Tooltip,\n Wt as TooltipDirective,\n Bt as VClosePopper,\n Ot as VTooltip,\n bt as createTooltip,\n Gt as default,\n He as destroyTooltip,\n Nt as hideAllPoppers,\n Ct as install,\n Ht as options,\n Te as placements,\n tt as recomputeAllPoppers,\n Et as vClosePopper,\n Mt as vTooltip\n};\n","import { getLoggerBuilder } from \"@nextcloud/logger\";\nconst logger = getLoggerBuilder().detectUser().setApp(\"@nextcloud/vue\").build();\nexport {\n logger as l\n};\n//# sourceMappingURL=logger-D3RVzcfQ.mjs.map\n","import { isRTL } from \"@nextcloud/l10n\";\nconst isRtl = isRTL();\nexport {\n isRtl as i\n};\n//# sourceMappingURL=rtl-v0UOPAM7.mjs.map\n","import '../assets/NcPopover-CZ3pMU6Y.css';\nimport { options, Dropdown } from \"floating-vue\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { defineComponent, warn, resolveComponent, createBlock, openBlock, withCtx, createVNode, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main$1 = defineComponent({\n name: \"NcPopoverTriggerProvider\",\n provide() {\n return {\n \"NcPopover:trigger:shown\": () => this.shown,\n \"NcPopover:trigger:attrs\": () => this.triggerAttrs\n };\n },\n props: {\n /**\n * Is the popover currently shown\n */\n shown: {\n type: Boolean,\n required: true\n },\n /**\n * ARIA Role of the popup\n */\n popupRole: {\n type: String,\n default: void 0\n }\n },\n computed: {\n triggerAttrs() {\n return {\n \"aria-haspopup\": this.popupRole,\n \"aria-expanded\": this.shown.toString()\n };\n }\n },\n render() {\n return this.$slots.default?.({\n attrs: this.triggerAttrs\n });\n }\n});\nconst ncPopover = \"_ncPopover_wpltc_20\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_wpltc_12\",\n ncPopover\n};\nconst theme = \"nc-popover-9\";\noptions.themes[theme] = structuredClone(options.themes.dropdown);\nconst _sfc_main = {\n name: \"NcPopover\",\n components: {\n Dropdown,\n NcPopoverTriggerProvider: _sfc_main$1\n },\n props: {\n /**\n * Element to use for calculating the popper boundary (size and position).\n * Either a query string or the actual HTMLElement.\n */\n boundary: {\n type: [String, Object],\n default: \"\"\n },\n /**\n * Automatically hide the popover on click outside.\n *\n * @deprecated Use `no-close-on-click-outside` instead (inverted value)\n */\n closeOnClickOutside: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Disable the automatic popover hide on click outside.\n */\n noCloseOnClickOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Container where to mount the popover.\n * Either a select query or `false` to mount to the parent node.\n */\n container: {\n type: [Boolean, String],\n default: \"body\"\n },\n /**\n * Delay for showing or hiding the popover.\n *\n * Can either be a number or an object to configure different delays (`{ show: number, hide: number }`).\n */\n delay: {\n type: [Number, Object],\n default: 0\n },\n /**\n * Disable the popover focus trap.\n */\n noFocusTrap: {\n type: Boolean,\n default: false\n },\n /**\n * Where to place the popover.\n *\n * This consists of the vertical placement and the horizontal placement.\n * E.g. `bottom` will place the popover on the bottom of the trigger (horizontally centered),\n * while `buttom-start` will horizontally align the popover on the logical start (e.g. for LTR layout on the left.).\n * The `start` or `end` placement will align the popover on the left or right side or the trigger element.\n *\n * @type {'auto'|'auto-start'|'auto-end'|'top'|'top-start'|'top-end'|'bottom'|'bottom-start'|'bottom-end'|'start'|'end'}\n */\n placement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Class to be applied to the popover base\n */\n popoverBaseClass: {\n type: String,\n default: \"\"\n },\n /**\n * Events that trigger the popover on the popover container itself.\n * This is useful if you set `triggers` to `hover` and also want the popover to stay open while hovering the popover itself.\n *\n * It is possible to also pass an object to define different triggers for hide and show `{ show: ['hover'], hide: ['click'] }`.\n */\n popoverTriggers: {\n type: [Array, Object],\n default: null\n },\n /**\n * Popup role\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n */\n popupRole: {\n type: String,\n default: void 0,\n validator: (value) => [\"menu\", \"listbox\", \"tree\", \"grid\", \"dialog\", \"true\"].includes(value)\n },\n /**\n * Set element to return focus to after focus trap deactivation\n *\n * @type {SetReturnFocus}\n */\n setReturnFocus: {\n default: void 0,\n type: [Boolean, HTMLElement, SVGElement, String, Function]\n },\n /**\n * Show or hide the popper\n */\n shown: {\n type: Boolean,\n default: false\n },\n /**\n * Events that trigger the popover.\n *\n * If you pass an empty array then only the `shown` prop can control the popover state.\n * Following events are available:\n * - `'hover'`\n * - `'click'`\n * - `'focus'`\n * - `'touch'`\n *\n * It is also possible to pass an object to have different events for show and hide:\n * `{ hide: ['click'], show: ['click', 'hover'] }`\n */\n triggers: {\n type: [Array, Object],\n default: () => [\"click\"]\n }\n },\n emits: [\n \"afterShow\",\n \"afterHide\",\n \"update:shown\"\n ],\n setup() {\n return {\n theme\n };\n },\n data() {\n return {\n internalShown: this.shown\n };\n },\n computed: {\n popperTriggers() {\n if (this.popoverTriggers && Array.isArray(this.popoverTriggers)) {\n return this.popoverTriggers;\n }\n return void 0;\n },\n popperHideTriggers() {\n if (this.popoverTriggers && typeof this.popoverTriggers === \"object\") {\n return this.popoverTriggers.hide;\n }\n return void 0;\n },\n popperShowTriggers() {\n if (this.popoverTriggers && typeof this.popoverTriggers === \"object\") {\n return this.popoverTriggers.show;\n }\n return void 0;\n },\n internalTriggers() {\n if (this.triggers && Array.isArray(this.triggers)) {\n return this.triggers;\n }\n return void 0;\n },\n hideTriggers() {\n if (this.triggers && typeof this.triggers === \"object\") {\n return this.triggers.hide;\n }\n return void 0;\n },\n showTriggers() {\n if (this.triggers && typeof this.triggers === \"object\") {\n return this.triggers.show;\n }\n return void 0;\n },\n internalPlacement() {\n if (this.placement === \"start\") {\n return isRtl ? \"right\" : \"left\";\n } else if (this.placement === \"end\") {\n return isRtl ? \"left\" : \"right\";\n }\n return this.placement;\n }\n },\n watch: {\n shown(value) {\n this.internalShown = value;\n },\n internalShown(value) {\n this.$emit(\"update:shown\", value);\n }\n },\n mounted() {\n this.checkTriggerA11y();\n },\n beforeUnmount() {\n this.clearFocusTrap();\n this.clearEscapeStopPropagation();\n },\n methods: {\n /**\n * Check if the trigger has all required a11y attributes.\n * Important to check custom trigger button.\n */\n checkTriggerA11y() {\n if (window.OC?.debug) {\n const triggerContainer = this.getPopoverTriggerContainerElement();\n const requiredTriggerButton = triggerContainer.querySelector(\"[aria-expanded]\");\n if (!requiredTriggerButton) {\n warn(\"It looks like you are using a custom button as a <NcPopover> or other popover #trigger. If you are not using <NcButton> as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See <NcPopover> docs for an example.\");\n }\n }\n },\n /**\n * Remove incorrect aria-describedby attribute from the trigger.\n *\n * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n */\n removeFloatingVueAriaDescribedBy() {\n const triggerContainer = this.getPopoverTriggerContainerElement();\n const triggerElements = triggerContainer.querySelectorAll(\"[data-popper-shown]\");\n for (const el of triggerElements) {\n el.removeAttribute(\"aria-describedby\");\n }\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverContentElement() {\n return this.$refs.popover?.$refs.popperContent?.$el;\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverTriggerContainerElement() {\n return this.$refs.popover?.$refs.popper?.$refs.reference;\n },\n /**\n * Add focus trap for accessibility.\n */\n async useFocusTrap() {\n await this.$nextTick();\n if (this.noFocusTrap) {\n return;\n }\n const el = this.getPopoverContentElement();\n el.tabIndex = -1;\n if (!el) {\n return;\n }\n this.$focusTrap = createFocusTrap(el, {\n // Prevents to lose focus using esc key\n // Focus will be release when popover be hide\n escapeDeactivates: false,\n allowOutsideClick: true,\n setReturnFocus: this.setReturnFocus,\n trapStack: getTrapStack(),\n fallBackFocus: el\n });\n this.$focusTrap.activate();\n },\n /**\n * Remove focus trap\n *\n * @param {object} options The configuration options for focusTrap\n */\n clearFocusTrap(options2 = {}) {\n try {\n this.$focusTrap?.deactivate(options2);\n this.$focusTrap = null;\n } catch (error) {\n logger.warn(\"[NcPopover] Failed to clear focus trap\", { error });\n }\n },\n /**\n * Add stopPropagation for Escape.\n * It prevents global Escape handling after closing popover.\n *\n * Manual event handling is used here instead of v-on because there is no direct access to the node.\n * Alternative - wrap <template #popover> in a div wrapper.\n */\n addEscapeStopPropagation() {\n const el = this.getPopoverContentElement();\n el?.addEventListener(\"keydown\", this.stopKeydownEscapeHandler);\n },\n /**\n * Remove stop Escape handler\n */\n clearEscapeStopPropagation() {\n const el = this.getPopoverContentElement();\n el?.removeEventListener(\"keydown\", this.stopKeydownEscapeHandler);\n },\n /**\n * @param {KeyboardEvent} event - native keydown event\n */\n stopKeydownEscapeHandler(event) {\n if (event.type === \"keydown\" && event.key === \"Escape\") {\n event.stopPropagation();\n }\n },\n async afterShow() {\n this.getPopoverContentElement().addEventListener(\"transitionend\", () => {\n this.$emit(\"afterShow\");\n }, { once: true, passive: true });\n this.removeFloatingVueAriaDescribedBy();\n await this.$nextTick();\n await this.useFocusTrap();\n this.addEscapeStopPropagation();\n },\n afterHide() {\n this.getPopoverContentElement()?.addEventListener(\"transitionend\", () => {\n this.$emit(\"afterHide\");\n }, { once: true, passive: true });\n this.clearFocusTrap();\n this.clearEscapeStopPropagation();\n }\n }\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcPopoverTriggerProvider = resolveComponent(\"NcPopoverTriggerProvider\");\n const _component_Dropdown = resolveComponent(\"Dropdown\");\n return openBlock(), createBlock(_component_Dropdown, {\n ref: \"popover\",\n shown: $data.internalShown,\n \"onUpdate:shown\": [\n _cache[0] || (_cache[0] = ($event) => $data.internalShown = $event),\n _cache[1] || (_cache[1] = ($event) => $data.internalShown = $event)\n ],\n \"arrow-padding\": 10,\n \"auto-hide\": !$props.noCloseOnClickOutside && $props.closeOnClickOutside,\n boundary: $props.boundary || void 0,\n container: $props.container,\n delay: $props.delay,\n distance: 10,\n \"handle-resize\": \"\",\n \"no-auto-focus\": true,\n placement: $options.internalPlacement,\n \"popper-class\": [_ctx.$style.ncPopover, $props.popoverBaseClass],\n \"popper-triggers\": $options.popperTriggers,\n \"popper-hide-triggers\": $options.popperHideTriggers,\n \"popper-show-triggers\": $options.popperShowTriggers,\n theme: $setup.theme,\n triggers: $options.internalTriggers,\n \"hide-triggers\": $options.hideTriggers,\n \"show-triggers\": $options.showTriggers,\n onApplyShow: $options.afterShow,\n onApplyHide: $options.afterHide\n }, {\n popper: withCtx((slotProps) => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(slotProps)))\n ]),\n default: withCtx(() => [\n createVNode(_component_NcPopoverTriggerProvider, {\n shown: $data.internalShown,\n \"popup-role\": $props.popupRole\n }, {\n default: withCtx((slotProps) => [\n renderSlot(_ctx.$slots, \"trigger\", normalizeProps(guardReactiveProps(slotProps)))\n ]),\n _: 3\n }, 8, [\"shown\", \"popup-role\"])\n ]),\n _: 3\n }, 8, [\"shown\", \"auto-hide\", \"boundary\", \"container\", \"delay\", \"placement\", \"popper-class\", \"popper-triggers\", \"popper-hide-triggers\", \"popper-show-triggers\", \"theme\", \"triggers\", \"hide-triggers\", \"show-triggers\", \"onApplyShow\", \"onApplyHide\"]);\n}\nconst cssModules = {\n \"$style\": style0\n};\nconst NcPopover = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__cssModules\", cssModules]]);\nexport {\n NcPopover as N\n};\n//# sourceMappingURL=NcPopover-C-MTaPCs.mjs.map\n","const NC_ACTIONS_IS_SEMANTIC_MENU = Symbol.for(\"NcActions:isSemanticMenu\");\nconst NC_ACTIONS_CLOSE_MENU = Symbol.for(\"NcActions:closeMenu\");\nexport {\n NC_ACTIONS_CLOSE_MENU as N,\n NC_ACTIONS_IS_SEMANTIC_MENU as a\n};\n//# sourceMappingURL=useNcActions-CiGWxAJE.mjs.map\n","import '../assets/NcActions-DneK-9R2.css';\nimport { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, Comment, Fragment, Text, warn, h, computed } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useTrapStackControl } from \"./useTrapStackControl-B6cEicto.mjs\";\nimport { r as register, q as t4, a as t } from \"./_l10n-CWKr1fUH.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcButton } from \"./NcButton-ZNHdqKQl.mjs\";\nimport { N as NcPopover } from \"./NcPopover-C-MTaPCs.mjs\";\nimport { N as NC_ACTIONS_CLOSE_MENU, a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-CiGWxAJE.mjs\";\nconst _sfc_main$1 = {\n name: \"DotsHorizontalIcon\",\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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon dots-horizontal-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconDotsHorizontal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nregister(t4);\nfunction isSlotPopulated(vnodes) {\n return Array.isArray(vnodes) && vnodes.some((node) => {\n if (node === null) {\n return false;\n } else if (typeof node === \"object\") {\n const vnode = node;\n if (vnode.type === Comment) {\n return false;\n } else if (vnode.type === Fragment && !isSlotPopulated(vnode.children)) {\n return false;\n } else if (vnode.type === Text && !vnode.children.trim()) {\n return false;\n }\n }\n return true;\n });\n}\nconst focusableSelector = \".focusable\";\nconst _sfc_main = {\n name: \"NcActions\",\n components: {\n NcButton,\n NcPopover\n },\n provide() {\n return {\n /**\n * NcActions can be used as:\n * - Application menu (has menu role)\n * - Navigation (has no specific role, should be used an element with navigation role)\n * - Popover with plain text or text inputs (has no specific role)\n * Depending on the usage (used items), the menu and its items should have different roles for a11y.\n * Provide the role for NcAction* components in the NcActions content.\n *\n * @type {import('vue').ComputedRef<boolean>}\n */\n [NC_ACTIONS_IS_SEMANTIC_MENU]: computed(() => this.actionsMenuSemanticType === \"menu\"),\n [NC_ACTIONS_CLOSE_MENU]: this.closeMenu\n };\n },\n props: {\n /**\n * Specify the open state of the popover menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * This disables the internal open management,\n * so the actions menu only respects the `open` prop.\n * This is e.g. necessary for the NcAvatar component\n * to only open the actions menu after loading it's entries has finished.\n */\n manualOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Force the name to show for single actions\n */\n forceName: {\n type: Boolean,\n default: false\n },\n /**\n * Specify the menu name\n */\n menuName: {\n type: String,\n default: null\n },\n /**\n * Apply primary styling for this menu\n */\n primary: {\n type: Boolean,\n default: false\n },\n /**\n * Icon to show for the toggle menu button\n * when more than one action is inside the actions component.\n * Only replace the default three-dot icon if really necessary.\n */\n defaultIcon: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions menu.\n *\n * If `menuName` is defined this will not be used to prevent\n * any accessible name conflicts. This ensures that the\n * element can be activated via voice input.\n */\n ariaLabel: {\n type: String,\n default: t(\"Actions\")\n },\n /**\n * Wanted direction of the menu\n */\n placement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * DOM element for the actions' popover boundaries\n */\n boundariesElement: {\n type: Element,\n default: () => document.getElementById(\"content-vue\") ?? document.querySelector(\"body\")\n },\n /**\n * Selector for the actions' popover container\n */\n container: {\n type: [Boolean, String, Object, Element],\n default: \"body\"\n },\n /**\n * Disabled state of the main button (single action or menu toggle)\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Display x items inline out of the dropdown menu\n * Will be ignored if `forceMenu` is set\n */\n inline: {\n type: Number,\n default: 0\n },\n /**\n * Specifies the button variant used for trigger and single actions buttons.\n *\n * If left empty, the default button style will be applied.\n *\n * @since 8.23.0\n */\n variant: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value);\n },\n default: null\n },\n /**\n * Specify the size used for trigger and single actions buttons.\n *\n * If left empty, the default button size will be applied.\n */\n size: {\n type: String,\n default: \"normal\",\n validator(value) {\n return [\"small\", \"normal\", \"large\"].includes(value);\n }\n }\n },\n emits: [\n \"click\",\n \"blur\",\n \"focus\",\n \"close\",\n \"closed\",\n \"open\",\n \"opened\",\n \"update:open\"\n ],\n setup() {\n const randomId = createElementId();\n return {\n randomId\n };\n },\n data() {\n return {\n opened: this.open,\n focusIndex: 0,\n /**\n * @type {'menu'|'navigation'|'dialog'|'tooltip'|'unknown'}\n */\n actionsMenuSemanticType: \"unknown\"\n };\n },\n computed: {\n triggerButtonVariant() {\n return this.variant || (this.primary ? \"primary\" : this.menuName ? \"secondary\" : \"tertiary\");\n },\n /**\n * A11y roles and keyboard navigation configuration depending on the semantic type\n */\n config() {\n const configs = {\n menu: {\n popupRole: \"menu\",\n withArrowNavigation: true,\n withTabNavigation: false,\n withFocusTrap: false\n },\n navigation: {\n popupRole: void 0,\n withArrowNavigation: false,\n withTabNavigation: true,\n withFocusTrap: false\n },\n dialog: {\n popupRole: \"dialog\",\n withArrowNavigation: false,\n withTabNavigation: true,\n withFocusTrap: true\n },\n tooltip: {\n popupRole: void 0,\n withArrowNavigation: false,\n withTabNavigation: false,\n withFocusTrap: false\n },\n // Due to Vue limitations, we sometimes cannot determine the true type\n // As a fallback use both arrow navigation and focus trap\n unknown: {\n popupRole: void 0,\n role: void 0,\n withArrowNavigation: true,\n withTabNavigation: false,\n withFocusTrap: true\n }\n };\n return configs[this.actionsMenuSemanticType];\n },\n withFocusTrap() {\n return this.config.withFocusTrap;\n }\n },\n watch: {\n // Watch parent prop\n open(state) {\n if (state === this.opened) {\n return;\n }\n this.opened = state;\n },\n opened() {\n if (this.opened) {\n document.body.addEventListener(\"keydown\", this.handleEscapePressed);\n } else {\n document.body.removeEventListener(\"keydown\", this.handleEscapePressed);\n }\n }\n },\n created() {\n useTrapStackControl(() => this.opened, {\n disabled: () => this.config.withFocusTrap\n });\n if (\"ariaHidden\" in this.$attrs) {\n warn(\"[NcActions]: Do not set the ariaHidden attribute as the root element will inherit the incorrect aria-hidden.\");\n }\n },\n methods: {\n /**\n * Get the name of the action component\n *\n * @param {import('vue').VNode} action - a vnode with a NcAction* component instance\n * @return {string} the name of the action component\n */\n getActionName(action) {\n return action?.type?.name;\n },\n /**\n * Do we have exactly one Action and\n * is it allowed as a standalone element?\n *\n * @param {import('vue').VNode} action The action to check\n * @return {boolean}\n */\n isValidSingleAction(action) {\n return [\"NcActionButton\", \"NcActionLink\", \"NcActionRouter\"].includes(this.getActionName(action));\n },\n isAction(action) {\n return this.getActionName(action)?.startsWith?.(\"NcAction\");\n },\n /**\n * Check whether a icon prop value is an URL or not\n *\n * @param {string} url The icon prop value\n */\n isIconUrl(url) {\n try {\n return !!new URL(url, url.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n },\n // MENU STATE MANAGEMENT\n toggleMenu(state) {\n if (state) {\n this.openMenu();\n } else {\n this.closeMenu();\n }\n },\n openMenu() {\n if (this.opened) {\n return;\n }\n this.opened = true;\n this.$emit(\"update:open\", true);\n this.$emit(\"open\");\n },\n async closeMenu(returnFocus = true) {\n if (!this.opened) {\n return;\n }\n await this.$nextTick();\n this.opened = false;\n this.$refs.popover?.clearFocusTrap({ returnFocus });\n this.$emit(\"update:open\", false);\n this.$emit(\"close\");\n this.focusIndex = 0;\n if (returnFocus) {\n this.$refs.triggerButton?.$el.focus();\n }\n },\n /**\n * Called when popover is shown after the show delay\n */\n onOpened() {\n this.$nextTick(() => {\n this.focusFirstAction(null);\n this.$emit(\"opened\");\n });\n },\n onClosed() {\n this.$emit(\"closed\");\n },\n // MENU KEYS & FOCUS MANAGEMENT\n /**\n * @return {HTMLElement|null}\n */\n getCurrentActiveMenuItemElement() {\n return this.$refs.menu.querySelector(\"li.active\");\n },\n /**\n * @return {NodeList<HTMLElement>}\n */\n getFocusableMenuItemElements() {\n return this.$refs.menu.querySelectorAll(focusableSelector);\n },\n /**\n * Dispatches the keydown listener to different handlers\n *\n * @param {object} event The keydown event\n */\n onKeydown(event) {\n if (event.key === \"Tab\") {\n if (this.config.withFocusTrap) {\n return;\n }\n if (!this.config.withTabNavigation) {\n this.closeMenu(true);\n return;\n }\n event.preventDefault();\n const focusList = this.getFocusableMenuItemElements();\n const focusIndex = [...focusList].indexOf(document.activeElement);\n if (focusIndex === -1) {\n return;\n }\n const newFocusIndex = event.shiftKey ? focusIndex - 1 : focusIndex + 1;\n if (newFocusIndex < 0 || newFocusIndex === focusList.length) {\n this.closeMenu(true);\n }\n this.focusIndex = newFocusIndex;\n this.focusAction();\n return;\n }\n if (this.config.withArrowNavigation) {\n if (event.key === \"ArrowUp\") {\n this.focusPreviousAction(event);\n }\n if (event.key === \"ArrowDown\") {\n this.focusNextAction(event);\n }\n if (event.key === \"PageUp\") {\n this.focusFirstAction(event);\n }\n if (event.key === \"PageDown\") {\n this.focusLastAction(event);\n }\n }\n this.handleEscapePressed(event);\n },\n onTriggerKeydown(event) {\n if (event.key === \"Escape\") {\n if (this.actionsMenuSemanticType === \"tooltip\") {\n this.closeMenu();\n }\n }\n },\n handleEscapePressed(event) {\n if (event.key === \"Escape\") {\n this.closeMenu();\n event.preventDefault();\n }\n },\n removeCurrentActive() {\n const currentActiveElement = this.$refs.menu.querySelector(\"li.active\");\n if (currentActiveElement) {\n currentActiveElement.classList.remove(\"active\");\n }\n },\n focusAction() {\n const focusElement = this.getFocusableMenuItemElements()[this.focusIndex];\n if (focusElement) {\n this.removeCurrentActive();\n const liMenuParent = focusElement.closest(\"li.action\");\n focusElement.focus();\n if (liMenuParent) {\n liMenuParent.classList.add(\"active\");\n }\n }\n },\n focusPreviousAction(event) {\n if (this.opened) {\n if (this.focusIndex === 0) {\n this.focusLastAction(event);\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex - 1;\n }\n this.focusAction();\n }\n },\n focusNextAction(event) {\n if (this.opened) {\n const indexLength = this.getFocusableMenuItemElements().length - 1;\n if (this.focusIndex === indexLength) {\n this.focusFirstAction(event);\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex + 1;\n }\n this.focusAction();\n }\n },\n focusFirstAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n const firstCheckedIndex = [...this.getFocusableMenuItemElements()].findIndex((button) => {\n return button.getAttribute(\"aria-checked\") === \"true\" && button.getAttribute(\"role\") === \"menuitemradio\";\n });\n this.focusIndex = firstCheckedIndex > -1 ? firstCheckedIndex : 0;\n this.focusAction();\n }\n },\n focusLastAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = this.getFocusableMenuItemElements().length - 1;\n this.focusAction();\n }\n },\n preventIfEvent(event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n onFocus(event) {\n this.$emit(\"focus\", event);\n },\n onBlur(event) {\n this.$emit(\"blur\", event);\n if (this.actionsMenuSemanticType === \"tooltip\") {\n if (this.$refs.menu && this.getFocusableMenuItemElements().length === 0) {\n this.closeMenu(false);\n }\n }\n },\n onClick(event) {\n this.$emit(\"click\", event);\n }\n },\n /**\n * The render function to display the component\n *\n * @return {object|undefined} The created VNode\n */\n render() {\n const actions = [];\n const findActions = (vnodes, actions2) => {\n vnodes.forEach((vnode) => {\n if (this.isAction(vnode)) {\n actions2.push(vnode);\n return;\n }\n if (vnode.type === Fragment) {\n findActions(vnode.children, actions2);\n }\n });\n };\n findActions(this.$slots.default?.(), actions);\n if (actions.length === 0) {\n return;\n }\n let validInlineActions = actions.filter(this.isValidSingleAction);\n if (this.forceMenu && validInlineActions.length > 0 && this.inline > 0) {\n warn(\"Specifying forceMenu will ignore any inline actions rendering.\");\n validInlineActions = [];\n }\n const inlineActions = validInlineActions.slice(0, this.inline);\n const menuActions = actions.filter((action) => !inlineActions.includes(action));\n const menuItemsActions = [\"NcActionButton\", \"NcActionButtonGroup\", \"NcActionCheckbox\", \"NcActionRadio\"];\n const textInputActions = [\"NcActionInput\", \"NcActionTextEditable\"];\n const linkActions = [\"NcActionLink\", \"NcActionRouter\"];\n const hasTextInputAction = menuActions.some((action) => textInputActions.includes(this.getActionName(action)));\n const hasMenuItemAction = menuActions.some((action) => menuItemsActions.includes(this.getActionName(action)));\n const hasLinkAction = menuActions.some((action) => linkActions.includes(this.getActionName(action)));\n if (hasTextInputAction) {\n this.actionsMenuSemanticType = \"dialog\";\n } else if (hasMenuItemAction) {\n this.actionsMenuSemanticType = \"menu\";\n } else if (hasLinkAction) {\n this.actionsMenuSemanticType = \"navigation\";\n } else {\n const ncActions = actions.filter((action) => this.getActionName(action).startsWith(\"NcAction\"));\n if (ncActions.length === actions.length) {\n this.actionsMenuSemanticType = \"tooltip\";\n } else {\n this.actionsMenuSemanticType = \"unknown\";\n }\n }\n const renderInlineAction = (action) => {\n const iconProp = action?.props?.icon;\n const icon = action?.children?.icon?.()?.[0] ?? (this.isIconUrl(iconProp) ? h(\"img\", { class: \"action-item__menutoggle__icon\", src: iconProp, alt: \"\" }) : h(\"span\", { class: [\"icon\", iconProp] }));\n const text = action?.children?.default?.()?.[0]?.children?.trim();\n const buttonText = this.forceName ? text : \"\";\n let title = action?.props?.title;\n if (!(this.forceName || title)) {\n title = text;\n }\n const propsToForward = { ...action?.props ?? {} };\n const type = [\"submit\", \"reset\"].includes(propsToForward.type) ? propsToForward.modelValue : \"button\";\n delete propsToForward.modelValue;\n delete propsToForward.type;\n return h(\n NcButton,\n mergeProps(\n propsToForward,\n {\n class: \"action-item action-item--single\",\n \"aria-label\": action?.props?.[\"aria-label\"] || text,\n title,\n disabled: this.disabled || action?.props?.disabled,\n pressed: action?.props?.modelValue,\n size: this.size,\n type,\n // If it has a menuName, we use a secondary button\n variant: this.variant || (buttonText ? \"secondary\" : \"tertiary\"),\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n // forward any pressed state from NcButton just like NcActionButton does\n \"onUpdate:pressed\": action?.props?.[\"onUpdate:modelValue\"] ?? (() => {\n })\n }\n ),\n {\n default: () => buttonText,\n icon: () => icon\n }\n );\n };\n const renderActionsPopover = (actions2) => {\n const triggerIcon = isSlotPopulated(this.$slots.icon?.()) ? this.$slots.icon?.() : this.defaultIcon ? h(\"span\", { class: [\"icon\", this.defaultIcon] }) : h(IconDotsHorizontal, { size: 20 });\n const triggerRandomId = `${this.randomId}-trigger`;\n return h(\n NcPopover,\n {\n ref: \"popover\",\n delay: 0,\n shown: this.opened,\n placement: this.placement,\n boundary: this.boundariesElement,\n autoBoundaryMaxSize: true,\n container: this.container,\n ...this.manualOpen && {\n triggers: []\n },\n noCloseOnClickOutside: this.manualOpen,\n popoverBaseClass: \"action-item__popper\",\n popupRole: this.config.popupRole,\n setReturnFocus: this.config.withFocusTrap ? this.$refs.triggerButton?.$el : void 0,\n noFocusTrap: !this.config.withFocusTrap,\n \"onUpdate:shown\": this.toggleMenu,\n onAfterShow: this.onOpened,\n onAfterClose: this.onClosed\n },\n {\n trigger: () => h(NcButton, {\n id: triggerRandomId,\n class: \"action-item__menutoggle\",\n disabled: this.disabled,\n size: this.size,\n variant: this.triggerButtonVariant,\n ref: \"triggerButton\",\n \"aria-label\": this.menuName ? null : this.ariaLabel,\n // 'aria-controls' should only present together with a valid aria-haspopup\n \"aria-controls\": this.opened && this.config.popupRole ? this.randomId : null,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onClick: this.onClick,\n onKeydown: this.onTriggerKeydown\n }, {\n icon: () => triggerIcon,\n default: () => this.menuName\n }),\n default: () => h(\"div\", {\n class: {\n open: this.opened\n },\n tabindex: \"-1\",\n onKeydown: this.onKeydown,\n ref: \"menu\"\n }, [\n h(\"ul\", {\n id: this.randomId,\n tabindex: \"-1\",\n ref: \"menuList\",\n role: this.config.popupRole,\n // For most roles a label is required (dialog, menu), but also in general nothing speaks against labelling a list.\n // It is even recommended to do so.\n \"aria-labelledby\": triggerRandomId,\n \"aria-modal\": this.actionsMenuSemanticType === \"dialog\" ? \"true\" : void 0\n }, [\n actions2\n ])\n ])\n }\n );\n };\n if (actions.length === 1 && validInlineActions.length === 1 && !this.forceMenu) {\n return renderInlineAction(actions[0]);\n }\n this.$nextTick(() => {\n if (this.opened && this.$refs.menu) {\n const isAnyActive = this.$refs.menu.querySelector(\"li.active\") || [];\n if (isAnyActive.length === 0) {\n this.focusFirstAction();\n }\n }\n });\n if (inlineActions.length > 0 && this.inline > 0) {\n return h(\n \"div\",\n {\n class: [\n \"action-items\",\n `action-item--${this.triggerButtonVariant}`\n ]\n },\n [\n // Render inline actions\n ...inlineActions.map(renderInlineAction),\n // render the rest within the popover menu\n menuActions.length > 0 ? h(\n \"div\",\n {\n class: [\n \"action-item\",\n {\n \"action-item--open\": this.opened\n }\n ]\n },\n [renderActionsPopover(menuActions)]\n ) : null\n ]\n );\n }\n return h(\n \"div\",\n {\n class: [\n \"action-item action-item--default-popover\",\n `action-item--${this.triggerButtonVariant}`,\n {\n \"action-item--open\": this.opened\n }\n ]\n },\n [\n renderActionsPopover(actions)\n ]\n );\n }\n};\nconst NcActions = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-6c109b7a\"]]);\nexport {\n IconDotsHorizontal as I,\n NcActions as N,\n isSlotPopulated as i\n};\n//# sourceMappingURL=NcActions-B0kM6AYb.mjs.map\n","import '../assets/NcModal-Dyub1-f2.css';\nimport { c as mdiChevronRight, x as mdiChevronLeft } from \"./mdi-HQ-WBPmL.mjs\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, warn, resolveComponent, createBlock, Transition, withCtx, withDirectives, normalizeStyle, normalizeClass, createVNode, renderSlot, withModifiers, vShow } from \"vue\";\nimport { I as IconClose } from \"./Close-D6ngJ4t9.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { r as register, o as t36, p as t19, a as t } from \"./_l10n-CWKr1fUH.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { N as NcActions } from \"./NcActions-B0kM6AYb.mjs\";\nimport { N as NcButton } from \"./NcButton-ZNHdqKQl.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nconst _sfc_main$2 = {\n name: \"PauseIcon\",\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M14,19H18V5H14M6,19H10V5H6V19Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pause-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pause = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nconst _sfc_main$1 = {\n name: \"PlayIcon\",\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};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M8,5.14V19.14L19,12.14L8,5.14Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon play-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Play = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1]]);\nregister(t19, t36);\nfunction timer(callback, delay) {\n let id;\n let started;\n let remaining = delay;\n let running;\n this.start = function() {\n running = true;\n started = /* @__PURE__ */ new Date();\n id = setTimeout(callback, remaining);\n };\n this.pause = function() {\n running = false;\n clearTimeout(id);\n remaining -= /* @__PURE__ */ new Date() - started;\n };\n this.clear = function() {\n running = false;\n clearTimeout(id);\n remaining = 0;\n };\n this.getTimeLeft = function() {\n if (running) {\n this.pause();\n this.start();\n }\n return remaining;\n };\n this.getStateRunning = function() {\n return running;\n };\n this.start();\n}\nconst _sfc_main = {\n name: \"NcModal\",\n components: {\n Close: IconClose,\n Pause,\n Play,\n NcActions,\n NcButton,\n NcIconSvgWrapper\n },\n props: {\n /**\n * Name to be shown with the modal\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Declare if a previous slide is available\n */\n hasPrevious: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if a next slide is available\n */\n hasNext: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if hiding the modal should be animated\n */\n outTransition: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if the slideshow functionality should be enabled\n */\n enableSlideshow: {\n type: Boolean,\n default: false\n },\n /**\n * Declare the slide interval\n */\n slideshowDelay: {\n type: Number,\n default: 5e3\n },\n /**\n * Allow to pause an ongoing slideshow\n */\n slideshowPaused: {\n type: Boolean,\n default: false\n },\n /**\n * Disable swipe between slides\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Enable spread navigation\n */\n spreadNavigation: {\n type: Boolean,\n default: false\n },\n /**\n * Defines the modal size.\n * Default is 'normal'.\n * Available are 'small', 'normal', 'large' and 'full'.\n * All sizes except 'small' change automatically to full-screen on mobile.\n */\n size: {\n type: String,\n default: \"normal\",\n validator: (size) => {\n return [\"small\", \"normal\", \"large\", \"full\"].includes(size);\n }\n },\n /**\n * Do not show the close button for the dialog.\n *\n * @default false\n */\n noClose: {\n type: Boolean,\n default: false\n },\n /**\n * Close the modal if the user clicked outside the modal\n * Only relevant if `noClose` is not set.\n */\n closeOnClickOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the modal backdrop opaque if true\n * Will be overwritten if some buttons are shown outside\n */\n dark: {\n type: Boolean,\n default: false\n },\n /**\n * Set light backdrop. Makes the modal header appear light.\n */\n lightBackdrop: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the modal container, pass `null` to prevent automatic container mounting\n */\n container: {\n type: [String, null],\n default: \"body\"\n },\n /**\n * Pass in `true` if you want the modal 'close' button to be displayed\n * outside the modal boundaries, in the top right corner of the window.\n *\n * @default false\n * @since 8.25.0\n */\n closeButtonOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Additional elements to add to the focus trap\n */\n additionalTrapElements: {\n type: Array,\n default: () => []\n },\n /**\n * Display x items inline\n *\n * @see Actions component usage\n */\n inlineActions: {\n type: Number,\n default: 0\n },\n /**\n * The current open property of the modal\n */\n show: {\n type: Boolean,\n default: void 0\n },\n /**\n * Id of the element that labels the dialog (the name)\n * Not needed if the `name` prop is set, but if no name is set you need to provide the ID of an element to label the dialog for accessibility.\n */\n labelId: {\n type: String,\n default: \"\"\n },\n /**\n * Set element to return focus to after focus trap deactivation\n *\n * @type {import('focus-trap').FocusTargetValueOrFalse}\n */\n setReturnFocus: {\n default: void 0,\n type: [Boolean, HTMLElement, SVGElement, String]\n }\n },\n emits: [\n \"previous\",\n \"next\",\n \"close\",\n \"update:show\"\n ],\n setup() {\n return {\n mdiChevronLeft,\n mdiChevronRight\n };\n },\n data() {\n return {\n mc: null,\n playing: false,\n slideshowTimeout: null,\n iconSize: 24,\n focusTrap: null,\n randId: createElementId(),\n internalShow: true\n };\n },\n computed: {\n /**\n * ID of the element to label the modal\n */\n modalLabelId() {\n return this.labelId || `modal-name-${this.randId}`;\n },\n showModal() {\n return this.show === void 0 ? this.internalShow : this.show;\n },\n modalTransitionName() {\n return `modal-${this.outTransition ? \"out\" : \"in\"}`;\n },\n playPauseName() {\n return this.playing ? t(\"Pause slideshow\") : t(\"Start slideshow\");\n },\n cssVariables() {\n return {\n \"--slideshow-duration\": this.slideshowDelay + \"ms\",\n \"--icon-size\": this.iconSize + \"px\"\n };\n },\n closeButtonAriaLabel() {\n return t(\"Close\");\n },\n prevButtonAriaLabel() {\n return t(\"Previous\");\n },\n nextButtonAriaLabel() {\n return t(\"Next\");\n }\n },\n watch: {\n /**\n * Handle play/pause of an ongoing slideshow\n *\n * @param {boolean} paused is the player paused\n */\n slideshowPaused(paused) {\n if (this.slideshowTimeout) {\n if (paused) {\n this.slideshowTimeout.pause();\n } else {\n this.slideshowTimeout.start();\n }\n }\n },\n additionalTrapElements(elements) {\n if (this.focusTrap) {\n const contentContainer = this.$refs.mask;\n this.focusTrap.updateContainerElements([contentContainer, ...elements]);\n }\n }\n },\n beforeMount() {\n window.addEventListener(\"keydown\", this.handleKeydown);\n },\n beforeUnmount() {\n window.removeEventListener(\"keydown\", this.handleKeydown);\n this.mc.stop();\n },\n mounted() {\n if (!this.name && !this.labelId) {\n warn(\"[NcModal] You need either set the name or set a `labelId` for accessibility.\");\n }\n this.useFocusTrap();\n this.mc = useSwipe(this.$refs.mask, {\n onSwipeEnd: this.handleSwipe\n });\n if (this.container) {\n if (this.container === \"body\") {\n document.body.insertBefore(this.$el, document.body.lastChild);\n } else {\n const container = document.querySelector(this.container);\n container.appendChild(this.$el);\n }\n }\n },\n unmounted() {\n this.clearFocusTrap();\n this.$el.remove();\n },\n methods: {\n t,\n // Events emitters\n previous(event) {\n if (this.hasPrevious) {\n if (event) {\n this.resetSlideshow();\n }\n this.$emit(\"previous\", event);\n }\n },\n next(event) {\n if (this.hasNext) {\n if (event) {\n this.resetSlideshow();\n }\n this.$emit(\"next\", event);\n }\n },\n close(data) {\n if (this.noClose) {\n return;\n }\n this.internalShow = false;\n this.$emit(\"update:show\", false);\n setTimeout(() => {\n this.$emit(\"close\", data);\n }, 300);\n },\n /**\n * Handle click on modal wrapper\n * If `closeOnClickOutside` is set the modal will be closed\n *\n * @param {MouseEvent} event The click event\n */\n handleClickModalWrapper(event) {\n if (this.closeOnClickOutside) {\n this.close(event);\n }\n },\n /**\n * @param {KeyboardEvent} event - keyboard event\n */\n handleKeydown(event) {\n if (event.key === \"Escape\") {\n const trapStack = getTrapStack();\n if (trapStack.length > 0 && trapStack[trapStack.length - 1] !== this.focusTrap) {\n return;\n }\n return this.close(event);\n }\n const arrowHandlers = {\n ArrowLeft: this.previous,\n ArrowRight: this.next\n };\n if (arrowHandlers[event.key]) {\n if (document.activeElement && !this.$el.contains(document.activeElement)) {\n return;\n }\n return arrowHandlers[event.key](event);\n }\n },\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction Swipe direction\n */\n handleSwipe(e, direction) {\n if (!this.disableSwipe) {\n if (direction === \"left\") {\n this.next(e);\n } else if (direction === \"right\") {\n this.previous(e);\n }\n }\n },\n /**\n * Toggle the slideshow state\n */\n togglePlayPause() {\n this.playing = !this.playing;\n if (this.playing) {\n this.handleSlideshow();\n } else {\n this.clearSlideshowTimeout();\n }\n },\n /**\n * Reset the slideshow timer and keep going if it was on\n */\n resetSlideshow() {\n this.playing = !this.playing;\n this.clearSlideshowTimeout();\n this.$nextTick(function() {\n this.togglePlayPause();\n });\n },\n /**\n * Handle the slideshow timer and next event\n */\n handleSlideshow() {\n this.playing = true;\n if (this.hasNext) {\n this.slideshowTimeout = new timer(() => {\n this.next();\n this.handleSlideshow();\n }, this.slideshowDelay);\n } else {\n this.playing = false;\n this.clearSlideshowTimeout();\n }\n },\n /**\n * Clear slideshowTimeout if ongoing\n */\n clearSlideshowTimeout() {\n if (this.slideshowTimeout) {\n this.slideshowTimeout.clear();\n }\n },\n /**\n * Add focus trap for accessibility.\n */\n async useFocusTrap() {\n if (!this.showModal || this.focusTrap) {\n return;\n }\n const contentContainer = this.$refs.mask;\n await this.$nextTick();\n const options = {\n allowOutsideClick: true,\n fallbackFocus: contentContainer,\n trapStack: getTrapStack(),\n // Esc can be used without stop in content or additionalTrapElements where it should not deactivate modal's focus trap.\n // Focus trap is deactivated on modal close anyway.\n escapeDeactivates: false,\n setReturnFocus: this.setReturnFocus\n };\n this.focusTrap = createFocusTrap([contentContainer, ...this.additionalTrapElements], options);\n this.focusTrap.activate();\n },\n clearFocusTrap() {\n if (!this.focusTrap) {\n return;\n }\n this.focusTrap?.deactivate();\n this.focusTrap = null;\n }\n }\n};\nconst _hoisted_1 = [\"aria-labelledby\", \"aria-describedby\"];\nconst _hoisted_2 = [\"data-theme-light\", \"data-theme-dark\"];\nconst _hoisted_3 = [\"id\"];\nconst _hoisted_4 = { class: \"icons-menu\" };\nconst _hoisted_5 = [\"title\"];\nconst _hoisted_6 = { class: \"hidden-visually\" };\nconst _hoisted_7 = {\n key: 2,\n class: \"progress-ring\",\n height: \"50\",\n width: \"50\"\n};\nconst _hoisted_8 = [\"id\"];\nconst _hoisted_9 = { class: \"modal-container__content\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Play = resolveComponent(\"Play\");\n const _component_Pause = resolveComponent(\"Pause\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_Close = resolveComponent(\"Close\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcIconSvgWrapper = resolveComponent(\"NcIconSvgWrapper\");\n return openBlock(), createBlock(Transition, {\n name: \"fade\",\n appear: \"\",\n onAfterEnter: $options.useFocusTrap,\n onBeforeLeave: $options.clearFocusTrap\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n ref: \"mask\",\n class: normalizeClass([\"modal-mask\", {\n \"modal-mask--opaque\": $props.dark || $props.closeButtonOutside || $props.hasPrevious || $props.hasNext,\n \"modal-mask--light\": $props.lightBackdrop\n }]),\n style: normalizeStyle($options.cssVariables),\n role: \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-labelledby\": $options.modalLabelId,\n \"aria-describedby\": \"modal-description-\" + $data.randId,\n tabindex: \"-1\"\n }, [\n createVNode(Transition, {\n name: \"fade-visibility\",\n appear: \"\"\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: \"modal-header\",\n \"data-theme-light\": $props.lightBackdrop,\n \"data-theme-dark\": !$props.lightBackdrop\n }, [\n $props.name.trim() !== \"\" ? (openBlock(), createElementBlock(\"h2\", {\n key: 0,\n id: \"modal-name-\" + $data.randId,\n class: \"modal-header__name\"\n }, toDisplayString($props.name), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", _hoisted_4, [\n $props.hasNext && $props.enableSlideshow ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n class: normalizeClass([\"play-pause-icons\", { \"play-pause-icons--paused\": $props.slideshowPaused }]),\n title: $options.playPauseName,\n type: \"button\",\n onClick: _cache[0] || (_cache[0] = (...args) => $options.togglePlayPause && $options.togglePlayPause(...args))\n }, [\n !$data.playing ? (openBlock(), createBlock(_component_Play, {\n key: 0,\n class: \"play-pause-icons__play\",\n size: $data.iconSize\n }, null, 8, [\"size\"])) : (openBlock(), createBlock(_component_Pause, {\n key: 1,\n class: \"play-pause-icons__pause\",\n size: $data.iconSize\n }, null, 8, [\"size\"])),\n createElementVNode(\"span\", _hoisted_6, toDisplayString($options.playPauseName), 1),\n $data.playing ? (openBlock(), createElementBlock(\"svg\", _hoisted_7, [..._cache[2] || (_cache[2] = [\n createElementVNode(\"circle\", {\n class: \"progress-ring__circle\",\n stroke: \"white\",\n \"stroke-width\": \"2\",\n fill: \"transparent\",\n r: \"15\",\n cx: \"25\",\n cy: \"25\"\n }, null, -1)\n ])])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_5)) : createCommentVNode(\"\", true),\n createVNode(_component_NcActions, {\n class: \"header-actions\",\n inline: $props.inlineActions\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"inline\"]),\n !$props.noClose && $props.closeButtonOutside ? (openBlock(), createBlock(_component_NcButton, {\n key: 1,\n \"aria-label\": $options.closeButtonAriaLabel,\n class: \"header-close\",\n variant: \"tertiary\",\n onClick: $options.close\n }, {\n icon: withCtx(() => [\n createVNode(_component_Close, { size: $data.iconSize }, null, 8, [\"size\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2)\n ]),\n _: 3\n }),\n createVNode(Transition, {\n name: $options.modalTransitionName,\n appear: \"\"\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\"modal-wrapper\", [\n `modal-wrapper--${$props.size}`,\n { \"modal-wrapper--spread-navigation\": $props.spreadNavigation }\n ]]),\n onMousedown: _cache[1] || (_cache[1] = withModifiers((...args) => $options.handleClickModalWrapper && $options.handleClickModalWrapper(...args), [\"self\"]))\n }, [\n createVNode(Transition, {\n name: \"fade-visibility\",\n appear: \"\"\n }, {\n default: withCtx(() => [\n withDirectives(createVNode(_component_NcButton, {\n \"aria-label\": $options.prevButtonAriaLabel,\n class: \"prev\",\n variant: \"tertiary-no-background\",\n onClick: $options.previous\n }, {\n icon: withCtx(() => [\n createVNode(_component_NcIconSvgWrapper, {\n directional: \"\",\n path: $setup.mdiChevronLeft,\n size: 40\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]), [\n [vShow, $props.hasPrevious]\n ])\n ]),\n _: 1\n }),\n createElementVNode(\"div\", {\n id: \"modal-description-\" + $data.randId,\n class: \"modal-container\"\n }, [\n createElementVNode(\"div\", _hoisted_9, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n !$props.noClose && !$props.closeButtonOutside ? (openBlock(), createBlock(_component_NcButton, {\n key: 0,\n \"aria-label\": $options.closeButtonAriaLabel,\n class: \"modal-container__close\",\n variant: \"tertiary\",\n onClick: $options.close\n }, {\n icon: withCtx(() => [\n createVNode(_component_Close, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true)\n ], 8, _hoisted_8),\n createVNode(Transition, {\n name: \"fade-visibility\",\n appear: \"\"\n }, {\n default: withCtx(() => [\n withDirectives(createVNode(_component_NcButton, {\n \"aria-label\": $options.nextButtonAriaLabel,\n class: \"next\",\n variant: \"tertiary-no-background\",\n onClick: $options.next\n }, {\n icon: withCtx(() => [\n createVNode(_component_NcIconSvgWrapper, {\n directional: \"\",\n path: $setup.mdiChevronRight,\n size: 40\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]), [\n [vShow, $props.hasNext]\n ])\n ]),\n _: 1\n })\n ], 34), [\n [vShow, $options.showModal]\n ])\n ]),\n _: 3\n }, 8, [\"name\"])\n ], 14, _hoisted_1), [\n [vShow, $options.showModal]\n ])\n ]),\n _: 3\n }, 8, [\"onAfterEnter\", \"onBeforeLeave\"]);\n}\nconst NcModal = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-70dc2566\"]]);\nexport {\n NcModal as N\n};\n//# sourceMappingURL=NcModal-DZtBQM1y.mjs.map\n","import { inject } from \"vue\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst INSIDE_RADIO_GROUP_KEY = Symbol.for(\"insideRadioGroup\");\nfunction useInsideRadioGroup() {\n return inject(INSIDE_RADIO_GROUP_KEY, void 0);\n}\nexport {\n INSIDE_RADIO_GROUP_KEY as I,\n useInsideRadioGroup as u\n};\n//# sourceMappingURL=useNcRadioGroup-DaZbEKbf.mjs.map\n","import '../assets/NcCheckboxRadioSwitch-C_70VMQr.css';\nimport { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, resolveComponent, normalizeClass, renderSlot, createBlock, resolveDynamicComponent, toHandlers, withCtx, createVNode, createSlots, createTextVNode, onMounted, computed, useCssVars } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-b_ajZ_nQ.mjs\";\nimport { r as register, u as n, a as t } from \"./_l10n-CWKr1fUH.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { u as useInsideRadioGroup } from \"./useNcRadioGroup-DaZbEKbf.mjs\";\nconst _sfc_main$8 = {\n name: \"CheckboxBlankOutlineIcon\",\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};\nconst _hoisted_1$8 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$7 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$7 = { d: \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\" };\nconst _hoisted_4$6 = { key: 0 };\nfunction _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon checkbox-blank-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$7, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$6, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$7))\n ], 16, _hoisted_1$8);\n}\nconst CheckboxBlankOutline = /* @__PURE__ */ _export_sfc(_sfc_main$8, [[\"render\", _sfc_render$8]]);\nconst _sfc_main$7 = {\n name: \"CheckboxMarkedIcon\",\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};\nconst _hoisted_1$7 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$6 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$6 = { d: \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\" };\nconst _hoisted_4$5 = { key: 0 };\nfunction _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon checkbox-marked-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$6, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$5, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$6))\n ], 16, _hoisted_1$7);\n}\nconst CheckboxMarked = /* @__PURE__ */ _export_sfc(_sfc_main$7, [[\"render\", _sfc_render$7]]);\nconst _sfc_main$6 = {\n name: \"MinusBoxIcon\",\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};\nconst _hoisted_1$6 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$5 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$5 = { d: \"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\" };\nconst _hoisted_4$4 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon minus-box-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$5, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$5))\n ], 16, _hoisted_1$6);\n}\nconst MinusBox = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$5 = {\n name: \"RadioboxBlankIcon\",\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};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$4 = { d: \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon radiobox-blank-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$4, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst RadioboxBlank = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$4 = {\n name: \"RadioboxMarkedIcon\",\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};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon radiobox-marked-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst RadioboxMarked = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$4]]);\nconst _sfc_main$3 = {\n name: \"ToggleSwitchIcon\",\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};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon toggle-switch-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst ToggleSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\n name: \"ToggleSwitchOffIcon\",\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};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon toggle-switch-off-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst ToggleSwitchOff = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nconst TYPE_CHECKBOX = \"checkbox\";\nconst TYPE_RADIO = \"radio\";\nconst TYPE_SWITCH = \"switch\";\nconst TYPE_BUTTON = \"button\";\nconst _sfc_main$1 = {\n name: \"NcCheckboxContent\",\n components: {\n NcLoadingIcon\n },\n props: {\n /**\n * Class for the icon element\n */\n iconClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Class for the text element\n */\n textClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Type of the input. checkbox, radio, switch, or button.\n *\n * Only use button when used in a `tablist` container and the\n * `tab` role is set.\n *\n * @type {'checkbox'|'radio'|'switch'|'button'}\n */\n type: {\n type: String,\n default: \"checkbox\",\n validator: (type) => [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_SWITCH,\n TYPE_BUTTON\n ].includes(type)\n },\n /**\n * Toggle the alternative button style\n */\n buttonVariant: {\n type: Boolean,\n default: false\n },\n /**\n * True if the entry is checked\n */\n isChecked: {\n type: Boolean,\n default: false\n },\n /**\n * Indeterminate state\n */\n indeterminate: {\n type: Boolean,\n default: false\n },\n /**\n * Loading state\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Icon size\n */\n iconSize: {\n type: Number,\n default: 24\n },\n /**\n * Label id attribute\n */\n labelId: {\n type: String,\n required: true\n },\n /**\n * Description id attribute\n */\n descriptionId: {\n type: String,\n required: true\n }\n },\n computed: {\n isButtonType() {\n return this.type === TYPE_BUTTON;\n },\n /**\n * Returns the proper Material icon depending on the select case\n *\n * @return {object}\n */\n checkboxRadioIconElement() {\n if (this.type === TYPE_RADIO) {\n if (this.isChecked) {\n return RadioboxMarked;\n }\n return RadioboxBlank;\n }\n if (this.type === TYPE_SWITCH) {\n if (this.isChecked) {\n return ToggleSwitch;\n }\n return ToggleSwitchOff;\n }\n if (this.indeterminate) {\n return MinusBox;\n }\n if (this.isChecked) {\n return CheckboxMarked;\n }\n return CheckboxBlankOutline;\n }\n }\n};\nconst _hoisted_1$1 = {\n key: 0,\n class: \"checkbox-content__wrapper\"\n};\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = [\"id\"];\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass([\"checkbox-content\", {\n [\"checkbox-content-\" + $props.type]: true,\n \"checkbox-content--button-variant\": $props.buttonVariant,\n \"checkbox-content--has-text\": !!_ctx.$slots.default\n }])\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass([\"checkbox-content__icon\", {\n \"checkbox-content__icon--checked\": $props.isChecked,\n \"checkbox-content__icon--has-description\": !$options.isButtonType && _ctx.$slots.description,\n [$props.iconClass]: true\n }]),\n \"aria-hidden\": true,\n inert: \"\"\n }, [\n renderSlot(_ctx.$slots, \"icon\", {\n checked: $props.isChecked,\n loading: $props.loading\n }, () => [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : !$props.buttonVariant ? (openBlock(), createBlock(resolveDynamicComponent($options.checkboxRadioIconElement), {\n key: 1,\n size: $props.iconSize\n }, null, 8, [\"size\"])) : createCommentVNode(\"\", true)\n ], true)\n ], 2),\n _ctx.$slots.default || _ctx.$slots.description ? (openBlock(), createElementBlock(\"span\", _hoisted_1$1, [\n _ctx.$slots.default ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n id: $props.labelId,\n class: normalizeClass([\"checkbox-content__text\", $props.textClass])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true),\n !$options.isButtonType && _ctx.$slots.description ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n id: $props.descriptionId,\n class: \"checkbox-content__description\"\n }, [\n renderSlot(_ctx.$slots, \"description\", {}, void 0, true)\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcCheckboxContent = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-a1ac280f\"]]);\nregister();\nconst _sfc_main = {\n name: \"NcCheckboxRadioSwitch\",\n components: {\n NcCheckboxContent\n },\n // We need to pass attributes to the input element\n inheritAttrs: false,\n props: {\n /**\n * Unique id attribute of the input\n */\n id: {\n type: String,\n default: () => \"checkbox-radio-switch-\" + createElementId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Unique id attribute of the wrapper element\n */\n wrapperId: {\n type: String,\n default: null\n },\n /**\n * Input name. Required for radio, optional for checkbox, and ignored\n * for button.\n */\n name: {\n type: String,\n default: null\n },\n /**\n * Required if no text is set.\n * The aria-label is forwarded to the input or button.\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Type of the input. checkbox, radio, switch, or button.\n *\n * Only use button when used in a `tablist` container and the\n * `tab` role is set.\n *\n * @type {'checkbox'|'radio'|'switch'|'button'}\n */\n type: {\n type: String,\n default: \"checkbox\",\n validator: (type) => [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_SWITCH,\n TYPE_BUTTON\n ].includes(type)\n },\n /**\n * Toggle the alternative button style\n *\n * @deprecated - Use `NcRadioGroup` instead\n */\n buttonVariant: {\n type: Boolean,\n default: false\n },\n /**\n * Are the elements are all direct siblings?\n * If so they will be grouped horizontally or vertically\n *\n * @type {'no'|'horizontal'|'vertical'}\n * @deprecated - Use `NcRadioGroup` instead\n */\n buttonVariantGrouped: {\n type: String,\n default: \"no\",\n validator: (v) => [\"no\", \"vertical\", \"horizontal\"].includes(v)\n },\n /**\n * Checked state. To be used with `v-model:value`\n */\n modelValue: {\n type: [Boolean, Array, String],\n default: false\n },\n /**\n * Value to be synced on check\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Disabled state\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Indeterminate state\n */\n indeterminate: {\n type: Boolean,\n default: false\n },\n /**\n * Required state\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Loading state\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Wrapping element tag\n *\n * When `type` is set to `button` this will be ignored\n *\n * Defaults to `span`\n */\n wrapperElement: {\n type: String,\n default: null\n },\n /**\n * The class(es) to pass to the wrapper / root element of the component\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * The style to pass to the wrapper / root element of the component\n */\n style: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * Description\n *\n * This is unsupported when using button has type.\n */\n description: {\n type: String,\n default: null\n }\n },\n emits: [\"update:modelValue\"],\n setup(props, { emit }) {\n const radioGroup = useInsideRadioGroup();\n onMounted(() => radioGroup?.value.register(false));\n const internalType = computed(() => radioGroup?.value ? TYPE_RADIO : props.type);\n const internalModelValue = computed({\n get() {\n if (radioGroup?.value) {\n return radioGroup.value.modelValue;\n }\n return props.modelValue;\n },\n set(value) {\n if (radioGroup?.value) {\n radioGroup.value.onUpdate(value);\n } else {\n emit(\"update:modelValue\", value);\n }\n }\n });\n return {\n internalType,\n internalModelValue,\n labelId: createElementId(),\n descriptionId: createElementId()\n };\n },\n computed: {\n isButtonType() {\n return this.internalType === TYPE_BUTTON;\n },\n computedWrapperElement() {\n if (this.isButtonType) {\n return \"button\";\n }\n if (this.wrapperElement !== null) {\n return this.wrapperElement;\n }\n return \"span\";\n },\n listeners() {\n if (this.isButtonType) {\n return {\n click: this.onToggle\n };\n }\n return {\n change: this.onToggle\n };\n },\n iconSize() {\n return this.internalType === TYPE_SWITCH ? 36 : 20;\n },\n cssIconSize() {\n return this.iconSize + \"px\";\n },\n cssIconHeight() {\n return this.internalType === TYPE_SWITCH ? \"16px\" : this.cssIconSize;\n },\n /**\n * Return the input type.\n * Switch is not an official type\n *\n * @return {string}\n */\n inputType() {\n const nativeTypes = [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_BUTTON\n ];\n if (nativeTypes.includes(this.internalType)) {\n return this.internalType;\n }\n return TYPE_CHECKBOX;\n },\n /**\n * Check if that entry is checked\n * If value is defined, we use that as the checked value\n * If not, we expect true/false in this.checked\n *\n * @return {boolean}\n */\n isChecked() {\n if (this.value !== null) {\n if (Array.isArray(this.internalModelValue)) {\n return [...this.internalModelValue].indexOf(this.value) > -1;\n }\n return this.internalModelValue === this.value;\n }\n return this.internalModelValue === true;\n },\n hasIndeterminate() {\n return [\n TYPE_CHECKBOX,\n TYPE_RADIO\n ].includes(this.inputType);\n }\n },\n mounted() {\n if (this.name && this.internalType === TYPE_CHECKBOX) {\n if (!Array.isArray(this.internalModelValue)) {\n throw new Error(\"When using groups of checkboxes, the updated value will be an array.\");\n }\n }\n if (this.name && this.internalType === TYPE_SWITCH) {\n throw new Error(\"Switches are not made to be used for data sets. Please use checkboxes instead.\");\n }\n if (typeof this.internalModelValue !== \"boolean\" && this.internalType === TYPE_SWITCH) {\n throw new Error(\"Switches can only be used with boolean as modelValue prop.\");\n }\n },\n methods: {\n t,\n n,\n onToggle(event) {\n if (this.disabled || event.target.tagName.toLowerCase() === \"a\") {\n return;\n }\n if (this.internalType === TYPE_RADIO) {\n this.internalModelValue = this.value;\n return;\n }\n if (this.internalType === TYPE_SWITCH) {\n this.internalModelValue = !this.isChecked;\n return;\n }\n if (typeof this.internalModelValue === \"boolean\") {\n this.internalModelValue = !this.internalModelValue;\n return;\n }\n const values = this.getInputsSet().filter((input) => input.checked).map((input) => input.value);\n if (values.includes(this.value)) {\n this.internalModelValue = values.filter((v) => v !== this.value);\n } else {\n this.internalModelValue = [...values, this.value];\n }\n },\n /**\n * Get the input set based on this name\n *\n * @return {Node[]}\n */\n getInputsSet() {\n return [...document.getElementsByName(this.name)];\n }\n }\n};\nconst __injectCSSVars__ = () => {\n useCssVars((_ctx) => ({\n \"65a7082e\": _ctx.cssIconSize,\n \"20f7d30f\": _ctx.cssIconHeight\n }));\n};\nconst __setup__ = _sfc_main.setup;\n_sfc_main.setup = __setup__ ? (props, ctx) => {\n __injectCSSVars__();\n return __setup__(props, ctx);\n} : __injectCSSVars__;\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\", \"aria-label\", \"disabled\", \"type\", \"value\", \"checked\", \".indeterminate\", \"required\", \"name\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcCheckboxContent = resolveComponent(\"NcCheckboxContent\");\n return openBlock(), createBlock(resolveDynamicComponent($options.computedWrapperElement), mergeProps({\n id: $props.wrapperId ?? ($options.isButtonType ? $props.id : null),\n \"aria-label\": $options.isButtonType && $props.ariaLabel ? $props.ariaLabel : void 0,\n class: [\"checkbox-radio-switch\", [\n _ctx.$props.class,\n {\n [\"checkbox-radio-switch-\" + $setup.internalType]: $setup.internalType,\n \"checkbox-radio-switch--checked\": $options.isChecked,\n \"checkbox-radio-switch--disabled\": $props.disabled,\n \"checkbox-radio-switch--indeterminate\": $options.hasIndeterminate ? $props.indeterminate : false,\n \"checkbox-radio-switch--button-variant\": $props.buttonVariant,\n \"checkbox-radio-switch--button-variant-v-grouped\": $props.buttonVariant && $props.buttonVariantGrouped === \"vertical\",\n \"checkbox-radio-switch--button-variant-h-grouped\": $props.buttonVariant && $props.buttonVariantGrouped === \"horizontal\",\n \"button-vue\": $options.isButtonType\n }\n ]],\n style: $props.style,\n type: $options.isButtonType ? \"button\" : null\n }, $options.isButtonType ? _ctx.$attrs : {}, toHandlers($options.isButtonType ? $options.listeners : {})), {\n default: withCtx(() => [\n !$options.isButtonType ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n id: $props.id,\n \"aria-labelledby\": !$options.isButtonType && !$props.ariaLabel ? $setup.labelId : null,\n \"aria-describedby\": !$options.isButtonType && ($props.description || _ctx.$slots.description) ? $setup.descriptionId : null,\n \"aria-label\": $props.ariaLabel || void 0,\n class: \"checkbox-radio-switch__input\",\n disabled: $props.disabled,\n type: $options.inputType,\n value: $props.value,\n checked: $options.isChecked,\n \".indeterminate\": $options.hasIndeterminate ? $props.indeterminate : null,\n required: $props.required,\n name: $props.name\n }, _ctx.$attrs, toHandlers($options.listeners, true)), null, 48, _hoisted_1)) : createCommentVNode(\"\", true),\n createVNode(_component_NcCheckboxContent, {\n id: !$options.isButtonType ? `${$props.id}-label` : void 0,\n class: \"checkbox-radio-switch__content\",\n \"icon-class\": \"checkbox-radio-switch__icon\",\n \"text-class\": \"checkbox-radio-switch__text\",\n type: $setup.internalType,\n indeterminate: $options.hasIndeterminate ? $props.indeterminate : false,\n \"button-variant\": $props.buttonVariant,\n \"is-checked\": $options.isChecked,\n loading: $props.loading,\n \"label-id\": $setup.labelId,\n \"description-id\": $setup.descriptionId,\n \"icon-size\": $options.iconSize,\n onClick: $options.onToggle\n }, createSlots({\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n _: 2\n }, [\n _ctx.$slots.description || $props.description ? {\n name: \"description\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString($props.description), 1)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !!_ctx.$slots.default ? {\n name: \"default\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"id\", \"type\", \"indeterminate\", \"button-variant\", \"is-checked\", \"loading\", \"label-id\", \"description-id\", \"icon-size\", \"onClick\"])\n ]),\n _: 3\n }, 16, [\"id\", \"aria-label\", \"class\", \"style\", \"type\"]);\n}\nconst NcCheckboxRadioSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-0dcb138a\"]]);\nexport {\n NcCheckboxRadioSwitch as N\n};\n//# sourceMappingURL=NcCheckboxRadioSwitch-6ty3DxEG.mjs.map\n"],"names":["generateOcsUrl","url","params","options","version","getBaseUrl","_generateUrlPath","allOptions","_build","text","vars","a","b","r","generateUrl","baseOrRootURL","getRootUrl","_b","_a","imagePath","app","file","generateFilePath","type","isCore","_c","isPHP","link","getAppRootUrl","webroot","pos","index","isBrowser","isRouteComponent","component","isESModule","obj","assign","applyToParams","fn","newParams","key","value","isArray","noop","mergeOptions","defaults","partialOptions","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","e","TRAILING_SLASH_RE","removeTrailingSlash","path","parseURL","parseQuery$1","location","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery$1","stripBase","pathname","base","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","i","to","from","fromSegments","toSegments","lastToSegment","position","toPosition","segment","START_LOCATION_NORMALIZED","NavigationType","NavigationType$1","NavigationDirection","NavigationDirection$1","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","el","offset","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","isRouteLocation","route","isRouteName","name","ErrorTypes","ErrorTypes$1","NavigationFailureSymbol","createRouterError","isNavigationFailure","error","parseQuery","search","searchParams","searchParam","eqPos","currentValue","stringifyQuery","v","value$1","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","handlers","add","handler","reset","guardToPromiseFn","guard","record","runWithContext","enterCallbackArray","resolve","reject","next","valid","guardReturn","guardCall","err","extractComponentsGuards","matched","guardType","guards","rawComponent","componentPromise","resolved","resolvedComponent","extractChangingRecords","leavingRecords","updatingRecords","enteringRecords","len","recordFrom","recordTo","createBaseLocation","createCurrentLocation","location$1","slicePos","pathFromHash","useHistoryListeners","historyState","replace","listeners","teardowns","pauseState","popStateHandler","state","fromState","listener","pauseListeners","listen","callback","teardown","beforeUnloadListener","history$1","destroy","buildState","back","current","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","replace$1","hashIndex","data","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","TokenType","TokenType$1","TokenizerState","TokenizerState$1","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","message","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","PathScore","PathScore$1","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","score","pattern","keys","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re$1","subPattern","re","parse","match","stringify","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","last","PATH_PARSER_OPTIONS_DEFAULTS","createRouteRecordMatcher","parent","parser","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","children","matcherRef","getRoutes","findInsertionIndex","pickParams","k","m","parentMatcher","mergeMetaFields","clearRoutes","normalized","normalizeRecordProps","propsObject","props","meta","lower","upper","mid","insertionAncestor","getInsertionAncestor","ancestor","useLink","router","inject","currentRoute","computed","unref","activeRecordIndex","length","routeMatched","currentMatched","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","p","preferSingleVNode","vnodes","RouterLinkImpl","defineComponent","slots","reactive","elClass","getLinkClass","h","RouterLink","target","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","attrs","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","provide","viewRef","ref","watch","instance","oldInstance","oldName","currentName","ViewComponent","normalizeSlot","routePropsOption","routeProps","vnode","slot","slotContent","RouterView","createRouter","beforeGuards","beforeResolveGuards","afterGuards","shallowRef","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matchedRoute$1","href$1","matcherLocation","targetParams","fullPath","href","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","failure$1","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","list","isReady","resolve$1","scrollBehavior","nextTick","started","reactiveRoute","shallowReactive","unmountApp","promise","useRoute","_name","majorVersion","_d","isLegacy","_export_sfc","sfc","val","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","__props","__emit","emit","hasVueRouterContext","tag","hasPressedState","variantWithPressed","isTertiaryVariant","flexAlignment","isReverseAligned","getNcPopoverTriggerAttrs","ncPopoverTriggerAttrs","__spreadProps","__spreadValues","onClick","event","_ctx","_cache","openBlock","createBlock","resolveDynamicComponent","mergeProps","withCtx","createElementVNode","renderSlot","createTextVNode","toDisplayString","NcButton","GettextWrapper","pluralFunction","__publicField","bundle","dict","msgid","msgidPlural","msgstr","original","placeholders","translate","singular","plural","count","translatePlural","GettextBuilder","language","getLanguage","wrapper","n","getPlural","getGettextBuilder","gettext","args","t","register","chunks","chunk","translations","decompressed","id","t2","t3","t4","t8","t10","t11","t12","t14","t17","t19","t21","t22","t23","t25","t32","t36","t40","t42","t45","t50","bind","thisArg","toString","getPrototypeOf","iterator","toStringTag","kindOf","cache","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","isFunction","isArrayBuffer","isArrayBufferView","result","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isEmptyObject","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","allOwnKeys","l","findKey","_key","_global","global","isContextDefined","context","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","_iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","callbacks","cb","asap","process","isIterable","utils$1","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","c","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","buf","arg","encodingOrOffset","allocUnsafe","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","size","alloc","fill","encoding","checked","string","actual","fromArrayLike","array","arrayView","copy","byteOffset","numberIsNaN","x","y","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","max","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","msg","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","alphabet","table","i16","BufferBigIntNotDefined","AxiosError","config","request","response","utils","customProps","axiosError","errCode","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","entry","deleted","deleteHeader","format","targets","asStrings","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","transformData","fns","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","formHeaders","allowedHeaders","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunkSize","readBytes","iterable","__asyncGenerator","iter","__forAwait","readStream","more","temp","__await","__yieldStar","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","DEFAULT_CHUNK_SIZE","globalFetchAPI","Request","Response","ReadableStream","TextEncoder","test","factory","env","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","resolvers","getBodyLength","body","resolveBodyLength","cancelToken","withCredentials","fetchOptions","_fetch","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","fetch","seeds","seed","map","knownAdapters","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","desc","opts","correctSpelling","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","onFulfilled","onRejected","Axios","generateHTTPMethod","isForm","CancelToken$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","axios","promises","all","Cancel","formToJSON","getAdapter","client","getRequestToken","onRequestTokenUpdate","cancelableClient","RETRY_KEY","onCsrfTokenError","responseURL","RETRY_DELAY_KEY","onMaintenanceModeError","retryDelay","onNotLoggedInError","createElementId","_hoisted_4","_hoisted_5","colors","colors2","createElementBlock","createCommentVNode","NcLoadingIcon","candidateSelectors","candidateSelector","NoElement","getRootNode","element","_element$getRootNode","_isInert","node","lookUp","_node$getAttribute","inertAtt","inert","isContentEditable","_node$getAttribute2","attValue","getCandidates","includeContainer","candidates","_getCandidatesIteratively","elements","elementsToCheck","assigned","nestedCandidates","validCandidate","shadowRoot","validShadowRoot","_nestedCandidates","hasTabIndex","getTabIndex","getSortOrderTabIndex","isScope","tabIndex","sortOrderedTabbables","isInput","isHiddenInput","isDetailsWithSummary","child","getCheckedRadio","nodes","form","isTabbableRadio","radioScope","queryRadios","radioSet","isRadio","isNonTabbableRadio","isNodeAttached","_nodeRoot","nodeRoot","nodeRootHost","attached","_nodeRootHost","_nodeRootHost$ownerDo","_node$ownerDocument","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","isZeroArea","_node$getBoundingClie","width","height","isHidden","_ref","displayCheck","getShadowRoot","visible","isDirectSummary","nodeUnderDetails","originalNode","parentElement","rootNode","isDisabledFromFieldset","parentNode","isNodeMatchingSelectorFocusable","isNodeMatchingSelectorTabbable","isShadowRootTabbable","shadowHostNode","_sortByOrder","regularTabbables","orderedTabbables","item","candidateTabindex","acc","sortable","tabbable","container","focusable","isTabbable","focusableCandidateSelector","isFocusable","_arrayLikeToArray","_arrayWithoutHoles","_defineProperty","_toPropertyKey","_iterableToArray","_nonIterableSpread","ownKeys","o","_objectSpread2","_toConsumableArray","_unsupportedIterableToArray","_toPrimitive","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","delay","valueOrHandler","_len","getActualTarget","internalTrapStack","createFocusTrap","userOptions","doc","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","composedPath","tabbableNodes","getNodeForOption","_ref2","_ref2$hasFallback","hasFallback","_ref2$params","optionValue","getInitialFocusNode","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","focusableNodes","lastTabbableNode","firstDomTabbableNode","lastDomTabbableNode","posTabIndexesFound","nodeIdx","group","g","_getActiveElement","activeElement","_tryFocus","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref3","_ref3$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref4","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref5","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","checkKeyNav","checkTabKey","checkEscapeKey","checkClick","addListeners","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","mutation","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","deactivateOptions","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","unpauseOptions","containerElements","elementsAsArray","paused","onPause","onPostPause","onUnpause","onPostUnpause","getTrapStack","createTrapStackController","pausedStack","useTrapStackControl","shouldPause","trapStackController","toValue","onUnmounted","sides","alignments","placements","side","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","isStart","getOppositeAxisPlacements","flipAlignment","direction","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","middleware","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","currentSideAxis","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","B","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","f","u","L","R","T","C","F","W","D","S","A","H","O","P","Ze","$","_e","Te","pe","ae","de","G","le","he","Y","q","Q","xe","Ue","Ye","Xe","Ke","Je","Qe","ne","_","ue","fe","tt","Pe","ce","et","ot","it","J","ke","Le","st","nt","z","X","Fe","Re","De","pt","Ie","at","M","Z","dt","lt","ht","ut","ft","ct","mt","je","Ve","se","ee","te","K","gt","wt","$e","N","I","V","Ee","ve","Se","Ht","kt","logger","getLoggerBuilder","isRtl","isRTL","_sfc_main$1","ncPopover","style0","theme","Dropdown","triggerElements","options2","_sfc_render","$props","$setup","$data","$options","_component_NcPopoverTriggerProvider","resolveComponent","_component_Dropdown","$event","slotProps","normalizeProps","guardReactiveProps","createVNode","cssModules","NcPopover","NC_ACTIONS_IS_SEMANTIC_MENU","NC_ACTIONS_CLOSE_MENU","IconDotsHorizontal","isSlotPopulated","Comment","Fragment","Text","focusableSelector","action","focusList","focusIndex","newFocusIndex","currentActiveElement","focusElement","liMenuParent","indexLength","firstCheckedIndex","button","actions","findActions","actions2","validInlineActions","inlineActions","menuActions","menuItemsActions","textInputActions","linkActions","hasTextInputAction","hasMenuItemAction","hasLinkAction","renderInlineAction","iconProp","icon","buttonText","title","propsToForward","renderActionsPopover","triggerIcon","triggerRandomId","NcActions","INSIDE_RADIO_GROUP_KEY","useInsideRadioGroup","_sfc_main$8","_hoisted_1$8","_hoisted_2$7","_hoisted_3$7","_hoisted_4$6","_sfc_render$8","CheckboxBlankOutline","_sfc_main$7","_hoisted_1$7","_hoisted_2$6","_hoisted_3$6","_hoisted_4$5","_sfc_render$7","CheckboxMarked","_sfc_main$6","_hoisted_1$6","_hoisted_2$5","_hoisted_3$5","_hoisted_4$4","_sfc_render$6","MinusBox","_sfc_main$5","_hoisted_1$5","_hoisted_2$4","_hoisted_3$4","_hoisted_4$3","_sfc_render$5","RadioboxBlank","_sfc_main$4","_hoisted_1$4","_hoisted_2$3","_hoisted_3$3","_hoisted_4$2","_sfc_render$4","RadioboxMarked","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$2","_hoisted_4$1","_sfc_render$3","ToggleSwitch","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","_hoisted_3$1","_sfc_render$2","ToggleSwitchOff","TYPE_CHECKBOX","TYPE_RADIO","TYPE_SWITCH","TYPE_BUTTON","_hoisted_1$1","_sfc_render$1","_component_NcLoadingIcon","normalizeClass","NcCheckboxContent","radioGroup","onMounted","internalType","internalModelValue","values","__injectCSSVars__","useCssVars","__setup__","ctx","_component_NcCheckboxContent","toHandlers","createSlots","NcCheckboxRadioSwitch"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]} |