@nemme/js-sdk 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/client-DIdesTQt.js +2 -0
- package/dist/chunks/client-DIdesTQt.js.map +1 -0
- package/dist/chunks/{client-DNUAujt4.js → client-PmTyYyc6.js} +32 -26
- package/dist/chunks/client-PmTyYyc6.js.map +1 -0
- package/dist/chunks/form-manager-CdG9IzjD.js.map +1 -1
- package/dist/chunks/{form-manager-DRUgPPf5.js → form-manager-Cf8vMLbu.js} +38 -38
- package/dist/chunks/{form-manager-DRUgPPf5.js.map → form-manager-Cf8vMLbu.js.map} +1 -1
- package/dist/deliveries/delivery-manager.d.ts +9 -0
- package/dist/forms.esm.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +2 -2
- package/dist/js-sdk.css +1 -1
- package/dist/nemme-sdk.umd.js +8 -8
- package/dist/nemme-sdk.umd.js.map +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.esm.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/client-DNUAujt4.js.map +0 -1
- package/dist/chunks/client-TSUaCkOO.js +0 -2
- package/dist/chunks/client-TSUaCkOO.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-manager-DRUgPPf5.js","sources":["../../../node_modules/i18next/dist/esm/i18next.js","../../../node_modules/react-i18next/dist/es/utils.js","../../../node_modules/react-i18next/dist/es/unescape.js","../../../node_modules/react-i18next/dist/es/defaults.js","../../../node_modules/react-i18next/dist/es/i18nInstance.js","../../../node_modules/react-i18next/dist/es/initReactI18next.js","../../../node_modules/react-i18next/dist/es/context.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/react-i18next/dist/es/useTranslation.js","../../../node_modules/react-i18next/dist/es/I18nextProvider.js","../../src/forms/form-wrapper/step.tsx","../../src/forms/form-wrapper/form-wrapper.tsx","../../../node_modules/@phosphor-icons/react/dist/defs/ArrowSquareOut.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/CaretLeft.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/CaretRight.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/CircleNotch.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../../node_modules/@phosphor-icons/react/dist/lib/context.es.js","../../../node_modules/@phosphor-icons/react/dist/lib/IconBase.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/ArrowSquareOut.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CaretLeft.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CaretRight.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CircleNotch.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/X.es.js","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/prism-react-renderer/dist/index.mjs","../../../node_modules/react-code-block/dist/shared/utils.js","../../../node_modules/react-code-block/dist/contexts.js","../../../node_modules/react-code-block/dist/code-block.js","../../../ui-kit/dist/index.es.js","../../src/forms/question-wrapper.tsx","../../src/forms/question-choice/question-choice.tsx","../../src/forms/question-text/question-text.tsx","../../src/forms/transition-wrapper.tsx","../../src/forms/transition-end/transition-end.tsx","../../src/forms/transition-start/transition-start.tsx","../../../node_modules/date-fns/_lib/defaultOptions.js","../../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../../node_modules/date-fns/locale/en-US/_lib/match.js","../../../node_modules/date-fns/setDefaultOptions.js","../../../node_modules/date-fns/locale/en-GB/_lib/formatLong.js","../../../node_modules/date-fns/locale/en-GB.js","../../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../../src/i18n.ts","../../src/types/forms.ts","../../src/forms/form-manager.ts"],"sourcesContent":["const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n return path.join(opts?.keySeparator ?? '.');\n}\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n if (resolved?.res === undefined) return false;\n const isObject = shouldHandleAsObject(resolved.res);\n if (opt.returnObjects === false && isObject) {\n return false;\n }\n return true;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (typeof Intl === 'undefined') {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${regexEscape(sep)}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || (matchedDoubleQuotes?.length ?? 0) % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nlet supportNoticeShown = false;\nconst usesLocize = inst => {\n if (inst?.modules?.backend?.name?.indexOf('Locize') > 0) return true;\n if (inst?.modules?.backend?.constructor?.name?.indexOf('Locize') > 0) return true;\n if (inst?.options?.backend?.backends) {\n if (inst.options.backend.backends.some(b => b?.name?.indexOf('Locize') > 0 || b?.constructor?.name?.indexOf('Locize') > 0)) return true;\n }\n return false;\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n if (typeof this.options.overloadTranslationOptionHandler !== 'function') {\n this.options.overloadTranslationOptionHandler = defOpts.overloadTranslationOptionHandler;\n }\n if (this.options.showSupportNotice !== false && !usesLocize(this) && !supportNoticeShown) {\n if (typeof console !== 'undefined' && typeof console.info !== 'undefined') console.info('🌐 i18next is maintained with support from Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙');\n supportNoticeShown = true;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n const usingLegacyFormatFunction = this.options.interpolation.format && this.options.interpolation.format !== defOpts.interpolation.format;\n if (usingLegacyFormatFunction) {\n this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`);\n }\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, {\n ...this.options,\n ...opts\n });\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, {\n ...this.options,\n ...opts\n });\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n const instance = new I18n(options, callback);\n instance.createInstance = I18n.createInstance;\n return instance;\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n if (options.interpolation) {\n const defOpts = get();\n const mergedInterpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation,\n ...options.interpolation\n };\n const mergedForInterpolator = {\n ...mergedOptions,\n interpolation: mergedInterpolation\n };\n clone.services.interpolator = new Interpolator(mergedForInterpolator);\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, keysFromSelector as keyFromSelector, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape,\n transDefaultProps: undefined\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import { useContext, useCallback, useMemo, useEffect, useRef, useState } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n};\nconst notReadySnapshot = {\n t: notReadyT,\n ready: false\n};\nconst dummySubscribe = () => () => {};\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n }\n const i18nOptions = useMemo(() => ({\n ...getDefaults(),\n ...i18n?.options?.react,\n ...props\n }), [i18n, props]);\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n const nsOrContext = ns || defaultNSFromContext || i18n?.options?.defaultNS;\n const unstableNamespaces = isString(nsOrContext) ? [nsOrContext] : nsOrContext || ['translation'];\n const namespaces = useMemo(() => unstableNamespaces, unstableNamespaces);\n i18n?.reportNamespaces?.addUsedNamespaces?.(namespaces);\n const revisionRef = useRef(0);\n const subscribe = useCallback(callback => {\n if (!i18n) return dummySubscribe;\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n const wrappedCallback = () => {\n revisionRef.current += 1;\n callback();\n };\n if (bindI18n) i18n.on(bindI18n, wrappedCallback);\n if (bindI18nStore) i18n.store.on(bindI18nStore, wrappedCallback);\n return () => {\n if (bindI18n) bindI18n.split(' ').forEach(e => i18n.off(e, wrappedCallback));\n if (bindI18nStore) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, wrappedCallback));\n };\n }, [i18n, i18nOptions]);\n const snapshotRef = useRef();\n const getSnapshot = useCallback(() => {\n if (!i18n) {\n return notReadySnapshot;\n }\n const calculatedReady = !!(i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const currentLng = props.lng || i18n.language;\n const currentRevision = revisionRef.current;\n const lastSnapshot = snapshotRef.current;\n if (lastSnapshot && lastSnapshot.ready === calculatedReady && lastSnapshot.lng === currentLng && lastSnapshot.keyPrefix === keyPrefix && lastSnapshot.revision === currentRevision) {\n return lastSnapshot;\n }\n const calculatedT = i18n.getFixedT(currentLng, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const newSnapshot = {\n t: calculatedT,\n ready: calculatedReady,\n lng: currentLng,\n keyPrefix,\n revision: currentRevision\n };\n snapshotRef.current = newSnapshot;\n return newSnapshot;\n }, [i18n, namespaces, keyPrefix, i18nOptions, props.lng]);\n const [loadCount, setLoadCount] = useState(0);\n const {\n t,\n ready\n } = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n useEffect(() => {\n if (i18n && !ready && !useSuspense) {\n const onLoaded = () => setLoadCount(c => c + 1);\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n }\n }, [i18n, props.lng, namespaces, ready, useSuspense, loadCount]);\n const finalI18n = i18n || {};\n const wrapperRef = useRef(null);\n const wrapperLangRef = useRef();\n const createI18nWrapper = original => {\n const descriptors = Object.getOwnPropertyDescriptors(original);\n if (descriptors.__original) delete descriptors.__original;\n const wrapper = Object.create(Object.getPrototypeOf(original), descriptors);\n if (!Object.prototype.hasOwnProperty.call(wrapper, '__original')) {\n try {\n Object.defineProperty(wrapper, '__original', {\n value: original,\n writable: false,\n enumerable: false,\n configurable: false\n });\n } catch (_) {}\n }\n return wrapper;\n };\n const ret = useMemo(() => {\n const original = finalI18n;\n const lang = original?.language;\n let i18nWrapper = original;\n if (original) {\n if (wrapperRef.current && wrapperRef.current.__original === original) {\n if (wrapperLangRef.current !== lang) {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n } else {\n i18nWrapper = wrapperRef.current;\n }\n } else {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n }\n }\n const arr = [t, i18nWrapper, ready];\n arr.t = t;\n arr.i18n = i18nWrapper;\n arr.ready = ready;\n return arr;\n }, [t, finalI18n, ready, finalI18n.resolvedLanguage, finalI18n.language, finalI18n.languages]);\n if (i18n && useSuspense && !ready) {\n throw new Promise(resolve => {\n const onLoaded = () => resolve();\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n });\n }\n return ret;\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ChoiceQuestion, EndTransition, Form, Question, StartTransition, TextQuestion } from '../../types/forms';\nimport { QuestionChoice, QuestionText, TransitionEnd, TransitionStart } from '..';\nimport { FormState } from './form-wrapper';\n\ntype Props = {\n step: number;\n form: Form;\n formState: FormState;\n onDismiss: (formState: FormState) => void;\n onNextStep: () => void;\n onPreviousStep: () => void;\n onUpdateResponse: (questionId: number, answer: string | number[]) => void;\n};\n\ntype StepInfo = {\n type: 'start' | 'question' | 'end';\n transition?: StartTransition | EndTransition;\n questionIndex?: number;\n question?: Question;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const Step: FC<Props> = ({ step, form, formState, onDismiss, onNextStep, onPreviousStep, onUpdateResponse }) => {\n const { t } = useTranslation();\n\n // Helper function to determine what type of step we're on\n const getStepInfo = (stepOrder: number): StepInfo => {\n let currentOrder = 0;\n\n // Check if this is the start transition\n if (form.startTransition) {\n if (stepOrder === currentOrder) {\n return {\n type: 'start' as const,\n transition: form.startTransition,\n hasPreviousStep: false,\n hasNextStep: form.questions.length > 0 || !!form.endTransition\n };\n }\n currentOrder++;\n }\n\n // Check if this is a question\n const questionIndex = stepOrder - currentOrder;\n if (questionIndex >= 0 && questionIndex < form.questions.length) {\n return {\n type: 'question' as const,\n questionIndex,\n question: form.questions[questionIndex],\n hasPreviousStep: stepOrder > 0,\n hasNextStep: stepOrder < form.questions.length - 1 || !!form.endTransition\n };\n }\n currentOrder += form.questions.length;\n\n // Check if this is the end transition\n if (form.endTransition && stepOrder === currentOrder) {\n return {\n type: 'end' as const,\n transition: form.endTransition,\n hasPreviousStep: stepOrder > 0,\n hasNextStep: false\n };\n }\n\n throw new Error('Invalid step order');\n };\n\n const stepInfo = getStepInfo(step);\n\n if (stepInfo.type === 'start') {\n const {\n title,\n description,\n image,\n includeOptOut,\n customStartButton,\n startButtonText,\n customOptOutButton,\n optOutButtonText\n } = stepInfo.transition as StartTransition;\n return (\n <TransitionStart\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={includeOptOut ? (customOptOutButton ? optOutButtonText : t('Quit')) : undefined}\n onQuit={includeOptOut ? () => onDismiss(formState) : undefined}\n startText={customStartButton ? startButtonText : t('Start')}\n onStart={onNextStep}\n />\n );\n }\n\n if (stepInfo.type === 'end') {\n const { title, description, image, customEndButton, endButtonText, customEndButtonLink, endButtonLink } =\n stepInfo.transition as EndTransition;\n return (\n <TransitionEnd\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={customEndButton ? endButtonText : t('Done')}\n onQuit={onNextStep}\n externalLink={customEndButtonLink ? endButtonLink : undefined}\n />\n );\n }\n\n if (stepInfo.type === 'question') {\n const { question } = stepInfo;\n if (!question) throw new Error('No question found');\n\n if (question.questionType === 'choice') {\n const { title, description, image, alternatives, maxSelections, required, verticalAlignment } =\n question as ChoiceQuestion;\n const selectedAlternatives = (formState.responses[question.id] as number[]) || [];\n const isValid =\n (maxSelections ? selectedAlternatives.length <= maxSelections || maxSelections === 4 : true) &&\n (required ? selectedAlternatives.length > 0 : true);\n return (\n <QuestionChoice\n title={title}\n description={description}\n image={image}\n alternatives={alternatives}\n onPrevious={onPreviousStep}\n onNext={onNextStep}\n icon={form.icon}\n maxAlternatives={maxSelections}\n verticalAlignment={verticalAlignment}\n onQuit={() => onDismiss(formState)}\n selectedAlternatives={selectedAlternatives}\n onAlternativeSelect={(alternativeIndex: number) => {\n // Handle single or multiple selection based on question config\n const isMultiple = maxSelections > 1;\n if (isMultiple) {\n const current = selectedAlternatives;\n const updated = current.includes(alternativeIndex)\n ? current.filter(i => i !== alternativeIndex)\n : maxSelections && current.length >= maxSelections && maxSelections != 4\n ? current\n : [...current, alternativeIndex];\n onUpdateResponse(question.id, updated);\n } else {\n if (selectedAlternatives.includes(alternativeIndex)) {\n onUpdateResponse(question.id, []);\n } else {\n onUpdateResponse(question.id, [alternativeIndex]);\n }\n }\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n\n if (question.questionType === 'text') {\n const { title, description, image, maxChars, limited, required } = question as TextQuestion;\n const inputText = (formState.responses[question.id] as string) || '';\n const isValid =\n (limited && maxChars ? inputText.length <= maxChars : true) && (required ? inputText.length > 0 : true);\n\n return (\n <QuestionText\n title={title}\n icon={form.icon}\n description={description}\n onNext={onNextStep}\n onPrevious={onPreviousStep}\n onQuit={() => onDismiss(formState)}\n image={image}\n maxCharacters={limited ? maxChars : undefined}\n inputText={inputText}\n setInputText={(text: string) => {\n if (limited && maxChars && text.length > maxChars) return;\n onUpdateResponse(question.id, text);\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n }\n\n return null;\n};\n","import { FC, useCallback, useState } from 'react';\nimport { Form } from '../../types/forms';\nimport { Step } from './step';\n\nexport type FormState = {\n responses: Record<number, string | number[]>; // questionId -> response\n currentStep: number; // Sequential step number\n startedAt: Date;\n completedAt?: Date;\n};\n\nexport type Props = {\n form: Form;\n onDismiss: (formState: FormState) => Promise<void>;\n onComplete: (formState: FormState) => Promise<void>;\n zIndex?: number;\n};\n\nexport const FormWrapper: FC<Props> = ({ form, onDismiss, onComplete, zIndex = 100 }) => {\n // Calculate total steps: startTransition + questions + endTransition\n const totalSteps = (form.startTransition ? 1 : 0) + form.questions.length + (form.endTransition ? 1 : 0);\n const lastStepIndex = totalSteps - 1;\n\n const [formState, setFormState] = useState<FormState>({\n responses: {},\n currentStep: 0,\n startedAt: new Date()\n });\n\n const updateResponse = useCallback((questionId: number, answer: string | number[]) => {\n setFormState(prev => ({\n ...prev,\n responses: {\n ...prev.responses,\n [questionId]: answer\n }\n }));\n }, []);\n\n const navigateToStep = useCallback((stepOrder: number) => {\n setFormState(prev => ({\n ...prev,\n currentStep: stepOrder\n }));\n }, []);\n\n const nextStep = useCallback(() => {\n if (formState.currentStep < lastStepIndex) {\n navigateToStep(formState.currentStep + 1);\n } else {\n const completedFormState = {\n ...formState,\n completedAt: new Date()\n };\n onComplete(completedFormState);\n }\n }, [formState, lastStepIndex, navigateToStep, onComplete]);\n\n const previousStep = useCallback(() => {\n if (formState.currentStep > 0) {\n navigateToStep(formState.currentStep - 1);\n }\n }, [formState.currentStep, navigateToStep]);\n return (\n <div\n className=\"flex flex-col justify-center items-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark\"\n style={{ zIndex }}\n >\n <Step\n step={formState.currentStep}\n form={form}\n formState={formState}\n onDismiss={onDismiss}\n onNextStep={nextStep}\n onPreviousStep={previousStep}\n onUpdateResponse={updateResponse}\n />\n </div>\n );\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M160,48V208L80,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst t = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,128,96,208V48Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z\" }))\n ]\n]);\nexport {\n t as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M236,128a108,108,0,0,1-216,0c0-42.52,24.73-81.34,63-98.9A12,12,0,1,1,93,50.91C63.24,64.57,44,94.83,44,128a84,84,0,0,0,168,0c0-33.17-19.24-63.43-49-77.09A12,12,0,1,1,173,29.1C211.27,46.66,236,85.48,236,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,176A72,72,0,0,1,92,65.64a8,8,0,0,1,8,13.85,56,56,0,1,0,56,0,8,8,0,0,1,8-13.85A72,72,0,0,1,128,200Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230,128a102,102,0,0,1-204,0c0-40.18,23.35-76.86,59.5-93.45a6,6,0,0,1,5,10.9C58.61,60.09,38,92.49,38,128a90,90,0,0,0,180,0c0-35.51-20.61-67.91-52.5-82.55a6,6,0,0,1,5-10.9C206.65,51.14,230,87.82,230,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228,128a100,100,0,0,1-200,0c0-39.4,22.9-75.37,58.33-91.63a4,4,0,1,1,3.34,7.27C57.07,58.6,36,91.71,36,128a92,92,0,0,0,184,0c0-36.29-21.07-69.4-53.67-84.36a4,4,0,1,1,3.34-7.27C205.1,52.63,228,88.6,228,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import { createContext as r } from \"react\";\nconst o = r({\n color: \"currentColor\",\n size: \"1em\",\n weight: \"regular\",\n mirrored: !1\n});\nexport {\n o as IconContext\n};\n","import * as e from \"react\";\nimport { IconContext as h } from \"./context.es.js\";\nconst p = e.forwardRef(\n (s, a) => {\n const {\n alt: n,\n color: r,\n size: t,\n weight: o,\n mirrored: c,\n children: i,\n weights: m,\n ...x\n } = s, {\n color: d = \"currentColor\",\n size: l,\n weight: f = \"regular\",\n mirrored: g = !1,\n ...w\n } = e.useContext(h);\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: a,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t != null ? t : l,\n height: t != null ? t : l,\n fill: r != null ? r : d,\n viewBox: \"0 0 256 256\",\n transform: c || g ? \"scale(-1, 1)\" : void 0,\n ...w,\n ...x\n },\n !!n && /* @__PURE__ */ e.createElement(\"title\", null, n),\n i,\n m.get(o != null ? o : f)\n );\n }\n);\np.displayName = \"IconBase\";\nexport {\n p as default\n};\n","import * as r from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/ArrowSquareOut.es.js\";\nconst o = r.forwardRef((e, t) => /* @__PURE__ */ r.createElement(a, { ref: t, ...e, weights: m }));\no.displayName = \"ArrowSquareOutIcon\";\nconst n = o;\nexport {\n n as ArrowSquareOut,\n o as ArrowSquareOutIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretLeft.es.js\";\nconst t = e.forwardRef((o, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...o, weights: f }));\nt.displayName = \"CaretLeftIcon\";\nconst s = t;\nexport {\n s as CaretLeft,\n t as CaretLeftIcon\n};\n","import * as t from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/CaretRight.es.js\";\nconst e = t.forwardRef((o, r) => /* @__PURE__ */ t.createElement(a, { ref: r, ...o, weights: i }));\ne.displayName = \"CaretRightIcon\";\nconst s = e;\nexport {\n s as CaretRight,\n e as CaretRightIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/CircleNotch.es.js\";\nconst c = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(t, { ref: r, ...e, weights: a }));\nc.displayName = \"CircleNotchIcon\";\nconst s = c;\nexport {\n s as CircleNotch,\n c as CircleNotchIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst n = e;\nexport {\n n as X,\n e as XIcon\n};\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\nvar require_prism = __commonJS({\n \"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\"(exports, module) {\n var Prism2 = function() {\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0;\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/\\u00a0/g, \" \");\n }\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function(obj) {\n if (!obj[\"__id\"]) {\n Object.defineProperty(obj, \"__id\", { value: ++uniqueId });\n }\n return obj[\"__id\"];\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n switch (_.util.type(o)) {\n case \"Object\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = /** @type {Record<string, any>} */\n {};\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return (\n /** @type {any} */\n clone\n );\n case \"Array\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n /** @type {Array} */\n /** @type {any} */\n o.forEach(function(v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n default:\n return o;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function(element) {\n while (element) {\n var m = lang.exec(element.className);\n if (m) {\n return m[1].toLowerCase();\n }\n element = element.parentElement;\n }\n return \"none\";\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function(element, language) {\n element.className = element.className.replace(RegExp(lang, \"gi\"), \"\");\n element.classList.add(\"language-\" + language);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function(element, className, defaultActivation) {\n var no = \"no-\" + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function(id, redef) {\n var lang2 = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang2[key] = redef[key];\n }\n return lang2;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function(inside, before, insert, root) {\n root = root || /** @type {any} */\n _.languages;\n var grammar = root[inside];\n var ret = {};\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n var old = root[inside];\n root[inside] = ret;\n _.languages.DFS(_.languages, function(key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n var property = o[i];\n var propertyType = _.util.type(property);\n if (propertyType === \"Object\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === \"Array\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function(text, grammar, language) {\n var env = {\n code: text,\n grammar,\n language\n };\n _.hooks.run(\"before-tokenize\", env);\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.');\n }\n env.tokens = _.tokenize(env.code, env.grammar);\n _.hooks.run(\"after-tokenize\", env);\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function(text, grammar) {\n var rest = grammar.rest;\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n delete grammar.rest;\n }\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function(name, callback) {\n var hooks2 = _.hooks.all;\n hooks2[name] = hooks2[name] || [];\n hooks2[name].push(callback);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function(name, env) {\n var callbacks = _.hooks.all[name];\n if (!callbacks || !callbacks.length) {\n return;\n }\n for (var i = 0, callback; callback = callbacks[i++]; ) {\n callback(env);\n }\n }\n },\n Token\n };\n function Token(type, content, alias, matchedStr) {\n this.type = type;\n this.content = content;\n this.alias = alias;\n this.length = (matchedStr || \"\").length | 0;\n }\n Token.stringify = function stringify(o, language) {\n if (typeof o == \"string\") {\n return o;\n }\n if (Array.isArray(o)) {\n var s = \"\";\n o.forEach(function(e) {\n s += stringify(e, language);\n });\n return s;\n }\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: \"span\",\n classes: [\"token\", o.type],\n attributes: {},\n language\n };\n var aliases = o.alias;\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n _.hooks.run(\"wrap\", env);\n var attributes = \"\";\n for (var name in env.attributes) {\n attributes += \" \" + name + '=\"' + (env.attributes[name] || \"\").replace(/\"/g, \""\") + '\"';\n }\n return \"<\" + env.tag + ' class=\"' + env.classes.join(\" \") + '\"' + attributes + \">\" + env.content + \"</\" + env.tag + \">\";\n };\n function matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n if (match && lookbehind && match[1]) {\n var lookbehindLength = match[1].length;\n match.index += lookbehindLength;\n match[0] = match[0].slice(lookbehindLength);\n }\n return match;\n }\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + \",\" + j) {\n return;\n }\n var patternObj = patterns[j];\n var inside = patternObj.inside;\n var lookbehind = !!patternObj.lookbehind;\n var greedy = !!patternObj.greedy;\n var alias = patternObj.alias;\n if (greedy && !patternObj.pattern.global) {\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + \"g\");\n }\n var pattern = patternObj.pattern || patternObj;\n for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n var str = currentNode.value;\n if (tokenList.length > text.length) {\n return;\n }\n if (str instanceof Token) {\n continue;\n }\n var removeCount = 1;\n var match;\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind);\n if (!match || match.index >= text.length) {\n break;\n }\n var from = match.index;\n var to = match.index + match[0].length;\n var p = pos;\n p += currentNode.value.length;\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n }\n p -= currentNode.value.length;\n pos = p;\n if (currentNode.value instanceof Token) {\n continue;\n }\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === \"string\"); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n removeCount--;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n match = matchPattern(pattern, 0, str, lookbehind);\n if (!match) {\n continue;\n }\n }\n var from = match.index;\n var matchStr = match[0];\n var before = str.slice(0, from);\n var after = str.slice(from + matchStr.length);\n var reach = pos + str.length;\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n var removeFrom = currentNode.prev;\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n if (removeCount > 1) {\n var nestedRematch = {\n cause: token + \",\" + j,\n reach\n };\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach;\n }\n }\n }\n }\n }\n }\n function LinkedList() {\n var head = { value: null, prev: null, next: null };\n var tail = { value: null, prev: head, next: null };\n head.next = tail;\n this.head = head;\n this.tail = tail;\n this.length = 0;\n }\n function addAfter(list, node, value) {\n var next = node.next;\n var newNode = { value, prev: node, next };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n function removeRange(list, node, count) {\n var next = node.next;\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n return array;\n }\n return _;\n }();\n module.exports = Prism2;\n Prism2.default = Prism2;\n }\n});\n\n// src/prism-langs.ts\nvar Prism = __toESM(require_prism());\nPrism.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/, greedy: true }, prolog: { pattern: /<\\?[\\s\\S]+?\\?>/, greedy: true }, doctype: { pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i, greedy: true, inside: { \"internal-subset\": { pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/, lookbehind: true, greedy: true, inside: null }, string: { pattern: /\"[^\"]*\"|'[^']*'/, greedy: true }, punctuation: /^<!|>$|[[\\]]/, \"doctype-tag\": /^DOCTYPE/i, name: /[^\\s<>'\"]+/ } }, cdata: { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, greedy: true }, tag: { pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/, greedy: true, inside: { tag: { pattern: /^<\\/?[^\\s>\\/]+/, inside: { punctuation: /^<\\/?/, namespace: /^[^\\s>\\/:]+:/ } }, \"special-attr\": [], \"attr-value\": { pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, { pattern: /^(\\s*)[\"']|[\"']$/, lookbehind: true }] } }, punctuation: /\\/?>/, \"attr-name\": { pattern: /[^\\s>\\/]+/, inside: { namespace: /^[^\\s>\\/:]+:/ } } } }, entity: [{ pattern: /&[\\da-z]{1,8};/i, alias: \"named-entity\" }, /&#x?[\\da-f]{1,8};/i] }, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.languages.markup.doctype.inside[\"internal-subset\"].inside = Prism.languages.markup, Prism.hooks.add(\"wrap\", function(e) {\n \"entity\" === e.type && (e.attributes.title = e.content.replace(/&/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", { value: function(e, n) {\n var t = {}, t = (t[\"language-\" + n] = { pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i, lookbehind: true, inside: Prism.languages[n] }, t.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i, { \"included-cdata\": { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, inside: t } }), n = (t[\"language-\" + n] = { pattern: /[\\s\\S]+/, inside: Prism.languages[n] }, {});\n n[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function() {\n return e;\n }), \"i\"), lookbehind: true, greedy: true, inside: t }, Prism.languages.insertBefore(\"markup\", \"cdata\", n);\n} }), Object.defineProperty(Prism.languages.markup.tag, \"addAttribute\", { value: function(e, n) {\n Prism.languages.markup.tag.inside[\"special-attr\"].push({ pattern: RegExp(/(^|[\"'\\s])/.source + \"(?:\" + e + \")\" + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, \"i\"), lookbehind: true, inside: { \"attr-name\": /^[^\\s=]+/, \"attr-value\": { pattern: /=[\\s\\S]+/, inside: { value: { pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/, lookbehind: true, alias: [n, \"language-\" + n], inside: Prism.languages[n] }, punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, /\"|'/] } } } });\n} }), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup, Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.ssml = Prism.languages.xml, Prism.languages.atom = Prism.languages.xml, Prism.languages.rss = Prism.languages.xml, function(e) {\n var n = { pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/, alias: \"escape\" }, t = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, a = \"(?:[^\\\\\\\\-]|\" + t.source + \")\", a = RegExp(a + \"-\" + a), r = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: true, alias: \"variable\" };\n e.languages.regex = { \"char-class\": { pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/, lookbehind: true, inside: { \"char-class-negation\": { pattern: /(^\\[)\\^/, lookbehind: true, alias: \"operator\" }, \"char-class-punctuation\": { pattern: /^\\[|\\]$/, alias: \"punctuation\" }, range: { pattern: a, inside: { escape: t, \"range-punctuation\": { pattern: /-/, alias: \"operator\" } } }, \"special-escape\": n, \"char-set\": { pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, escape: t } }, \"special-escape\": n, \"char-set\": { pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, backreference: [{ pattern: /\\\\(?![123][0-7]{2})[1-9]/, alias: \"keyword\" }, { pattern: /\\\\k<[^<>']+>/, alias: \"keyword\", inside: { \"group-name\": r } }], anchor: { pattern: /[$^]|\\\\[ABbGZz]/, alias: \"function\" }, escape: t, group: [{ pattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: \"punctuation\", inside: { \"group-name\": r } }, { pattern: /\\)/, alias: \"punctuation\" }], quantifier: { pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/, alias: \"number\" }, alternation: { pattern: /\\|/, alias: \"keyword\" } };\n}(Prism), Prism.languages.clike = { comment: [{ pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, greedy: true }, \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i, lookbehind: true, inside: { punctuation: /[.\\\\]/ } }, keyword: /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/, boolean: /\\b(?:false|true)\\b/, function: /\\b\\w+(?=\\()/, number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.javascript = Prism.languages.extend(\"clike\", { \"class-name\": [Prism.languages.clike[\"class-name\"], { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/, lookbehind: true }], keyword: [{ pattern: /((?:^|\\})\\s*)catch\\b/, lookbehind: true }, { pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/, lookbehind: true }], function: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/, number: { pattern: RegExp(/(^|[^\\w$])/.source + \"(?:\" + /NaN|Infinity/.source + \"|\" + /0[bB][01]+(?:_[01]+)*n?/.source + \"|\" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + \"|\" + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + \"|\" + /\\d+(?:_\\d+)*n/.source + \"|\" + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source + \")\" + /(?![\\w$])/.source), lookbehind: true }, operator: /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/ }), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", { regex: { pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + \"(?:\" + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + \"|\" + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + \")\" + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source), lookbehind: true, greedy: true, inside: { \"regex-source\": { pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/, lookbehind: true, alias: \"language-regex\", inside: Prism.languages.regex }, \"regex-delimiter\": /^\\/|\\/$/, \"regex-flags\": /^[a-z]+$/ } }, \"function-variable\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/, alias: \"function\" }, parameter: [{ pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/, lookbehind: true, inside: Prism.languages.javascript }], constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/ }), Prism.languages.insertBefore(\"javascript\", \"string\", { hashbang: { pattern: /^#!.*/, greedy: true, alias: \"comment\" }, \"template-string\": { pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/, lookbehind: true, inside: { \"interpolation-punctuation\": { pattern: /^\\$\\{|\\}$/, alias: \"punctuation\" }, rest: Prism.languages.javascript } }, string: /[\\s\\S]+/ } }, \"string-property\": { pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m, lookbehind: true, greedy: true, alias: \"property\" } }), Prism.languages.insertBefore(\"javascript\", \"operator\", { \"literal-property\": { pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m, lookbehind: true, alias: \"property\" } }), Prism.languages.markup && (Prism.languages.markup.tag.addInlined(\"script\", \"javascript\"), Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, \"javascript\")), Prism.languages.js = Prism.languages.javascript, Prism.languages.actionscript = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/, operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), Prism.languages.actionscript[\"class-name\"].alias = \"function\", delete Prism.languages.actionscript.parameter, delete Prism.languages.actionscript[\"literal-property\"], Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", { xml: { pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/, lookbehind: true, inside: Prism.languages.markup } }), function(e) {\n var n = /#(?!\\{).+/, t = { pattern: /#\\{[^}]+\\}/, alias: \"variable\" };\n e.languages.coffeescript = e.languages.extend(\"javascript\", { comment: n, string: [{ pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/, greedy: true }, { pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/, greedy: true, inside: { interpolation: t } }], keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/, \"class-member\": { pattern: /@(?!\\d)\\w+/, alias: \"variable\" } }), e.languages.insertBefore(\"coffeescript\", \"comment\", { \"multiline-comment\": { pattern: /###[\\s\\S]+?###/, alias: \"comment\" }, \"block-regex\": { pattern: /\\/{3}[\\s\\S]*?\\/{3}/, alias: \"regex\", inside: { comment: n, interpolation: t } } }), e.languages.insertBefore(\"coffeescript\", \"string\", { \"inline-javascript\": { pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: \"punctuation\" }, script: { pattern: /[\\s\\S]+/, alias: \"language-javascript\", inside: e.languages.javascript } } }, \"multiline-string\": [{ pattern: /'''[\\s\\S]*?'''/, greedy: true, alias: \"string\" }, { pattern: /\"\"\"[\\s\\S]*?\"\"\"/, greedy: true, alias: \"string\", inside: { interpolation: t } }] }), e.languages.insertBefore(\"coffeescript\", \"keyword\", { property: /(?!\\d)\\w+(?=\\s*:(?!:))/ }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism), function(l) {\n var e = l.languages.javadoclike = { parameter: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m, lookbehind: true }, keyword: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m, lookbehind: true }, punctuation: /[{}]/ };\n Object.defineProperty(e, \"addSupport\", { value: function(e2, o) {\n (e2 = \"string\" == typeof e2 ? [e2] : e2).forEach(function(e3) {\n var n = function(e4) {\n e4.inside || (e4.inside = {}), e4.inside.rest = o;\n }, t = \"doc-comment\";\n if (a = l.languages[e3]) {\n var a, r = a[t];\n if ((r = r ? r : (a = l.languages.insertBefore(e3, \"comment\", { \"doc-comment\": { pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, alias: \"comment\" } }))[t]) instanceof RegExp && (r = a[t] = { pattern: r }), Array.isArray(r))\n for (var s = 0, i = r.length; s < i; s++)\n r[s] instanceof RegExp && (r[s] = { pattern: r[s] }), n(r[s]);\n else\n n(r);\n }\n });\n } }), e.addSupport([\"java\", \"javascript\", \"php\"], e);\n}(Prism), function(e) {\n var n = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/, n = (e.languages.css = { comment: /\\/\\*[\\s\\S]*?\\*\\//, atrule: { pattern: RegExp(\"@[\\\\w-](?:\" + /[^;{\\s\"']|\\s+(?!\\s)/.source + \"|\" + n.source + \")*?\" + /(?:;|(?=\\s*\\{))/.source), inside: { rule: /^@[\\w-]+/, \"selector-function-argument\": { pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/, lookbehind: true, alias: \"selector\" }, keyword: { pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/, lookbehind: true } } }, url: { pattern: RegExp(\"\\\\burl\\\\((?:\" + n.source + \"|\" + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + \")\\\\)\", \"i\"), greedy: true, inside: { function: /^url/i, punctuation: /^\\(|\\)$/, string: { pattern: RegExp(\"^\" + n.source + \"$\"), alias: \"url\" } } }, selector: { pattern: RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|` + n.source + \")*(?=\\\\s*\\\\{)\"), lookbehind: true }, string: { pattern: n, greedy: true }, property: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i, lookbehind: true }, important: /!important\\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i, lookbehind: true }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);\n n && (n.tag.addInlined(\"style\", \"css\"), n.tag.addAttribute(\"style\", \"css\"));\n}(Prism), function(e) {\n var n = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, n = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: true, inside: n = { \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/, \"pseudo-class\": /:[-\\w]+/, class: /\\.[-\\w]+/, id: /#[-\\w]+/, attribute: { pattern: RegExp(`\\\\[(?:[^[\\\\]\"']|` + n.source + \")*\\\\]\"), greedy: true, inside: { punctuation: /^\\[|\\]$/, \"case-sensitivity\": { pattern: /(\\s)[si]$/i, lookbehind: true, alias: \"keyword\" }, namespace: { pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/, lookbehind: true, inside: { punctuation: /\\|$/ } }, \"attr-name\": { pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/, lookbehind: true }, \"attr-value\": [n, { pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/, lookbehind: true }], operator: /[|~*^$]?=/ } }, \"n-th\": [{ pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/, lookbehind: true, inside: { number: /[\\dn]+/, operator: /[+-]/ } }, { pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i, lookbehind: true }], combinator: />|\\+|~|\\|\\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside[\"selector-function-argument\"].inside = n, e.languages.insertBefore(\"css\", \"property\", { variable: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i, lookbehind: true } }), { pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/, lookbehind: true }), t = { pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/, lookbehind: true };\n e.languages.insertBefore(\"css\", \"function\", { operator: { pattern: /(\\s)[+\\-*\\/](?=\\s)/, lookbehind: true }, hexcode: { pattern: /\\B#[\\da-f]{3,8}\\b/i, alias: \"color\" }, color: [{ pattern: /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i, lookbehind: true }, { pattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i, inside: { unit: n, number: t, function: /[\\w-]+(?=\\()/, punctuation: /[(),]/ } }], entity: /\\\\[\\da-f]{1,8}/i, unit: n, number: t });\n}(Prism), function(e) {\n var n = /[*&][^\\s[\\]{},]+/, t = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/, a = \"(?:\" + t.source + \"(?:[ \t]+\" + n.source + \")?|\" + n.source + \"(?:[ \t]+\" + t.source + \")?)\", r = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n }), s = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n function i(e2, n2) {\n n2 = (n2 || \"\").replace(/m/g, \"\") + \"m\";\n var t2 = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<value>>/g, function() {\n return e2;\n });\n return RegExp(t2, n2);\n }\n e.languages.yaml = { scalar: { pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function() {\n return a;\n })), lookbehind: true, alias: \"string\" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<key>>/g, function() {\n return \"(?:\" + r + \"|\" + s + \")\";\n })), lookbehind: true, greedy: true, alias: \"atrule\" }, directive: { pattern: /(^[ \\t]*)%.+/m, lookbehind: true, alias: \"important\" }, datetime: { pattern: i(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source), lookbehind: true, alias: \"number\" }, boolean: { pattern: i(/false|true/.source, \"i\"), lookbehind: true, alias: \"important\" }, null: { pattern: i(/null|~/.source, \"i\"), lookbehind: true, alias: \"important\" }, string: { pattern: i(s), lookbehind: true, greedy: true }, number: { pattern: i(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, \"i\"), lookbehind: true }, tag: t, important: n, punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./ }, e.languages.yml = e.languages.yaml;\n}(Prism), function(o) {\n var n = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n function e(e2) {\n return e2 = e2.replace(/<inner>/g, function() {\n return n;\n }), RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + \"(?:\" + e2 + \")\");\n }\n var t = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source, a = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function() {\n return t;\n }), r = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source, l = (o.languages.markdown = o.languages.extend(\"markup\", {}), o.languages.insertBefore(\"markdown\", \"prolog\", { \"front-matter-block\": { pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/, lookbehind: true, greedy: true, inside: { punctuation: /^---|---$/, \"front-matter\": { pattern: /\\S+(?:\\s+\\S+)*/, alias: [\"yaml\", \"language-yaml\"], inside: o.languages.yaml } } }, blockquote: { pattern: /^>(?:[\\t ]*>)*/m, alias: \"punctuation\" }, table: { pattern: RegExp(\"^\" + a + r + \"(?:\" + a + \")*\", \"m\"), inside: { \"table-data-rows\": { pattern: RegExp(\"^(\" + a + r + \")(?:\" + a + \")*$\"), lookbehind: true, inside: { \"table-data\": { pattern: RegExp(t), inside: o.languages.markdown }, punctuation: /\\|/ } }, \"table-line\": { pattern: RegExp(\"^(\" + a + \")\" + r + \"$\"), lookbehind: true, inside: { punctuation: /\\||:?-{3,}:?/ } }, \"table-header-row\": { pattern: RegExp(\"^\" + a + \"$\"), inside: { \"table-header\": { pattern: RegExp(t), alias: \"important\", inside: o.languages.markdown }, punctuation: /\\|/ } } } }, code: [{ pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/, lookbehind: true, alias: \"keyword\" }, { pattern: /^```[\\s\\S]*?^```$/m, greedy: true, inside: { \"code-block\": { pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m, lookbehind: true }, \"code-language\": { pattern: /^(```).+/, lookbehind: true }, punctuation: /```/ } }], title: [{ pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m, alias: \"important\", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\\s*)#.+/m, lookbehind: true, alias: \"important\", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m, lookbehind: true, alias: \"punctuation\" }, list: { pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m, lookbehind: true, alias: \"punctuation\" }, \"url-reference\": { pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/, inside: { variable: { pattern: /^(!?\\[)[^\\]]+/, lookbehind: true }, string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/, punctuation: /^[\\[\\]!:]|[<>]/ }, alias: \"url\" }, bold: { pattern: e(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^..)[\\s\\S]+(?=..$)/, lookbehind: true, inside: {} }, punctuation: /\\*\\*|__/ } }, italic: { pattern: e(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^.)[\\s\\S]+(?=.$)/, lookbehind: true, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: e(/(~~?)(?:(?!~)<inner>)+\\2/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^~~?)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: {} }, punctuation: /~~?/ } }, \"code-snippet\": { pattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/, lookbehind: true, greedy: true, alias: [\"code\", \"keyword\"] }, url: { pattern: e(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source), lookbehind: true, greedy: true, inside: { operator: /^!/, content: { pattern: /(^\\[)[^\\]]+(?=\\])/, lookbehind: true, inside: {} }, variable: { pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/, lookbehind: true }, url: { pattern: /(^\\]\\()[^\\s)]+/, lookbehind: true }, string: { pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/, lookbehind: true } } } }), [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function(n2) {\n [\"url\", \"bold\", \"italic\", \"strike\", \"code-snippet\"].forEach(function(e2) {\n n2 !== e2 && (o.languages.markdown[n2].inside.content.inside[e2] = o.languages.markdown[e2]);\n });\n }), o.hooks.add(\"after-tokenize\", function(e2) {\n \"markdown\" !== e2.language && \"md\" !== e2.language || !function e3(n2) {\n if (n2 && \"string\" != typeof n2)\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r2, s = n2[t2];\n \"code\" !== s.type ? e3(s.content) : (r2 = s.content[1], s = s.content[3], r2 && s && \"code-language\" === r2.type && \"code-block\" === s.type && \"string\" == typeof r2.content && (r2 = r2.content.replace(/\\b#/g, \"sharp\").replace(/\\b\\+\\+/g, \"pp\"), r2 = \"language-\" + (r2 = (/[a-z][\\w-]*/i.exec(r2) || [\"\"])[0].toLowerCase()), s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, r2] : s.alias.push(r2) : s.alias = [r2]));\n }\n }(e2.tokens);\n }), o.hooks.add(\"wrap\", function(e2) {\n if (\"code-block\" === e2.type) {\n for (var n2 = \"\", t2 = 0, a2 = e2.classes.length; t2 < a2; t2++) {\n var r2 = e2.classes[t2], r2 = /language-(.+)/.exec(r2);\n if (r2) {\n n2 = r2[1];\n break;\n }\n }\n var s, i = o.languages[n2];\n i ? e2.content = o.highlight(function(e3) {\n e3 = e3.replace(l, \"\");\n return e3 = e3.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function(e4, n3) {\n var t3;\n return \"#\" === (n3 = n3.toLowerCase())[0] ? (t3 = \"x\" === n3[1] ? parseInt(n3.slice(2), 16) : Number(n3.slice(1)), c(t3)) : u[n3] || e4;\n });\n }(e2.content), i, n2) : n2 && \"none\" !== n2 && o.plugins.autoloader && (s = \"md-\" + (/* @__PURE__ */ new Date()).valueOf() + \"-\" + Math.floor(1e16 * Math.random()), e2.attributes.id = s, o.plugins.autoloader.loadLanguages(n2, function() {\n var e3 = document.getElementById(s);\n e3 && (e3.innerHTML = o.highlight(e3.textContent, o.languages[n2], n2));\n }));\n }\n }), RegExp(o.languages.markup.tag.pattern.source, \"gi\")), u = { amp: \"&\", lt: \"<\", gt: \">\", quot: '\"' }, c = String.fromCodePoint || String.fromCharCode;\n o.languages.md = o.languages.markdown;\n}(Prism), Prism.languages.graphql = { comment: /#.*/, description: { pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i, greedy: true, alias: \"string\", inside: { \"language-markdown\": { pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: Prism.languages.markdown } } }, string: { pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/, greedy: true }, number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, boolean: /\\b(?:false|true)\\b/, variable: /\\$[a-z_]\\w*/i, directive: { pattern: /@[a-z_]\\w*/i, alias: \"function\" }, \"attr-name\": { pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i, greedy: true }, \"atom-input\": { pattern: /\\b[A-Z]\\w*Input\\b/, alias: \"class-name\" }, scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/, constant: /\\b[A-Z][A-Z_\\d]*\\b/, \"class-name\": { pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/, lookbehind: true }, fragment: { pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-mutation\": { pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-query\": { pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, keyword: /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/, operator: /[!=|&]|\\.{3}/, \"property-query\": /\\w+(?=\\s*\\()/, object: /\\w+(?=\\s*\\{)/, punctuation: /[!(){}\\[\\]:=,]/, property: /\\w+/ }, Prism.hooks.add(\"after-tokenize\", function(e) {\n if (\"graphql\" === e.language)\n for (var i = e.tokens.filter(function(e2) {\n return \"string\" != typeof e2 && \"comment\" !== e2.type && \"scalar\" !== e2.type;\n }), o = 0; o < i.length; ) {\n var n = i[o++];\n if (\"keyword\" === n.type && \"mutation\" === n.content) {\n var t = [];\n if (p([\"definition-mutation\", \"punctuation\"]) && \"(\" === c(1).content) {\n o += 2;\n var a = d(/^\\($/, /^\\)$/);\n if (-1 === a)\n continue;\n for (; o < a; o++) {\n var r = c(0);\n \"variable\" === r.type && (g(r, \"variable-input\"), t.push(r.content));\n }\n o = a + 1;\n }\n if (p([\"punctuation\", \"property-query\"]) && \"{\" === c(0).content && (o++, g(c(0), \"property-mutation\"), 0 < t.length)) {\n var s = d(/^\\{$/, /^\\}$/);\n if (-1 !== s)\n for (var l = o; l < s; l++) {\n var u = i[l];\n \"variable\" === u.type && 0 <= t.indexOf(u.content) && g(u, \"variable-input\");\n }\n }\n }\n }\n function c(e2) {\n return i[o + e2];\n }\n function p(e2, n2) {\n n2 = n2 || 0;\n for (var t2 = 0; t2 < e2.length; t2++) {\n var a2 = c(t2 + n2);\n if (!a2 || a2.type !== e2[t2])\n return;\n }\n return 1;\n }\n function d(e2, n2) {\n for (var t2 = 1, a2 = o; a2 < i.length; a2++) {\n var r2 = i[a2], s2 = r2.content;\n if (\"punctuation\" === r2.type && \"string\" == typeof s2) {\n if (e2.test(s2))\n t2++;\n else if (n2.test(s2) && 0 === --t2)\n return a2;\n }\n }\n return -1;\n }\n function g(e2, n2) {\n var t2 = e2.alias;\n t2 ? Array.isArray(t2) || (e2.alias = t2 = [t2]) : e2.alias = t2 = [], t2.push(n2);\n }\n}), Prism.languages.sql = { comment: { pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/, lookbehind: true }, variable: [{ pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/, greedy: true }, /@[\\w.$]+/], string: { pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/, greedy: true, lookbehind: true }, identifier: { pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/, greedy: true, lookbehind: true, inside: { punctuation: /^`|`$/ } }, function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i, boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i, number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i, operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i, punctuation: /[;[\\]()`,.]/ }, function(b) {\n var e = b.languages.javascript[\"template-string\"], t = e.pattern.source, m = e.inside.interpolation, f = m.inside[\"interpolation-punctuation\"], s = m.pattern.source;\n function n(e2, n2) {\n if (b.languages[e2])\n return { pattern: RegExp(\"((?:\" + n2 + \")\\\\s*)\" + t), lookbehind: true, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, \"embedded-code\": { pattern: /[\\s\\S]+/, alias: e2 } } };\n }\n function h(e2, n2, t2) {\n e2 = { code: e2, grammar: n2, language: t2 };\n return b.hooks.run(\"before-tokenize\", e2), e2.tokens = b.tokenize(e2.code, e2.grammar), b.hooks.run(\"after-tokenize\", e2), e2.tokens;\n }\n function l(a2, e2, r) {\n var n2 = b.tokenize(a2, { interpolation: { pattern: RegExp(s), lookbehind: true } }), p = 0, d = {}, n2 = h(n2.map(function(e3) {\n if (\"string\" == typeof e3)\n return e3;\n for (var n3, t2, e3 = e3.content; -1 !== a2.indexOf((t2 = p++, n3 = \"___\" + r.toUpperCase() + \"_\" + t2 + \"___\")); )\n ;\n return d[n3] = e3, n3;\n }).join(\"\"), e2, r), g = Object.keys(d);\n return p = 0, function e3(n3) {\n for (var t2 = 0; t2 < n3.length; t2++) {\n if (p >= g.length)\n return;\n var a3, r2, s2, i, o, l2, u2, c = n3[t2];\n \"string\" == typeof c || \"string\" == typeof c.content ? (a3 = g[p], -1 !== (u2 = (l2 = \"string\" == typeof c ? c : c.content).indexOf(a3)) && (++p, r2 = l2.substring(0, u2), o = d[a3], s2 = void 0, (i = {})[\"interpolation-punctuation\"] = f, 3 === (i = b.tokenize(o, i)).length && ((s2 = [1, 1]).push.apply(s2, h(i[1], b.languages.javascript, \"javascript\")), i.splice.apply(i, s2)), s2 = new b.Token(\"interpolation\", i, m.alias, o), i = l2.substring(u2 + a3.length), o = [], r2 && o.push(r2), o.push(s2), i && (e3(l2 = [i]), o.push.apply(o, l2)), \"string\" == typeof c ? (n3.splice.apply(n3, [t2, 1].concat(o)), t2 += o.length - 1) : c.content = o)) : (u2 = c.content, Array.isArray(u2) ? e3(u2) : e3([u2]));\n }\n }(n2), new b.Token(r, n2, \"language-\" + r, a2);\n }\n b.languages.javascript[\"template-string\"] = [n(\"css\", /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), n(\"html\", /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), n(\"svg\", /\\bsvg/.source), n(\"markdown\", /\\b(?:markdown|md)/.source), n(\"graphql\", /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source), n(\"sql\", /\\bsql/.source), e].filter(Boolean);\n var a = { javascript: true, js: true, typescript: true, ts: true, jsx: true, tsx: true };\n function u(e2) {\n return \"string\" == typeof e2 ? e2 : Array.isArray(e2) ? e2.map(u).join(\"\") : u(e2.content);\n }\n b.hooks.add(\"after-tokenize\", function(e2) {\n e2.language in a && !function e3(n2) {\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r, s2, i, o = n2[t2];\n \"string\" != typeof o && (r = o.content, Array.isArray(r) ? \"template-string\" === o.type ? (o = r[1], 3 === r.length && \"string\" != typeof o && \"embedded-code\" === o.type && (s2 = u(o), o = o.alias, o = Array.isArray(o) ? o[0] : o, i = b.languages[o]) && (r[1] = l(s2, i, o))) : e3(r) : \"string\" != typeof r && e3([r]));\n }\n }(e2.tokens);\n });\n}(Prism), function(e) {\n e.languages.typescript = e.languages.extend(\"javascript\", { \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: true, greedy: true, inside: null }, builtin: /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/ }), e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, /\\btype\\b(?=\\s*(?:[\\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript[\"literal-property\"];\n var n = e.languages.extend(\"typescript\", {});\n delete n[\"class-name\"], e.languages.typescript[\"class-name\"].inside = n, e.languages.insertBefore(\"typescript\", \"function\", { decorator: { pattern: /@[$\\w\\xA0-\\uFFFF]+/, inside: { at: { pattern: /^@/, alias: \"operator\" }, function: /^[\\s\\S]+/ } }, \"generic-function\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/, greedy: true, inside: { function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: n } } } }), e.languages.ts = e.languages.typescript;\n}(Prism), function(e) {\n var n = e.languages.javascript, t = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source, a = \"(@(?:arg|argument|param|property)\\\\s+(?:\" + t + \"\\\\s+)?)\";\n e.languages.jsdoc = e.languages.extend(\"javadoclike\", { parameter: { pattern: RegExp(a + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source), lookbehind: true, inside: { punctuation: /\\./ } } }), e.languages.insertBefore(\"jsdoc\", \"keyword\", { \"optional-parameter\": { pattern: RegExp(a + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source), lookbehind: true, inside: { parameter: { pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/, lookbehind: true, inside: { punctuation: /\\./ } }, code: { pattern: /(=)[\\s\\S]*(?=\\]$)/, lookbehind: true, inside: n, alias: \"language-javascript\" }, punctuation: /[=[\\]]/ } }, \"class-name\": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function() {\n return t;\n })), lookbehind: true, inside: { punctuation: /\\./ } }, { pattern: RegExp(\"(@[a-z]+\\\\s+)\" + t), lookbehind: true, inside: { string: n.string, number: n.number, boolean: n.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\\.\\.\\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\\]]/ } }], example: { pattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/, lookbehind: true, inside: { code: { pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m, lookbehind: true, inside: n, alias: \"language-javascript\" } } } }), e.languages.javadoclike.addSupport(\"javascript\", e.languages.jsdoc);\n}(Prism), function(e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", { type: [{ pattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/, alias: \"class-name\" }] }), e.languages.flow[\"function-variable\"].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", { \"flow-punctuation\": { pattern: /\\{\\||\\|\\}/, alias: \"punctuation\" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/, lookbehind: true }, { pattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/, lookbehind: true });\n}(Prism), Prism.languages.n4js = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/ }), Prism.languages.insertBefore(\"n4js\", \"constant\", { annotation: { pattern: /@+\\w+/, alias: \"operator\" } }), Prism.languages.n4jsd = Prism.languages.n4js, function(e) {\n function n(e2, n2) {\n return RegExp(e2.replace(/<ID>/g, function() {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), n2);\n }\n e.languages.insertBefore(\"javascript\", \"function-variable\", { \"method-variable\": { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript[\"function-variable\"].pattern.source), lookbehind: true, alias: [\"function-variable\", \"method\", \"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"function\", { method: { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript.function.source), lookbehind: true, alias: [\"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"constant\", { \"known-class-name\": [{ pattern: /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/, alias: \"class-name\" }, { pattern: /\\b(?:[A-Z]\\w*)Error\\b/, alias: \"class-name\" }] }), e.languages.insertBefore(\"javascript\", \"keyword\", { imports: { pattern: n(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source), lookbehind: true, inside: e.languages.javascript }, exports: { pattern: n(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source), lookbehind: true, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\\b(?:as|default|export|from|import)\\b/, alias: \"module\" }, { pattern: /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/, alias: \"control-flow\" }, { pattern: /\\bnull\\b/, alias: [\"null\", \"nil\"] }, { pattern: /\\bundefined\\b/, alias: \"nil\" }), e.languages.insertBefore(\"javascript\", \"operator\", { spread: { pattern: /\\.{3}/, alias: \"operator\" }, arrow: { pattern: /=>/, alias: \"operator\" } }), e.languages.insertBefore(\"javascript\", \"punctuation\", { \"property-access\": { pattern: n(/(\\.\\s*)#?<ID>/.source), lookbehind: true }, \"maybe-class-name\": { pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/, lookbehind: true }, dom: { pattern: /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/, alias: \"variable\" }, console: { pattern: /\\bconsole(?=\\s*\\.)/, alias: \"class-name\" } });\n for (var t = [\"function\", \"function-variable\", \"method\", \"method-variable\", \"property-access\"], a = 0; a < t.length; a++) {\n var r = t[a], s = e.languages.javascript[r], r = (s = \"RegExp\" === e.util.type(s) ? e.languages.javascript[r] = { pattern: s } : s).inside || {};\n (s.inside = r)[\"maybe-class-name\"] = /^[A-Z][\\s\\S]*/;\n }\n}(Prism), function(s) {\n var e = s.util.clone(s.languages.javascript), t = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source, a = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source, r = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n function n(e2, n2) {\n return e2 = e2.replace(/<S>/g, function() {\n return t;\n }).replace(/<BRACES>/g, function() {\n return a;\n }).replace(/<SPREAD>/g, function() {\n return r;\n }), RegExp(e2, n2);\n }\n r = n(r).source, s.languages.jsx = s.languages.extend(\"markup\", e), s.languages.jsx.tag.pattern = n(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source), s.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/, s.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/, s.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, s.languages.jsx.tag.inside.comment = e.comment, s.languages.insertBefore(\"inside\", \"attr-name\", { spread: { pattern: n(/<SPREAD>/.source), inside: s.languages.jsx } }, s.languages.jsx.tag), s.languages.insertBefore(\"inside\", \"special-attr\", { script: { pattern: n(/=<BRACES>/.source), alias: \"language-javascript\", inside: { \"script-punctuation\": { pattern: /^=(?=\\{)/, alias: \"punctuation\" }, rest: s.languages.jsx } } }, s.languages.jsx.tag);\n function i(e2) {\n for (var n2 = [], t2 = 0; t2 < e2.length; t2++) {\n var a2 = e2[t2], r2 = false;\n \"string\" != typeof a2 && (\"tag\" === a2.type && a2.content[0] && \"tag\" === a2.content[0].type ? \"</\" === a2.content[0].content[0].content ? 0 < n2.length && n2[n2.length - 1].tagName === o(a2.content[0].content[1]) && n2.pop() : \"/>\" !== a2.content[a2.content.length - 1].content && n2.push({ tagName: o(a2.content[0].content[1]), openedBraces: 0 }) : 0 < n2.length && \"punctuation\" === a2.type && \"{\" === a2.content ? n2[n2.length - 1].openedBraces++ : 0 < n2.length && 0 < n2[n2.length - 1].openedBraces && \"punctuation\" === a2.type && \"}\" === a2.content ? n2[n2.length - 1].openedBraces-- : r2 = true), (r2 || \"string\" == typeof a2) && 0 < n2.length && 0 === n2[n2.length - 1].openedBraces && (r2 = o(a2), t2 < e2.length - 1 && (\"string\" == typeof e2[t2 + 1] || \"plain-text\" === e2[t2 + 1].type) && (r2 += o(e2[t2 + 1]), e2.splice(t2 + 1, 1)), 0 < t2 && (\"string\" == typeof e2[t2 - 1] || \"plain-text\" === e2[t2 - 1].type) && (r2 = o(e2[t2 - 1]) + r2, e2.splice(t2 - 1, 1), t2--), e2[t2] = new s.Token(\"plain-text\", r2, null, r2)), a2.content && \"string\" != typeof a2.content && i(a2.content);\n }\n }\n var o = function(e2) {\n return e2 ? \"string\" == typeof e2 ? e2 : \"string\" == typeof e2.content ? e2.content : e2.content.map(o).join(\"\") : \"\";\n };\n s.hooks.add(\"after-tokenize\", function(e2) {\n \"jsx\" !== e2.language && \"tsx\" !== e2.language || i(e2.tokens);\n });\n}(Prism), function(e) {\n var n = e.util.clone(e.languages.typescript), n = (e.languages.tsx = e.languages.extend(\"jsx\", n), delete e.languages.tsx.parameter, delete e.languages.tsx[\"literal-property\"], e.languages.tsx.tag);\n n.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + \"(?:\" + n.pattern.source + \")\", n.pattern.flags), n.lookbehind = true;\n}(Prism), Prism.languages.swift = { comment: { pattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/, lookbehind: true, greedy: true }, \"string-literal\": [{ pattern: RegExp(/(^|[^\"#])/.source + \"(?:\" + /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source + \"|\" + /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source + \")\" + /(?![\"#])/.source), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\\\($/, alias: \"punctuation\" }, punctuation: /\\\\(?=[\\r\\n])/, string: /[\\s\\S]+/ } }, { pattern: RegExp(/(^|[^\"#])(#+)/.source + \"(?:\" + /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source + \"|\" + /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source + \")\\\\2\"), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\#+\\($/, alias: \"punctuation\" }, string: /[\\s\\S]+/ } }], directive: { pattern: RegExp(/#/.source + \"(?:\" + /(?:elseif|if)\\b/.source + \"(?:[ \t]*\" + /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source + \")+|\" + /(?:else|endif)\\b/.source + \")\"), alias: \"property\", inside: { \"directive-name\": /^#\\w+/, boolean: /\\b(?:false|true)\\b/, number: /\\b\\d+(?:\\.\\d+)*\\b/, operator: /!|&&|\\|\\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/, alias: \"constant\" }, \"other-directive\": { pattern: /#\\w+\\b/, alias: \"property\" }, attribute: { pattern: /@\\w+/, alias: \"atrule\" }, \"function-definition\": { pattern: /(\\bfunc\\s+)\\w+/, lookbehind: true, alias: \"function\" }, label: { pattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/, lookbehind: true, alias: \"important\" }, keyword: /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/, boolean: /\\b(?:false|true)\\b/, nil: { pattern: /\\bnil\\b/, alias: \"constant\" }, \"short-argument\": /\\$\\d+\\b/, omit: { pattern: /\\b_\\b/, alias: \"keyword\" }, number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i, \"class-name\": /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/, operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\\]();,.:\\\\]/ }, Prism.languages.swift[\"string-literal\"].forEach(function(e) {\n e.inside.interpolation.inside = Prism.languages.swift;\n}), function(e) {\n e.languages.kotlin = e.languages.extend(\"clike\", { keyword: { pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/, lookbehind: true }, function: [{ pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/, greedy: true }, { pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/, lookbehind: true, greedy: true }], number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/, operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/ }), delete e.languages.kotlin[\"class-name\"];\n var n = { \"interpolation-punctuation\": { pattern: /^\\$\\{?|\\}$/, alias: \"punctuation\" }, expression: { pattern: /[\\s\\S]+/, inside: e.languages.kotlin } };\n e.languages.insertBefore(\"kotlin\", \"string\", { \"string-literal\": [{ pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/, alias: \"multiline\", inside: { interpolation: { pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, inside: n }, string: /[\\s\\S]+/ } }, { pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/, alias: \"singleline\", inside: { interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, lookbehind: true, inside: n }, string: /[\\s\\S]+/ } }], char: { pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: true } }), delete e.languages.kotlin.string, e.languages.insertBefore(\"kotlin\", \"keyword\", { annotation: { pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/, alias: \"builtin\" } }), e.languages.insertBefore(\"kotlin\", \"function\", { label: { pattern: /\\b\\w+@|@\\w+\\b/, alias: \"symbol\" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;\n}(Prism), Prism.languages.c = Prism.languages.extend(\"clike\", { comment: { pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, \"class-name\": { pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/, lookbehind: true }, keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, number: /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/ }), Prism.languages.insertBefore(\"c\", \"string\", { char: { pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/, greedy: true } }), Prism.languages.insertBefore(\"c\", \"string\", { macro: { pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im, lookbehind: true, greedy: true, alias: \"property\", inside: { string: [{ pattern: /^(#\\s*include\\s*)<[^>]+>/, lookbehind: true }, Prism.languages.c.string], char: Prism.languages.c.char, comment: Prism.languages.c.comment, \"macro-name\": [{ pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i, lookbehind: true }, { pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i, lookbehind: true, alias: \"function\" }], directive: { pattern: /^(#\\s*)[a-z]+/, lookbehind: true, alias: \"keyword\" }, \"directive-hash\": /^#/, punctuation: /##|\\\\(?=[\\r\\n])/, expression: { pattern: /\\S[\\s\\S]*/, inside: Prism.languages.c } } } }), Prism.languages.insertBefore(\"c\", \"function\", { constant: /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ }), delete Prism.languages.c.boolean, Prism.languages.objectivec = Prism.languages.extend(\"c\", { string: { pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, keyword: /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/, operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/ }), delete Prism.languages.objectivec[\"class-name\"], Prism.languages.objc = Prism.languages.objectivec, Prism.languages.reason = Prism.languages.extend(\"clike\", { string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/, greedy: true }, \"class-name\": /\\b[A-Z]\\w*/, keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/, operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/ }), Prism.languages.insertBefore(\"reason\", \"class-name\", { char: { pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/, greedy: true }, constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/, label: { pattern: /\\b[a-z]\\w*(?=::)/, alias: \"symbol\" } }), delete Prism.languages.reason.function, function(e) {\n for (var n = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source, t = 0; t < 2; t++)\n n = n.replace(/<self>/g, function() {\n return n;\n });\n n = n.replace(/<self>/g, function() {\n return /[^\\s\\S]/.source;\n }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\\\])/.source + n), lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/, greedy: true }, char: { pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/, greedy: true }, attribute: { pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/, greedy: true, alias: \"attr-name\", inside: { string: null } }, \"closure-params\": { pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/, lookbehind: true, greedy: true, inside: { \"closure-punctuation\": { pattern: /^\\||\\|$/, alias: \"punctuation\" }, rest: null } }, \"lifetime-annotation\": { pattern: /'\\w+/, alias: \"symbol\" }, \"fragment-specifier\": { pattern: /(\\$\\w+:)[a-z]+/, lookbehind: true, alias: \"punctuation\" }, variable: /\\$\\w+/, \"function-definition\": { pattern: /(\\bfn\\s+)\\w+/, lookbehind: true, alias: \"function\" }, \"type-definition\": { pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/, lookbehind: true, alias: \"class-name\" }, \"module-declaration\": [{ pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/, lookbehind: true, alias: \"namespace\" }, { pattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/, lookbehind: true, alias: \"namespace\", inside: { punctuation: /::/ } }], keyword: [/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/], function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/, macro: { pattern: /\\b\\w+!/, alias: \"property\" }, constant: /\\b[A-Z_][A-Z_\\d]+\\b/, \"class-name\": /\\b[A-Z]\\w*\\b/, namespace: { pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/, inside: { punctuation: /::/ } }, number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/, boolean: /\\b(?:false|true)\\b/, punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/, operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust[\"closure-params\"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;\n}(Prism), Prism.languages.go = Prism.languages.extend(\"clike\", { string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/, lookbehind: true, greedy: true }, keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/, boolean: /\\b(?:_|false|iota|nil|true)\\b/, number: [/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i], operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./, builtin: /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/ }), Prism.languages.insertBefore(\"go\", \"string\", { char: { pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/, greedy: true } }), delete Prism.languages.go[\"class-name\"], function(e) {\n var n = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/, t = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function() {\n return n.source;\n });\n e.languages.cpp = e.languages.extend(\"c\", { \"class-name\": [{ pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function() {\n return n.source;\n })), lookbehind: true }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/], keyword: n, number: { pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i, greedy: true }, operator: />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/, boolean: /\\b(?:false|true)\\b/ }), e.languages.insertBefore(\"cpp\", \"string\", { module: { pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + \"(?:\" + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + \"|\" + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function() {\n return t;\n }) + \")\"), lookbehind: true, greedy: true, inside: { string: /^[<\"][\\s\\S]+/, operator: /:/, punctuation: /\\./ } }, \"raw-string\": { pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/, alias: \"string\", greedy: true } }), e.languages.insertBefore(\"cpp\", \"keyword\", { \"generic-function\": { pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i, inside: { function: /^\\w+/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: e.languages.cpp } } } }), e.languages.insertBefore(\"cpp\", \"operator\", { \"double-colon\": { pattern: /::/, alias: \"punctuation\" } }), e.languages.insertBefore(\"cpp\", \"class-name\", { \"base-clause\": { pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/, lookbehind: true, greedy: true, inside: e.languages.extend(\"cpp\", {}) } }), e.languages.insertBefore(\"inside\", \"double-colon\", { \"class-name\": /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, e.languages.cpp[\"base-clause\"]);\n}(Prism), Prism.languages.python = { comment: { pattern: /(^|[^\\\\])#.*/, lookbehind: true, greedy: true }, \"string-interpolation\": { pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i, greedy: true, inside: { interpolation: { pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/, lookbehind: true, inside: { \"format-spec\": { pattern: /(:)[^:(){}]+(?=\\}$)/, lookbehind: true }, \"conversion-option\": { pattern: //, alias: \"punctuation\" }, rest: null } }, string: /[\\s\\S]+/ } }, \"triple-quoted-string\": { pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i, greedy: true, alias: \"string\" }, string: { pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i, greedy: true }, function: { pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g, lookbehind: true }, \"class-name\": { pattern: /(\\bclass\\s+)\\w+/i, lookbehind: true }, decorator: { pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m, lookbehind: true, alias: [\"annotation\", \"punctuation\"], inside: { punctuation: /\\./ } }, keyword: /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/, builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/, boolean: /\\b(?:False|None|True)\\b/, number: /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i, operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python, Prism.languages.json = { property: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/, lookbehind: true, greedy: true }, string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/, lookbehind: true, greedy: true }, comment: { pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, punctuation: /[{}[\\],]/, operator: /:/, boolean: /\\b(?:false|true)\\b/, null: { pattern: /\\bnull\\b/, alias: \"keyword\" } }, Prism.languages.webmanifest = Prism.languages.json;\n\n// src/themes/index.ts\nvar themes_exports = {};\n__export(themes_exports, {\n dracula: () => dracula_default,\n duotoneDark: () => duotoneDark_default,\n duotoneLight: () => duotoneLight_default,\n github: () => github_default,\n gruvboxMaterialDark: () => gruvboxMaterialDark_default,\n gruvboxMaterialLight: () => gruvboxMaterialLight_default,\n jettwaveDark: () => jettwaveDark_default,\n jettwaveLight: () => jettwaveLight_default,\n nightOwl: () => nightOwl_default,\n nightOwlLight: () => nightOwlLight_default,\n oceanicNext: () => oceanicNext_default,\n okaidia: () => okaidia_default,\n oneDark: () => oneDark_default,\n oneLight: () => oneLight_default,\n palenight: () => palenight_default,\n shadesOfPurple: () => shadesOfPurple_default,\n synthwave84: () => synthwave84_default,\n ultramin: () => ultramin_default,\n vsDark: () => vsDark_default,\n vsLight: () => vsLight_default\n});\n\n// src/themes/dracula.ts\nvar theme = {\n plain: {\n color: \"#F8F8F2\",\n backgroundColor: \"#282A36\"\n },\n styles: [\n {\n types: [\"prolog\", \"constant\", \"builtin\"],\n style: {\n color: \"rgb(189, 147, 249)\"\n }\n },\n {\n types: [\"inserted\", \"function\"],\n style: {\n color: \"rgb(80, 250, 123)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgb(255, 85, 85)\"\n }\n },\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 184, 108)\"\n }\n },\n {\n types: [\"punctuation\", \"symbol\"],\n style: {\n color: \"rgb(248, 248, 242)\"\n }\n },\n {\n types: [\"string\", \"char\", \"tag\", \"selector\"],\n style: {\n color: \"rgb(255, 121, 198)\"\n }\n },\n {\n types: [\"keyword\", \"variable\"],\n style: {\n color: \"rgb(189, 147, 249)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(98, 114, 164)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(241, 250, 140)\"\n }\n }\n ]\n};\nvar dracula_default = theme;\n\n// src/themes/duotoneDark.ts\nvar theme2 = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\",\n \"placeholder\",\n \"variable\"\n ],\n style: {\n color: \"#ffcc99\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }\n ]\n};\nvar duotoneDark_default = theme2;\n\n// src/themes/duotoneLight.ts\nvar theme3 = {\n plain: {\n backgroundColor: \"#faf8f5\",\n color: \"#728fcb\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#b6ad9a\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#063289\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#b29762\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#2d2006\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#896724\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\"\n ],\n style: {\n color: \"#728fcb\"\n }\n },\n {\n types: [\"placeholder\", \"variable\"],\n style: {\n color: \"#93abdc\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#896724\"\n }\n }\n ]\n};\nvar duotoneLight_default = theme3;\n\n// src/themes/github.ts\nvar theme4 = {\n plain: {\n color: \"#393A34\",\n backgroundColor: \"#f6f8fa\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#999988\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#e3116c\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#393A34\"\n }\n },\n {\n types: [\n \"entity\",\n \"url\",\n \"symbol\",\n \"number\",\n \"boolean\",\n \"variable\",\n \"constant\",\n \"property\",\n \"regex\",\n \"inserted\"\n ],\n style: {\n color: \"#36acaa\"\n }\n },\n {\n types: [\"atrule\", \"keyword\", \"attr-name\", \"selector\"],\n style: {\n color: \"#00a4db\"\n }\n },\n {\n types: [\"function\", \"deleted\", \"tag\"],\n style: {\n color: \"#d73a49\"\n }\n },\n {\n types: [\"function-variable\"],\n style: {\n color: \"#6f42c1\"\n }\n },\n {\n types: [\"tag\", \"selector\", \"keyword\"],\n style: {\n color: \"#00009f\"\n }\n }\n ]\n};\nvar github_default = theme4;\n\n// src/themes/nightOwl.ts\nvar theme5 = {\n plain: {\n color: \"#d6deeb\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(99, 119, 119)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(214, 222, 235)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(255, 203, 139)\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"rgb(127, 219, 202)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"property\"],\n style: {\n color: \"rgb(128, 203, 196)\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n }\n ]\n};\nvar nightOwl_default = theme5;\n\n// src/themes/nightOwlLight.ts\nvar theme6 = {\n plain: {\n color: \"#403f53\",\n backgroundColor: \"#FBFBFB\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(72, 118, 214)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(152, 159, 177)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"builtin\", \"char\", \"constant\", \"url\"],\n style: {\n color: \"rgb(72, 118, 214)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(201, 103, 101)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(170, 9, 130)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"function\", \"selector\", \"doctype\"],\n style: {\n color: \"rgb(153, 76, 195)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(17, 17, 17)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"operator\", \"property\", \"keyword\", \"namespace\"],\n style: {\n color: \"rgb(12, 150, 155)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(188, 84, 84)\"\n }\n }\n ]\n};\nvar nightOwlLight_default = theme6;\n\n// src/themes/oceanicNext.ts\nvar colors = {\n char: \"#D8DEE9\",\n comment: \"#999999\",\n keyword: \"#c5a5c5\",\n primitive: \"#5a9bcf\",\n string: \"#8dc891\",\n variable: \"#d7deea\",\n boolean: \"#ff8b50\",\n punctuation: \"#5FB3B3\",\n tag: \"#fc929e\",\n function: \"#79b6f2\",\n className: \"#FAC863\",\n method: \"#6699CC\",\n operator: \"#fc929e\"\n};\nvar theme7 = {\n plain: {\n backgroundColor: \"#282c34\",\n color: \"#ffffff\"\n },\n styles: [\n {\n types: [\"attr-name\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"attr-value\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\n \"comment\",\n \"block-comment\",\n \"prolog\",\n \"doctype\",\n \"cdata\",\n \"shebang\"\n ],\n style: {\n color: colors.comment\n }\n },\n {\n types: [\n \"property\",\n \"number\",\n \"function-name\",\n \"constant\",\n \"symbol\",\n \"deleted\"\n ],\n style: {\n color: colors.primitive\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: colors.boolean\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: colors.tag\n }\n },\n {\n types: [\"string\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"selector\", \"char\", \"builtin\", \"inserted\"],\n style: {\n color: colors.char\n }\n },\n {\n types: [\"function\"],\n style: {\n color: colors.function\n }\n },\n {\n types: [\"operator\", \"entity\", \"url\", \"variable\"],\n style: {\n color: colors.variable\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"atrule\", \"class-name\"],\n style: {\n color: colors.className\n }\n },\n {\n types: [\"important\"],\n style: {\n fontWeight: \"400\"\n }\n },\n {\n types: [\"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }\n ]\n};\nvar oceanicNext_default = theme7;\n\n// src/themes/okaidia.ts\nvar theme8 = {\n plain: {\n color: \"#f8f8f2\",\n backgroundColor: \"#272822\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"#f92672\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#8292a2\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"#a6e22e\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"#e6db74\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"#a6e22e\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"#66d9ef\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\",\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"property\"],\n style: {\n color: \"#f92672\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#a6e22e !important\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"#8292a2\"\n }\n },\n {\n types: [\"rule\"],\n style: {\n color: \"#e6db74\"\n }\n }\n ]\n};\nvar okaidia_default = theme8;\n\n// src/themes/palenight.ts\nvar theme9 = {\n plain: {\n color: \"#bfc7d5\",\n backgroundColor: \"#292d3e\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(105, 112, 152)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"inserted\"],\n style: {\n color: \"rgb(195, 232, 141)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n types: [\"punctuation\", \"selector\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(191, 199, 213)\"\n }\n },\n {\n types: [\"class-name\", \"attr-name\"],\n style: {\n color: \"rgb(255, 203, 107)\"\n }\n },\n {\n types: [\"tag\", \"deleted\"],\n style: {\n color: \"rgb(255, 85, 114)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(137, 221, 255)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"rgb(221, 221, 221)\"\n }\n }\n ]\n};\nvar palenight_default = theme9;\n\n// src/themes/shadesOfPurple.ts\nvar theme10 = {\n plain: {\n color: \"#9EFEFF\",\n backgroundColor: \"#2D2A55\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(179, 98, 255)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"rgb(255, 255, 255)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(165, 255, 144)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"number\", \"boolean\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 180, 84)\"\n }\n },\n {\n types: [\n \"keyword\",\n \"operator\",\n \"property\",\n \"namespace\",\n \"tag\",\n \"selector\",\n \"doctype\"\n ],\n style: {\n color: \"rgb(255, 157, 0)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"rgb(250, 208, 0)\"\n }\n }\n ]\n};\nvar shadesOfPurple_default = theme10;\n\n// src/themes/synthwave84.ts\nvar theme11 = {\n plain: {\n backgroundColor: \"linear-gradient(to bottom, #2a2139 75%, #34294f)\",\n backgroundImage: \"#34294f\",\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n },\n styles: [\n {\n types: [\"comment\", \"block-comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#495495\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#ccc\"\n }\n },\n {\n types: [\n \"tag\",\n \"attr-name\",\n \"namespace\",\n \"number\",\n \"unit\",\n \"hexcode\",\n \"deleted\"\n ],\n style: {\n color: \"#e2777a\"\n }\n },\n {\n types: [\"property\", \"selector\"],\n style: {\n color: \"#72f1b8\",\n textShadow: \"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475\"\n }\n },\n {\n types: [\"function-name\"],\n style: {\n color: \"#6196cc\"\n }\n },\n {\n types: [\"boolean\", \"selector-id\", \"function\"],\n style: {\n color: \"#fdfdfd\",\n textShadow: \"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975\"\n }\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"builtin\"],\n style: {\n color: \"#fff5f6\",\n textShadow: \"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75\"\n }\n },\n {\n types: [\"constant\", \"symbol\"],\n style: {\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n }\n },\n {\n types: [\"important\", \"atrule\", \"keyword\", \"selector-class\"],\n style: {\n color: \"#f4eee4\",\n textShadow: \"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575\"\n }\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"variable\"],\n style: {\n color: \"#f87c32\"\n }\n },\n {\n types: [\"parameter\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\", \"url\"],\n style: {\n color: \"#67cdcc\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"ffffffee\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\"],\n style: {\n cursor: \"help\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"green\"\n }\n }\n ]\n};\nvar synthwave84_default = theme11;\n\n// src/themes/ultramin.ts\nvar theme12 = {\n plain: {\n color: \"#282a2e\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(197, 200, 198)\"\n }\n },\n {\n types: [\"string\", \"number\", \"builtin\", \"variable\"],\n style: {\n color: \"rgb(150, 152, 150)\"\n }\n },\n {\n types: [\"class-name\", \"function\", \"tag\", \"attr-name\"],\n style: {\n color: \"rgb(40, 42, 46)\"\n }\n }\n ]\n};\nvar ultramin_default = theme12;\n\n// src/themes/vsDark.ts\nvar theme13 = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n },\n {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n },\n {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }\n ]\n};\nvar vsDark_default = theme13;\n\n// src/themes/vsLight.ts\nvar theme14 = {\n plain: {\n color: \"#000000\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(0, 128, 0)\"\n }\n },\n {\n types: [\"builtin\"],\n style: {\n color: \"rgb(0, 112, 193)\"\n }\n },\n {\n types: [\"number\", \"variable\", \"inserted\"],\n style: {\n color: \"rgb(9, 134, 88)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(0, 0, 0)\"\n }\n },\n {\n types: [\"constant\", \"char\"],\n style: {\n color: \"rgb(129, 31, 63)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(128, 0, 0)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 0, 0)\"\n }\n },\n {\n types: [\"deleted\", \"string\"],\n style: {\n color: \"rgb(163, 21, 21)\"\n }\n },\n {\n types: [\"changed\", \"punctuation\"],\n style: {\n color: \"rgb(4, 81, 165)\"\n }\n },\n {\n types: [\"function\", \"keyword\"],\n style: {\n color: \"rgb(0, 0, 255)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(38, 127, 153)\"\n }\n }\n ]\n};\nvar vsLight_default = theme14;\n\n// src/themes/jettwaveDark.ts\nvar theme15 = {\n plain: {\n color: \"#f8fafc\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#569CD6\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#f8fafc\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#9CDCFE\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#cbd5e1\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#D4D4D4\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#7dd3fc\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveDark_default = theme15;\n\n// src/themes/jettwaveLight.ts\nvar theme16 = {\n plain: {\n color: \"#0f172a\",\n backgroundColor: \"#f1f5f9\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#0f172a\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#64748b\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#475569\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#0e7490\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveLight_default = theme16;\n\n// src/themes/oneDark.ts\nvar theme17 = {\n plain: {\n backgroundColor: \"hsl(220, 13%, 18%)\",\n color: \"hsl(220, 14%, 71%)\",\n textShadow: \"0 1px rgba(0, 0, 0, 0.3)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(220, 10%, 40%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"maybe-class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: { color: \"hsl(29, 54%, 61%)\" }\n },\n {\n types: [\"keyword\"],\n style: { color: \"hsl(286, 60%, 67%)\" }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(355, 65%, 65%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\"\n ],\n style: {\n color: \"hsl(95, 38%, 62%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(207, 82%, 66%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(187, 47%, 55%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n }\n ]\n};\nvar oneDark_default = theme17;\n\n// src/themes/oneLight.ts\nvar theme18 = {\n plain: {\n backgroundColor: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(230, 4%, 64%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: {\n color: \"hsl(35, 99%, 36%)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: \"hsl(301, 63%, 40%)\"\n }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(5, 74%, 59%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\",\n \"punctuation\"\n ],\n style: {\n color: \"hsl(119, 34%, 47%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(221, 87%, 60%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(198, 99%, 37%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n }\n ]\n};\nvar oneLight_default = theme18;\n\n// src/themes/gruvboxMaterialDark.ts\nvar theme19 = {\n plain: {\n color: \"#ebdbb2\",\n backgroundColor: \"#292828\"\n },\n styles: [\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\",\n \"function\"\n ],\n style: {\n color: \"#d8a657\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#7daea3\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#e78a4e\"\n }\n },\n {\n types: [\"attr-name\", \"char\", \"url\", \"regex\"],\n style: {\n color: \"#a9b665\"\n }\n },\n {\n types: [\"attr-value\", \"string\"],\n style: {\n color: \"#89b482\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#ea6962\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#d3869b\"\n }\n }\n ]\n};\nvar gruvboxMaterialDark_default = theme19;\n\n// src/themes/gruvboxMaterialLight.ts\nvar theme20 = {\n plain: {\n color: \"#654735\",\n backgroundColor: \"#f9f5d7\"\n },\n styles: [\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#af2528\"\n }\n },\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\"\n ],\n style: {\n color: \"#b4730e\"\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#477a5b\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#266b79\"\n }\n },\n {\n types: [\"function\", \"attr-name\", \"char\", \"url\"],\n style: {\n color: \"#72761e\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#b94c07\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#924f79\"\n }\n }\n ]\n};\nvar gruvboxMaterialLight_default = theme20;\n\n// src/index.ts\nimport { createElement } from \"react\";\n\n// src/components/useGetLineProps.ts\nimport { useCallback } from \"react\";\nimport clsx from \"clsx\";\nvar useGetLineProps = (themeDictionary) => useCallback(\n (_a) => {\n var _b = _a, { className, style, line } = _b, rest = __objRest(_b, [\"className\", \"style\", \"line\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx(\"token-line\", className)\n });\n if (typeof themeDictionary === \"object\" && \"plain\" in themeDictionary)\n output.style = themeDictionary.plain;\n if (typeof style === \"object\")\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n return output;\n },\n [themeDictionary]\n);\n\n// src/components/useGetTokenProps.ts\nimport { useCallback as useCallback2 } from \"react\";\nimport clsx2 from \"clsx\";\nvar useGetTokenProps = (themeDictionary) => {\n const styleForToken = useCallback2(\n ({ types, empty }) => {\n if (themeDictionary == null)\n return void 0;\n else if (types.length === 1 && types[0] === \"plain\") {\n return empty != null ? { display: \"inline-block\" } : void 0;\n } else if (types.length === 1 && empty != null) {\n return themeDictionary[types[0]];\n }\n return Object.assign(\n empty != null ? { display: \"inline-block\" } : {},\n ...types.map((type) => themeDictionary[type])\n );\n },\n [themeDictionary]\n );\n return useCallback2(\n (_a) => {\n var _b = _a, { token, className, style } = _b, rest = __objRest(_b, [\"token\", \"className\", \"style\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx2(\"token\", ...token.types, className),\n children: token.content,\n style: styleForToken(token)\n });\n if (style != null) {\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n }\n return output;\n },\n [styleForToken]\n );\n};\n\n// src/utils/normalizeTokens.ts\nvar newlineRe = /\\r\\n|\\r|\\n/;\nvar normalizeEmptyLines = (line) => {\n if (line.length === 0) {\n line.push({\n types: [\"plain\"],\n content: \"\\n\",\n empty: true\n });\n } else if (line.length === 1 && line[0].content === \"\") {\n line[0].content = \"\\n\";\n line[0].empty = true;\n }\n};\nvar appendTypes = (types, add) => {\n const typesSize = types.length;\n if (typesSize > 0 && types[typesSize - 1] === add) {\n return types;\n }\n return types.concat(add);\n};\nvar normalizeTokens = (tokens) => {\n const typeArrStack = [[]];\n const tokenArrStack = [tokens];\n const tokenArrIndexStack = [0];\n const tokenArrSizeStack = [tokens.length];\n let i = 0;\n let stackIndex = 0;\n let currentLine = [];\n const acc = [currentLine];\n while (stackIndex > -1) {\n while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) {\n let content;\n let types = typeArrStack[stackIndex];\n const tokenArr = tokenArrStack[stackIndex];\n const token = tokenArr[i];\n if (typeof token === \"string\") {\n types = stackIndex > 0 ? types : [\"plain\"];\n content = token;\n } else {\n types = appendTypes(types, token.type);\n if (token.alias) {\n types = appendTypes(types, token.alias);\n }\n content = token.content;\n }\n if (typeof content !== \"string\") {\n stackIndex++;\n typeArrStack.push(types);\n tokenArrStack.push(content);\n tokenArrIndexStack.push(0);\n tokenArrSizeStack.push(content.length);\n continue;\n }\n const splitByNewlines = content.split(newlineRe);\n const newlineCount = splitByNewlines.length;\n currentLine.push({\n types,\n content: splitByNewlines[0]\n });\n for (let i2 = 1; i2 < newlineCount; i2++) {\n normalizeEmptyLines(currentLine);\n acc.push(currentLine = []);\n currentLine.push({\n types,\n content: splitByNewlines[i2]\n });\n }\n }\n stackIndex--;\n typeArrStack.pop();\n tokenArrStack.pop();\n tokenArrIndexStack.pop();\n tokenArrSizeStack.pop();\n }\n normalizeEmptyLines(currentLine);\n return acc;\n};\nvar normalizeTokens_default = normalizeTokens;\n\n// src/components/useTokenize.ts\nimport { useMemo } from \"react\";\nvar useTokenize = ({ prism, code, grammar, language }) => {\n return useMemo(() => {\n if (grammar == null)\n return normalizeTokens_default([code]);\n const prismConfig = {\n code,\n grammar,\n language,\n tokens: []\n };\n prism.hooks.run(\"before-tokenize\", prismConfig);\n prismConfig.tokens = prism.tokenize(code, grammar);\n prism.hooks.run(\"after-tokenize\", prismConfig);\n return normalizeTokens_default(prismConfig.tokens);\n }, [\n code,\n grammar,\n language,\n // prism is a stable import\n prism\n ]);\n};\n\n// src/utils/themeToDict.ts\nvar themeToDict = (theme21, language) => {\n const { plain } = theme21;\n const themeDict = theme21.styles.reduce((acc, themeEntry) => {\n const { languages: languages2, style } = themeEntry;\n if (languages2 && !languages2.includes(language)) {\n return acc;\n }\n themeEntry.types.forEach((type) => {\n const accStyle = __spreadValues(__spreadValues({}, acc[type]), style);\n acc[type] = accStyle;\n });\n return acc;\n }, {});\n themeDict.root = plain;\n themeDict.plain = __spreadProps(__spreadValues({}, plain), { backgroundColor: void 0 });\n return themeDict;\n};\nvar themeToDict_default = themeToDict;\n\n// src/components/highlight.ts\nvar Highlight = ({\n children,\n language: _language,\n code,\n theme: theme21,\n prism\n}) => {\n const language = _language.toLowerCase();\n const themeDictionary = themeToDict_default(theme21, language);\n const getLineProps = useGetLineProps(themeDictionary);\n const getTokenProps = useGetTokenProps(themeDictionary);\n const grammar = prism.languages[language];\n const tokens = useTokenize({ prism, language, code, grammar });\n return children({\n tokens,\n className: `prism-code language-${language}`,\n style: themeDictionary != null ? themeDictionary.root : {},\n getLineProps,\n getTokenProps\n });\n};\n\n// src/index.ts\nvar Highlight2 = (props) => createElement(Highlight, __spreadProps(__spreadValues({}, props), {\n prism: props.prism || Prism,\n theme: props.theme || vsDark_default,\n code: props.code,\n language: props.language\n}));\nexport {\n Highlight2 as Highlight,\n Prism,\n normalizeTokens_default as normalizeTokens,\n themes_exports as themes,\n useTokenize\n};\n/*! Bundled license information:\n\nprismjs/prism.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\n//# sourceMappingURL=index.mjs.map","import { useContext, forwardRef as reactForwardRef } from 'react';\nexport const shouldHighlightLine = (line, highlights) => {\n return highlights.some((highlight) => {\n if (typeof highlight === 'number') {\n return line === highlight;\n }\n const [min, max] = highlight.split(':').map((val) => parseInt(val));\n return min <= line && line <= max;\n });\n};\nexport const shouldHighlightToken = (word, line, highlights) => {\n return highlights.some(([highlightWord, [min, max]]) => highlightWord === word && min <= line && line <= max);\n};\nexport const splitStringByWords = (str, words) => {\n return str\n .split(new RegExp(`(${words.map(([word]) => word).join('|')})`))\n .filter(Boolean);\n};\nexport const parseWordHighlights = (words) => {\n return words.map((word) => {\n word = word.startsWith('/') ? word : '/' + word;\n const [, highlightWord, highlightRange = '0:Infinity'] = word.split('/');\n const [min, max = min] = highlightRange\n .split(':')\n .map((val) => Number(val));\n return [highlightWord, [min, max]];\n });\n};\nexport const fontStyleToCss = (token) => {\n const fontStyles = {};\n if (!token.fontStyle || token.fontStyle === -1)\n return fontStyles;\n if (token.fontStyle & 1) {\n fontStyles.fontStyle = 'italic';\n }\n if (token.fontStyle & 2) {\n fontStyles.fontWeight = 'bold';\n }\n if (token.fontStyle & 4) {\n fontStyles.textDecoration = `${fontStyles.textDecoration ?? ''} underline`.trim();\n }\n if (token.fontStyle & 8) {\n fontStyles.textDecoration = `${fontStyles.textDecoration ?? ''} line-through`.trim();\n }\n return fontStyles;\n};\nexport const createUseContext = (context, errMessage) => () => {\n const ctx = useContext(context);\n if (ctx === undefined) {\n throw new Error(errMessage);\n }\n return ctx;\n};\nexport const forwardRef = (component) => {\n return Object.assign(reactForwardRef(component), {\n displayName: component.displayName ?? component.name,\n });\n};\n//# sourceMappingURL=utils.js.map","import { createContext } from 'react';\nimport { createUseContext } from './shared/utils.js';\nexport const RootContext = createContext(undefined);\nexport const LineContext = createContext(undefined);\nexport const useRootContext = createUseContext(RootContext, 'Could not find nearest <CodeBlock /> component. Please wrap this component with a <CodeBlock /> component imported from \"react-code-block\".');\nexport const useLineContext = createUseContext(LineContext, 'Could not find nearest <CodeBlock.Code /> component. Please wrap this component with <CodeBlock.Code /> component imported from \"react-code-block\".');\n//# sourceMappingURL=contexts.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Highlight } from 'prism-react-renderer';\nimport React, { useMemo } from 'react';\nimport { LineContext, RootContext, useLineContext, useRootContext, } from './contexts.js';\nimport { forwardRef, parseWordHighlights, shouldHighlightLine, shouldHighlightToken, splitStringByWords, } from './shared/utils.js';\n/**\n * Top-level root component which contains all the sub-components to construct a code block.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblock}\n */\nconst CodeBlock = ({ code, words = [], lines = [], children, ...props }) => {\n const parsedWords = useMemo(() => parseWordHighlights(words), [words]);\n return (_jsx(RootContext.Provider, { value: { code: code.trim(), words: parsedWords, lines, ...props }, children: children }));\n};\nconst Code = ({ as, children, ...props }, ref) => {\n const { lines, words, ...highlightProps } = useRootContext();\n const Tag = as ?? 'pre';\n return (_jsx(Highlight, { ...highlightProps, children: (highlight) => (_jsx(Tag, { ...props, ref: ref, children: highlight.tokens.map((line, i) => {\n const lineNumber = i + 1;\n const isLineHighlighted = shouldHighlightLine(lineNumber, lines);\n return (_jsx(LineContext.Provider, { value: { highlight, line, lineNumber }, children: typeof children === 'function'\n ? children({ isLineHighlighted, lineNumber }, i)\n : children }, i));\n }) })) }));\n};\nconst LineContent = ({ as, children, className, ...rest }, ref) => {\n const { highlight, line } = useLineContext();\n const { getLineProps } = highlight;\n const Tag = as ?? 'div';\n return (_jsx(Tag, { ...getLineProps({ line, className }), ...rest, ref: ref, children: children }));\n};\nconst Token = ({ as, children = ({ children }) => _jsx(\"span\", { children: children }), className, ...rest }, ref) => {\n const { words } = useRootContext();\n const { line, highlight, lineNumber } = useLineContext();\n const { getTokenProps } = highlight;\n const Tag = as ?? 'span';\n return (_jsx(React.Fragment, { children: line.map((token, key) => {\n const { children: contentWithSpaces, ...props } = getTokenProps({\n token,\n className,\n });\n const content = words.length\n ? splitStringByWords(contentWithSpaces, words)\n : [contentWithSpaces];\n return (_jsx(React.Fragment, { children: content.map((content, i) => (_jsx(Tag, { ...props, ...rest, ref: ref, children: children({\n children: content,\n isTokenHighlighted: shouldHighlightToken(content, lineNumber, words),\n }) }, i))) }, key));\n }) }));\n};\nconst LineNumber = ({ as, ...props }, ref) => {\n const { lineNumber } = useLineContext();\n const Tag = as ?? 'span';\n return (_jsx(Tag, { ...props, ref: ref, children: lineNumber }));\n};\n/**\n * Container which contains code to render each line of the code.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblockcode}\n */\nCodeBlock.Code = forwardRef(Code);\n/**\n * Container for a single line of the code.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblocklinecontent}\n */\nCodeBlock.LineContent = forwardRef(LineContent);\n/**\n * Renders a syntax-highlighted token from the current line.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblocktoken}\n */\nCodeBlock.Token = forwardRef(Token);\n/**\n * Renders the line number for the current line.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblocklinenumber}\n */\nCodeBlock.LineNumber = forwardRef(LineNumber);\nexport { CodeBlock };\n//# sourceMappingURL=code-block.js.map","import T2, { useRef as t2, useEffect as R, useState as E, Fragment as a2 } from \"react\";\nimport { IconContext as N, CircleNotchIcon as I, CheckIcon as V, CopyIcon as C2, CaretDownIcon as L2, XIcon as m2, MagnifyingGlassIcon as N2, InfoIcon as _2 } from \"@phosphor-icons/react\";\nimport { themes as u2 } from \"prism-react-renderer\";\nimport { CodeBlock as $ } from \"react-code-block\";\nvar O = { exports: {} }, A = {};\nvar h2;\nfunction D2() {\n if (h2) return A;\n h2 = 1;\n var t = /* @__PURE__ */ Symbol.for(\"react.transitional.element\"), a = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n function l(i, c, d) {\n var s = null;\n if (d !== void 0 && (s = \"\" + d), c.key !== void 0 && (s = \"\" + c.key), \"key\" in c) {\n d = {};\n for (var o in c)\n o !== \"key\" && (d[o] = c[o]);\n } else d = c;\n return c = d.ref, {\n $$typeof: t,\n type: i,\n key: s,\n ref: c !== void 0 ? c : null,\n props: d\n };\n }\n return A.Fragment = a, A.jsx = l, A.jsxs = l, A;\n}\nvar M = {};\nvar b2;\nfunction H2() {\n return b2 || (b2 = 1, process.env.NODE_ENV !== \"production\" && (function() {\n function t(n) {\n if (n == null) return null;\n if (typeof n == \"function\")\n return n.$$typeof === F2 ? null : n.displayName || n.name || null;\n if (typeof n == \"string\") return n;\n switch (n) {\n case _:\n return \"Fragment\";\n case P:\n return \"Profiler\";\n case D:\n return \"StrictMode\";\n case m:\n return \"Suspense\";\n case j:\n return \"SuspenseList\";\n case w2:\n return \"Activity\";\n }\n if (typeof n == \"object\")\n switch (typeof n.tag == \"number\" && console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ), n.$$typeof) {\n case F:\n return \"Portal\";\n case Z:\n return n.displayName || \"Context\";\n case S:\n return (n._context.displayName || \"Context\") + \".Consumer\";\n case Y:\n var h = n.render;\n return n = n.displayName, n || (n = h.displayName || h.name || \"\", n = n !== \"\" ? \"ForwardRef(\" + n + \")\" : \"ForwardRef\"), n;\n case H:\n return h = n.displayName || null, h !== null ? h : t(n.type) || \"Memo\";\n case z:\n h = n._payload, n = n._init;\n try {\n return t(n(h));\n } catch {\n }\n }\n return null;\n }\n function a(n) {\n return \"\" + n;\n }\n function l(n) {\n try {\n var h = !1;\n } catch {\n h = !0;\n }\n if (h) {\n h = console;\n var p = h.error, k = typeof Symbol == \"function\" && Symbol.toStringTag && n[Symbol.toStringTag] || n.constructor.name || \"Object\";\n return p.call(\n h,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n k\n ), a(n);\n }\n }\n function i(n) {\n if (n === _) return \"<>\";\n if (typeof n == \"object\" && n !== null && n.$$typeof === z)\n return \"<...>\";\n try {\n var h = t(n);\n return h ? \"<\" + h + \">\" : \"<...>\";\n } catch {\n return \"<...>\";\n }\n }\n function c() {\n var n = U.A;\n return n === null ? null : n.getOwner();\n }\n function d() {\n return Error(\"react-stack-top-frame\");\n }\n function s(n) {\n if (n2.call(n, \"key\")) {\n var h = Object.getOwnPropertyDescriptor(n, \"key\").get;\n if (h && h.isReactWarning) return !1;\n }\n return n.key !== void 0;\n }\n function o(n, h) {\n function p() {\n s2 || (s2 = !0, console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n h\n ));\n }\n p.isReactWarning = !0, Object.defineProperty(n, \"key\", {\n get: p,\n configurable: !0\n });\n }\n function x() {\n var n = t(this.type);\n return d2[n] || (d2[n] = !0, console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n )), n = this.props.ref, n !== void 0 ? n : null;\n }\n function b(n, h, p, k, q, G) {\n var f = p.ref;\n return n = {\n $$typeof: B,\n type: n,\n key: h,\n props: p,\n _owner: k\n }, (f !== void 0 ? f : null) !== null ? Object.defineProperty(n, \"ref\", {\n enumerable: !1,\n get: x\n }) : Object.defineProperty(n, \"ref\", { enumerable: !1, value: null }), n._store = {}, Object.defineProperty(n._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n }), Object.defineProperty(n, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n }), Object.defineProperty(n, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: q\n }), Object.defineProperty(n, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: G\n }), Object.freeze && (Object.freeze(n.props), Object.freeze(n)), n;\n }\n function u(n, h, p, k, q, G) {\n var f = h.children;\n if (f !== void 0)\n if (k)\n if (B2(f)) {\n for (k = 0; k < f.length; k++)\n C(f[k]);\n Object.freeze && Object.freeze(f);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else C(f);\n if (n2.call(h, \"key\")) {\n f = t(n);\n var T = Object.keys(h).filter(function(E2) {\n return E2 !== \"key\";\n });\n k = 0 < T.length ? \"{key: someKey, \" + T.join(\": ..., \") + \": ...}\" : \"{key: someKey}\", g2[f + k] || (T = 0 < T.length ? \"{\" + T.join(\": ..., \") + \": ...}\" : \"{}\", console.error(\n `A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`,\n k,\n f,\n T,\n f\n ), g2[f + k] = !0);\n }\n if (f = null, p !== void 0 && (l(p), f = \"\" + p), s(h) && (l(h.key), f = \"\" + h.key), \"key\" in h) {\n p = {};\n for (var J in h)\n J !== \"key\" && (p[J] = h[J]);\n } else p = h;\n return f && o(\n p,\n typeof n == \"function\" ? n.displayName || n.name || \"Unknown\" : n\n ), b(\n n,\n f,\n p,\n c(),\n q,\n G\n );\n }\n function C(n) {\n v(n) ? n._store && (n._store.validated = 1) : typeof n == \"object\" && n !== null && n.$$typeof === z && (n._payload.status === \"fulfilled\" ? v(n._payload.value) && n._payload.value._store && (n._payload.value._store.validated = 1) : n._store && (n._store.validated = 1));\n }\n function v(n) {\n return typeof n == \"object\" && n !== null && n.$$typeof === B;\n }\n var w = T2, B = /* @__PURE__ */ Symbol.for(\"react.transitional.element\"), F = /* @__PURE__ */ Symbol.for(\"react.portal\"), _ = /* @__PURE__ */ Symbol.for(\"react.fragment\"), D = /* @__PURE__ */ Symbol.for(\"react.strict_mode\"), P = /* @__PURE__ */ Symbol.for(\"react.profiler\"), S = /* @__PURE__ */ Symbol.for(\"react.consumer\"), Z = /* @__PURE__ */ Symbol.for(\"react.context\"), Y = /* @__PURE__ */ Symbol.for(\"react.forward_ref\"), m = /* @__PURE__ */ Symbol.for(\"react.suspense\"), j = /* @__PURE__ */ Symbol.for(\"react.suspense_list\"), H = /* @__PURE__ */ Symbol.for(\"react.memo\"), z = /* @__PURE__ */ Symbol.for(\"react.lazy\"), w2 = /* @__PURE__ */ Symbol.for(\"react.activity\"), F2 = /* @__PURE__ */ Symbol.for(\"react.client.reference\"), U = w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, n2 = Object.prototype.hasOwnProperty, B2 = Array.isArray, W = console.createTask ? console.createTask : function() {\n return null;\n };\n w = {\n react_stack_bottom_frame: function(n) {\n return n();\n }\n };\n var s2, d2 = {}, o2 = w.react_stack_bottom_frame.bind(\n w,\n d\n )(), x2 = W(i(d)), g2 = {};\n M.Fragment = _, M.jsx = function(n, h, p) {\n var k = 1e4 > U.recentlyCreatedOwnerStacks++;\n return u(\n n,\n h,\n p,\n !1,\n k ? Error(\"react-stack-top-frame\") : o2,\n k ? W(i(n)) : x2\n );\n }, M.jsxs = function(n, h, p) {\n var k = 1e4 > U.recentlyCreatedOwnerStacks++;\n return u(\n n,\n h,\n p,\n !0,\n k ? Error(\"react-stack-top-frame\") : o2,\n k ? W(i(n)) : x2\n );\n };\n })()), M;\n}\nvar p2;\nfunction A2() {\n return p2 || (p2 = 1, process.env.NODE_ENV === \"production\" ? O.exports = /* @__PURE__ */ D2() : O.exports = /* @__PURE__ */ H2()), O.exports;\n}\nvar e = /* @__PURE__ */ A2();\nconst u0 = (t, a) => [...Array(a + 1 - t)].map((l, i) => i + t);\nfunction v2(t) {\n var a, l, i = \"\";\n if (typeof t == \"string\" || typeof t == \"number\") i += t;\n else if (typeof t == \"object\") if (Array.isArray(t)) {\n var c = t.length;\n for (a = 0; a < c; a++) t[a] && (l = v2(t[a])) && (i && (i += \" \"), i += l);\n } else for (l in t) t[l] && (i && (i += \" \"), i += l);\n return i;\n}\nfunction M2() {\n for (var t, a, l = 0, i = \"\", c = arguments.length; l < c; l++) (t = arguments[l]) && (a = v2(t)) && (i && (i += \" \"), i += a);\n return i;\n}\nconst g = M2, h0 = (t) => t.charAt(0).toUpperCase() + t.slice(1), b0 = (t) => t.split(new RegExp(\"(?<=\\\\.) \"));\nfunction l2({\n isActive: t,\n onDismiss: a,\n includeEscape: l = !0,\n extraRefs: i = []\n}) {\n const c = t2(null);\n return R(() => {\n if (!t) return;\n const d = (x) => [c, ...i].some((u) => u.current && u.current.contains(x)), s = (x) => {\n const b = x.target;\n b && (d(b) || a());\n }, o = (x) => {\n l && x.key === \"Escape\" && a();\n };\n return document.addEventListener(\"mousedown\", s), document.addEventListener(\"touchstart\", s, { passive: !0 }), document.addEventListener(\"keydown\", o), () => {\n document.removeEventListener(\"mousedown\", s), document.removeEventListener(\"touchstart\", s), document.removeEventListener(\"keydown\", o);\n };\n }, [t, l, a, i]), { ref: c };\n}\nfunction i2() {\n const [t, a] = E(window.matchMedia(\"(prefers-color-scheme: dark)\").matches);\n return R(() => {\n window.matchMedia(\"(prefers-color-scheme: dark)\").addEventListener(\"change\", (l) => {\n a(l.matches);\n });\n }, []), {\n isDark: t,\n setIsDark: a\n };\n}\nconst c2 = ({\n variant: t = \"primary\",\n size: a = \"medium\",\n text: l,\n iconBefore: i,\n iconAfter: c,\n className: d,\n disabled: s = !1,\n loading: o = !1,\n round: x = !1,\n ...b\n}) => /* @__PURE__ */ e.jsx(\n \"button\",\n {\n className: g(\n \"flex gap-2 justify-center items-center disabled:pointer-events-none\",\n x ? \"rounded-full\" : \"rounded-lg\",\n R2(t),\n V2(a),\n d\n ),\n disabled: s,\n ...b,\n children: /* @__PURE__ */ e.jsx(\n N.Provider,\n {\n value: {\n size: a === \"xsmall\" ? 12 : 16,\n weight: \"regular\",\n className: g(X(t, s))\n },\n children: o ? /* @__PURE__ */ e.jsx(I, { className: g(X(t, s), \"animate-spin\") }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n i && i,\n l && /* @__PURE__ */ e.jsx(\"span\", { className: g(X(t, s), P2(a)), children: l }),\n c && c\n ] })\n }\n )\n }\n), R2 = (t) => {\n switch (t) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-button-light dark:bg-secondary-action-button-dark hover:bg-secondary-action-button-hover-light dark:hover:bg-secondary-action-button-hover-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"tertiary\":\n return \"border border-grey-0/0 bg-tertiary-action-button-light dark:bg-tertiary-action-button-dark hover:bg-tertiary-action-button-hover-light dark:hover:bg-tertiary-action-button-hover-dark disabled:bg-tertiary-action-disabled-light dark:disabled:bg-tertiary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, X = (t, a) => {\n if (a) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (t) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"tertiary\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, V2 = (t) => {\n switch (t) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, P2 = (t) => {\n switch (t) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[16px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, p0 = (t) => {\n const { textToCopy: a, onClick: l, variant: i, ...c } = t, [d, s] = E(!1), o = () => {\n navigator.clipboard.writeText(a), s(!0), setTimeout(() => s(!1), 2e3);\n };\n return /* @__PURE__ */ e.jsx(\n c2,\n {\n variant: i || \"neutral\",\n iconAfter: d ? /* @__PURE__ */ e.jsx(V, {}) : /* @__PURE__ */ e.jsx(C2, {}),\n onClick: (x) => {\n o(), l?.(x);\n },\n ...c\n }\n );\n}, y0 = ({\n variant: t = \"primary\",\n size: a = \"medium\",\n text: l,\n iconBefore: i,\n iconAfter: c,\n className: d,\n disabled: s = !1,\n loading: o = !1,\n ...x\n}) => {\n const b = !l && (!!i || !!c), u = g(y2(t), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": s\n });\n return /* @__PURE__ */ e.jsx(\n \"button\",\n {\n className: g(\n \"flex gap-2 justify-center items-center group\",\n S2(t),\n q2(a),\n {\n \"rounded-full\": b,\n \"rounded-md\": !b\n },\n d\n ),\n disabled: s,\n ...x,\n children: /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(\n N.Provider,\n {\n value: {\n size: a === \"xsmall\" ? 12 : 16,\n weight: \"regular\",\n className: u\n },\n children: o ? /* @__PURE__ */ e.jsx(I, { className: g(u, \"animate-spin\") }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n i && i,\n l && /* @__PURE__ */ e.jsx(\n y,\n {\n variant: a === \"xsmall\" ? \"M\" : a === \"small\" ? \"B2Button\" : \"B1Button\",\n className: g(y2(t), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": s\n }),\n children: l\n }\n ),\n c && c\n ] })\n }\n ) })\n }\n );\n}, S2 = (t) => {\n switch (t) {\n case \"primary\":\n return \"bg-danger-background-light dark:bg-danger-background-dark hover:bg-danger-hover-light dark:hover:bg-danger-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark disabled:border disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"hover:bg-danger-background-light dark:hover:bg-danger-background-dark border border-[rgba(255,255,255,0.0)] hover:border-danger-accessible-light dark:hover:border-danger-accessible-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n }\n}, y2 = (t) => {\n switch (t) {\n case \"primary\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark group-hover:text-label-quaternary-light dark:group-hover:text-label-quaternary-dark\";\n case \"subtle\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark\";\n }\n}, q2 = (t) => {\n switch (t) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, k0 = ({\n label: t,\n selectedKey: a,\n setSelectedKey: l,\n options: i,\n selectedIcon: c = !1,\n noPadding: d = !1\n}) => {\n const s = i.find((u) => u.key === a), [o, x] = E(!1), { ref: b } = l2({\n isActive: o,\n onDismiss: () => x(!1)\n });\n return /* @__PURE__ */ e.jsxs(\"div\", { ref: b, className: g(\"flex flex-col gap-3\", d ? \"\" : \"pt-4 pb-6\"), children: [\n t && /* @__PURE__ */ e.jsx(\n \"div\",\n {\n onClick: () => x(!o),\n \"aria-expanded\": o,\n \"aria-controls\": \"dropdown-menu\",\n role: \"label\",\n className: \"flex cursor-pointer\",\n children: /* @__PURE__ */ e.jsx(y, { variant: \"H4\", children: t })\n }\n ),\n /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ e.jsxs(\n \"button\",\n {\n role: \"button\",\n \"aria-expanded\": o,\n \"aria-controls\": \"dropdown-menu\",\n onClick: () => x(!o),\n className: \"flex items-center gap-2 justify-between px-2 py-3 border rounded-lg border-separator-regular-light dark:border-separator-regular-dark\",\n children: [\n /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n s?.icon,\n /* @__PURE__ */ e.jsx(y, { variant: \"B1Button\", children: s?.value })\n ] }),\n /* @__PURE__ */ e.jsx(L2, { size: 16 })\n ]\n }\n ),\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col relative\", children: o && /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col absolute w-full top-1 gap-2 px-2 py-3 shadow-lg rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark border-separator-regular-light dark:border-separator-regular-dark\", children: i.map((u) => /* @__PURE__ */ e.jsxs(\n \"button\",\n {\n role: \"option\",\n \"aria-selected\": u.key === a,\n \"aria-label\": u.value,\n \"aria-controls\": \"dropdown-menu\",\n \"aria-expanded\": o,\n className: g(\n \"flex items-center gap-2 py-1 pr-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n u.key === a && \"bg-overlay-fill-default-light dark:bg-overlay-fill-default-dark\",\n !c && \"pl-2\",\n c && u.key === a && \"pl-2\",\n c && u.key !== a && \"pl-8\"\n ),\n onClick: () => {\n l(u.key), x(!1);\n },\n children: [\n c && u.key === a && /* @__PURE__ */ e.jsx(V, { size: 16 }),\n u.icon && u.icon,\n /* @__PURE__ */ e.jsx(y, { variant: \"B2\", children: u.value })\n ]\n },\n u.key\n )) }) })\n ] })\n ] });\n}, f0 = ({\n textVariant: t = \"B1\",\n significance: a = \"primary\",\n placeholder: l,\n value: i,\n onSave: c,\n onCancel: d,\n onChange: s,\n initialState: o = \"view\",\n autoEdit: x = \"off\",\n saveOnBlur: b = !1\n}) => {\n const [u, C] = E(o === \"edit\"), v = t2(null);\n R(() => {\n u && (x === \"on\" && v.current?.focus(), x === \"mark\" && v.current?.select());\n }, [v, x, u]);\n const w = async () => {\n C(!1), await c?.();\n }, B = (F) => {\n if (F.key === \"Enter\") {\n w();\n return;\n }\n if (F.key === \"Escape\") {\n C(!1), d?.();\n return;\n }\n };\n return /* @__PURE__ */ e.jsx(\"div\", { className: \"flex grow\", children: u ? /* @__PURE__ */ e.jsx(\n \"input\",\n {\n className: g(\n L[t],\n \"outline-hidden w-full\",\n `text-label-${a}-light dark:text-label-${a}-dark bg-transparent placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark`\n ),\n value: i,\n onChange: (F) => {\n s?.(F.target.value);\n },\n onBlur: b ? w : void 0,\n onKeyUp: B,\n ref: v,\n placeholder: l\n }\n ) : /* @__PURE__ */ e.jsx(\"button\", { onClick: () => C(!0), children: /* @__PURE__ */ e.jsx(y, { variant: t, significance: a, children: i }) }) });\n}, C0 = ({ placeholder: t, value: a, onChange: l, onClear: i, disabled: c, size: d = \"medium\" }) => {\n const s = d === \"small\" ? \"p-2\" : \"py-3 px-4\", o = \"text-label-primary-light dark:text-label-primary-dark placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark disabled:text-primary-action-disabled-light dark:disabled:text-primary-action-disabled-dark\";\n return /* @__PURE__ */ e.jsxs(\n \"div\",\n {\n \"aria-disabled\": c,\n className: g(\n \"flex gap-2 rounded-lg border items-center\",\n s,\n \"border-separator-regular-light dark:border-separator-regular-dark\",\n \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: [\n /* @__PURE__ */ e.jsx(\n \"input\",\n {\n type: \"text\",\n placeholder: t,\n value: a,\n onChange: (x) => l?.(x.target.value),\n disabled: c,\n className: g(\"flex-1 bg-transparent outline-hidden\", o, {\n [L.B1Button]: d === \"medium\",\n [L.B2Button]: d === \"small\"\n })\n }\n ),\n /* @__PURE__ */ e.jsx(\"button\", { onClick: i, disabled: c, className: o, children: a && i ? /* @__PURE__ */ e.jsx(m2, { size: 16 }) : /* @__PURE__ */ e.jsx(N2, { size: 16 }) })\n ]\n }\n );\n}, m0 = ({ options: t, onChange: a, selectedValue: l, size: i = \"small\", contrast: c = \"low\" }) => {\n const d = {\n small: {\n wrapper: \"p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n xsmall: {\n wrapper: \"p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\"\n },\n xxsmall: {\n wrapper: \"p-[1.25px] rounded-[5px]\",\n icon: 12,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\"\n }\n }, s = c === \"high\" ? \"bg-secondary-action-button-light dark:bg-secondary-action-button-dark text-label-quaternary-light dark:text-label-quaternary-dark\" : \"bg-background-secondary-grouped-light dark:bg-background-secondary-grouped-dark text-label-primary-light dark:text-label-primary-dark\";\n return /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"flex bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\",\n d[i].wrapper\n ),\n children: t.map((o) => /* @__PURE__ */ e.jsx(\n \"button\",\n {\n onClick: () => a(o.value),\n className: g(\n \"flex items-center justify-center\",\n d[i].button,\n {\n [s]: o.value === l\n },\n {\n \"text-label-secondary-light dark:text-label-secondary-dark\": o.value !== l\n }\n ),\n children: /* @__PURE__ */ e.jsx(N.Provider, { value: { size: d[i].icon }, children: o.icon })\n },\n o.value\n ))\n }\n );\n}, v0 = ({\n label: t,\n description: a,\n variant: l = \"medium\",\n className: i,\n inputClassName: c,\n value: d,\n rules: s = [],\n onUpdate: o,\n onBlur: x,\n onChange: b,\n labelOnlyForScreenReaders: u,\n disabled: C,\n autoEdit: v = !1,\n ...w\n}) => {\n const B = d, [F, _] = E(!1), [D, P] = E([]), S = t2(null);\n R(() => {\n v && S.current?.focus();\n }, [v]);\n const Z = (m) => {\n const j = m.target.value;\n F && P(s.map((H) => H(j, t || \"\")).filter(Boolean));\n }, Y = (m) => {\n const j = m ?? B;\n P(s.map((H) => H(j, t || \"\")).filter(Boolean)), _(!0);\n };\n return /* @__PURE__ */ e.jsxs(\"label\", { className: g(i, \"flex flex-col gap-2 grow\", u && \"sr-only\"), children: [\n t && /* @__PURE__ */ e.jsx(y, { variant: l === \"small\" ? \"B2\" : \"B1\", significance: C ? \"disabled\" : \"primary\", children: t }),\n a && /* @__PURE__ */ e.jsx(\n y,\n {\n significance: C ? \"disabled\" : \"secondary\",\n variant: l === \"small\" ? \"B2Button\" : \"B1Button\",\n children: a\n }\n ),\n /* @__PURE__ */ e.jsx(\n \"input\",\n {\n className: g(\n c,\n \"border-solid border focus:outline-hidden rounded-lg bg-background-primary-light dark:bg-background-primary-dark\",\n {\n \"px-4 py-3\": l === \"medium\",\n \"px-4 py-2\": l === \"small\",\n [L.B1Button]: l === \"medium\",\n [L.B2Button]: l === \"small\",\n \"text-label-primary-light dark:text-label-primary-dark\": !C,\n \"text-label-placeholder-light dark:text-label-placeholder-dark\": C,\n \"border-separator-opaque-light dark:border-separator-opaque-dark\": D.length === 0,\n \"border-danger-default-light dark:border-danger-default-dark\": D.length > 0\n }\n ),\n value: B,\n onChange: (m) => {\n Z(m), b?.(m);\n },\n onBlur: (m) => {\n const j = m.currentTarget.value;\n Y(j), o?.(j), x?.(m);\n },\n onMouseUp: (m) => m.preventDefault(),\n ref: S,\n ...w\n }\n ),\n D.map((m, j) => /* @__PURE__ */ e.jsx(\n y,\n {\n as: \"p\",\n variant: l === \"small\" ? \"B2Button\" : \"B1Button\",\n significance: C ? \"disabled\" : \"primary\",\n children: m\n },\n j\n ))\n ] });\n}, j0 = ({ selected: t, setSelected: a, as: l = \"button\" }) => {\n const i = l, c = g(\n \"flex items-center justify-center cursor-pointer w-6 h-6 rounded-sm border\",\n !t && \"border-separator-regular-light dark:border-separator-regular-dark\",\n t && \"border-label-primary-light dark:border-label-primary-dark bg-label-primary-light dark:bg-label-primary-dark\"\n );\n return /* @__PURE__ */ e.jsx(i, { onClick: () => a?.(!t), className: c, children: /* @__PURE__ */ e.jsx(\"div\", { className: \"p-1.5\", children: /* @__PURE__ */ e.jsx(\n V,\n {\n size: 12,\n className: g(\"text-label-quaternary-light dark:text-label-quaternary-dark\", !t && \"invisible\")\n }\n ) }) });\n}, w0 = ({\n isOn: t,\n onChange: a,\n size: l = \"medium\",\n onBackgroundColor: i,\n offIcon: c,\n onIcon: d,\n ariaLabel: s,\n disabled: o,\n loading: x\n}) => {\n const b = i || \"bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\", u = {\n xxsmall: {\n wrapper: \"h-[20px] w-[32px] p-[2px] rounded-[5px]\",\n icon: 10,\n button: \"h-[16px] w-[16px] rounded-[3px]\"\n },\n xsmall: {\n wrapper: \"h-[24px] w-[40px] p-[2px] rounded-[6px]\",\n icon: 12,\n button: \"h-[20px] w-[20px] rounded-[4px]\"\n },\n small: {\n wrapper: \"h-[32px] w-[52px] p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n medium: {\n wrapper: \"h-[40px] w-[64px] p-[2px] rounded-[10px]\",\n icon: 20,\n button: \"h-[36px] w-[36px] rounded-[8px]\"\n }\n }, C = o ? \"bg-label-placeholder-light\" : \"bg-nonadaptable-text-light\";\n return /* @__PURE__ */ e.jsx(\"div\", { className: \"flex items-center\", title: s, children: /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\"flex items-center\", u[l].wrapper, {\n \"bg-background-secondary justify-start\": !t,\n [b]: t,\n \"bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\": !t,\n \"justify-end\": t\n }),\n children: /* @__PURE__ */ e.jsx(\n \"button\",\n {\n onClick: (v) => {\n v.preventDefault(), v.stopPropagation(), a(!t);\n },\n \"aria-label\": s,\n disabled: o || x,\n className: g(\n \"flex items-center justify-center text-nonadaptable-text-dark\",\n u[l].button,\n C\n ),\n children: /* @__PURE__ */ e.jsx(N.Provider, { value: { size: u[l].icon }, children: x ? /* @__PURE__ */ e.jsx(I, { className: \"animate-spin\" }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n d && t && d,\n c && !t && c\n ] }) })\n }\n )\n }\n ) });\n}, F0 = ({\n options: t,\n selectedFirst: a,\n selectedSecond: l,\n onSelectedFirst: i,\n onSelectedSecond: c,\n onClear: d\n}) => /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex gap-3 py-3\", children: [\n a && /* @__PURE__ */ e.jsx(c2, { variant: \"neutral\", size: \"small\", iconAfter: /* @__PURE__ */ e.jsx(m2, {}), onClick: d }),\n a ? t.filter((s) => s.key === a.key).map((s) => /* @__PURE__ */ e.jsxs(a2, { children: [\n /* @__PURE__ */ e.jsx(k2, { text: s.value, active: !0 }),\n s.options.map((o) => /* @__PURE__ */ e.jsx(\n t0,\n {\n onClick: () => c(o),\n selected: l?.key == o.key,\n text: o.value,\n significance: l?.key == o.key || !l ? \"primary\" : \"secondary\"\n },\n o.key\n ))\n ] }, s.key)) : t.map((s) => /* @__PURE__ */ e.jsx(\"button\", { onClick: () => i(s), children: /* @__PURE__ */ e.jsx(k2, { text: s.value }) }, s.key))\n] }), B0 = ({ groups: t, align: a = \"left\", onDismiss: l, grow: i = !1 }) => {\n const c = t.some((s) => s.items.some((o) => o.selected)), { ref: d } = l2({\n isActive: !!l,\n onDismiss: () => l?.(),\n includeEscape: !0\n });\n return /* @__PURE__ */ e.jsx(\"div\", { ref: d, className: g(\"relative\", { \"flex flex-col grow\": i }), children: /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": a === \"right\",\n \"left-0\": a === \"left\",\n \"w-full\": i,\n \"w-max\": !i\n }\n ),\n children: /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col gap-3\", children: t.map((s, o) => /* @__PURE__ */ e.jsxs(a2, { children: [\n /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [\n s.title && /* @__PURE__ */ e.jsx(y, { variant: \"D1B\", significance: \"secondary\", children: s.title }),\n s.items.map((x, b) => /* @__PURE__ */ e.jsxs(\n \"button\",\n {\n onClick: x.onClick,\n className: \"flex items-center gap-2 py-1 px-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n children: [\n /* @__PURE__ */ e.jsxs(N.Provider, { value: { size: 16 }, children: [\n c ? /* @__PURE__ */ e.jsx(\"div\", { className: \"shrink-0\", children: x.selected ? /* @__PURE__ */ e.jsx(V, {}) : /* @__PURE__ */ e.jsx(\"div\", { className: \"w-4 shrink-0\" }) }) : null,\n x.icon\n ] }),\n /* @__PURE__ */ e.jsx(y, { variant: \"B2\", children: x.label })\n ]\n },\n `item-${o}-${b}`\n ))\n ] }),\n o < t.length - 1 && /* @__PURE__ */ e.jsx(j2, {}, `separator-${o}`)\n ] }, `group-${o}`)) })\n }\n ) });\n}, E0 = ({ children: t, className: a, variant: l = \"B1\", significance: i = \"primary\", as: c }) => {\n const d = c ?? O2[l], s = $2[l];\n return /* @__PURE__ */ e.jsx(d, { className: g(\"font-code\", I2[i], a, s), children: t });\n}, $2 = {\n B1B: \"text-[15px] font-bold leading-[24px]\",\n B1: \"text-[15px] leading-[24px]\",\n B1Button: \"text-[15px] leading-[16px]\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\"\n}, O2 = {\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\"\n}, I2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, T0 = ({ children: t, className: a, variant: l = \"MetMedMed\", significance: i = \"primary\", as: c }) => {\n const d = c ?? Y2[l], s = Z2[l];\n return /* @__PURE__ */ e.jsx(d, { className: g(\"font-sans\", z2[i], a, s), children: t });\n}, Z2 = {\n MetMedBold: \"text-[24px] font-bold leading-[32px] -tracking-0,1\",\n MetMedMed: \"text-[24px] font-medium leading-[32px] -tracking-0,1\",\n MetMedReg: \"text-[24px] font-regular leading-[32px] -tracking-0,1\",\n MetSmBold: \"text-[20px] font-bold leading-[24px] -tracking-0,1\",\n MetSmMed: \"text-[20px] font-medium leading-[24px] -tracking-0,1\",\n MetSmReg: \"text-[20px] font-regular leading-[24px] -tracking-0,1\",\n AnnoMedBold: \"text-[24px] font-bold leading-[32px] -tracking-0,1\",\n AnnoMedMed: \"text-[24px] font-medium leading-[32px] -tracking-0,1\"\n}, Y2 = {\n MetMedBold: \"p\",\n MetMedMed: \"p\",\n MetMedReg: \"p\",\n MetSmBold: \"p\",\n MetSmMed: \"p\",\n MetSmReg: \"p\",\n AnnoMedBold: \"p\",\n AnnoMedMed: \"p\"\n}, z2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, U2 = ({ children: t }) => t.split(`\n`).map((a, l) => /* @__PURE__ */ e.jsxs(a2, { children: [\n a,\n l < t.split(`\n`).length - 1 && /* @__PURE__ */ e.jsx(\"br\", {})\n] }, l)), L = {\n Di1: \"text-[72px] font-bold leading-[90px] -tracking-2,5\",\n Di2: \"text-[60px] font-bold leading-[72px] -tracking-2,0\",\n Di3: \"text-[48px] font-bold leading-[60px] -tracking-1,5\",\n T1: \"text-[40px] font-bold leading-[48px] -tracking-1,5\",\n T2: \"text-[32px] font-bold leading-[40px] -tracking-1\",\n T3: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H1: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H2: \"text-[20px] font-bold leading-[24px]\",\n H3: \"text-[15px] font-bold leading-[20px]\",\n H4: \"text-[13px] font-bold leading-[16px]\",\n B1B: \"text-[15px] font-bold leading-[24px] -tracking-0,1\",\n B1: \"text-[15px] leading-[24px] -tracking-0,1\",\n B1Button: \"text-[15px] leading-[16px] -tracking-0,1\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\",\n D1B: \"text-[12px] font-bold leading-[16px]\",\n D1: \"text-[12px] leading-[16px]\",\n M: \"text-[10px] leading-[16px]\"\n}, y = ({ children: t, className: a, variant: l = \"B1\", significance: i = \"primary\", as: c }) => {\n const d = c ?? W2[l], s = L[l];\n return /* @__PURE__ */ e.jsx(d, { className: g(\"font-sans\", G2[i], a, s), children: t });\n}, W2 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\",\n D1B: \"p\",\n D1: \"p\",\n M: \"p\"\n}, G2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, L0 = ({ items: t }) => /* @__PURE__ */ e.jsx(\"ul\", { className: \"flex flex-col list-disc ml-4 text-label-primary-light dark:text-label-primary-dark\", children: t.map((a, l) => /* @__PURE__ */ e.jsx(\"li\", { children: /* @__PURE__ */ e.jsx(y, { as: \"span\", children: /* @__PURE__ */ e.jsx(U2, { children: a }) }) }, l)) }), N0 = ({ children: t, className: a, variant: l = \"H1B\", significance: i = \"primary\", as: c }) => {\n const d = c ?? X2[l], s = J2[l];\n return /* @__PURE__ */ e.jsx(d, { className: g(\"font-mc\", K2[i], a, s), children: t });\n}, J2 = {\n Di1: \"text-[72px] font-medium leading-[90px] -tracking-0,1\",\n Di2: \"text-[60px] font-medium leading-[80px] -tracking-0,1\",\n Di3: \"text-[48px] font-medium leading-[72px] -tracking-0,1\",\n T1: \"text-[40px] font-medium leading-[52px]\",\n T2: \"text-[32px] font-medium leading-[48px]\",\n T3: \"text-[24px] font-medium leading-[32px]\",\n H1B: \"text-[24px] font-semibold leading-[32px]\",\n H1: \"text-[24px] font-medium leading-[32px]\",\n H2B: \"text-[20px] font-semibold leading-[28px]\",\n H2: \"text-[20px] font-medium leading-[28px]\",\n H3B: \"text-[15px] font-semibold leading-[20px]\",\n H3: \"text-[15px] font-medium leading-[20px]\"\n}, X2 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H1B: \"h1\",\n H2: \"h2\",\n H2B: \"h2\",\n H3: \"h3\",\n H3B: \"h3\"\n}, K2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, _0 = ({ href: t, text: a, variant: l = \"primary\", size: i = \"medium\", onClick: c, skipAnchor: d = !1 }) => {\n const s = l === \"primary\" ? \"text-primary-action-button-light dark:text-primary-action-button-dark hover:text-primary-action-graphical-light dark:hover:text-primary-action-graphical-dark\" : l === \"secondary\" ? \"underline text-label-primary-light dark:text-label-primary-dark hover:text-label-secondary-light dark:hover:text-laberl-secondary-dark\" : \"text-label-primary-light dark:text-label-primary-dark hover:text-label-secondary-light dark:hover:text-laberl-secondary-dark\";\n return d ? /* @__PURE__ */ e.jsx(y, { variant: i === \"medium\" ? \"B1\" : \"B2\", className: s, children: a }) : /* @__PURE__ */ e.jsx(\"a\", { href: t, onClick: c, children: /* @__PURE__ */ e.jsx(y, { variant: i === \"medium\" ? \"B1\" : \"B2\", className: s, children: a }) });\n}, D0 = ({\n href: t,\n variant: a = \"primary\",\n size: l = \"medium\",\n text: i,\n iconBefore: c,\n iconAfter: d,\n className: s,\n disabled: o = !1,\n loading: x = !1,\n round: b = !1,\n ...u\n}) => /* @__PURE__ */ e.jsx(\n \"a\",\n {\n href: t,\n className: g(\n \"flex gap-2 justify-center items-center disabled:pointer-events-none\",\n b ? \"rounded-full\" : \"rounded-lg\",\n o && \"pointer-events-none\",\n Q2(a),\n e0(l),\n s\n ),\n ...u,\n children: /* @__PURE__ */ e.jsx(\n N.Provider,\n {\n value: {\n size: l === \"xsmall\" ? 12 : 16,\n weight: \"regular\",\n className: g(K(a, o))\n },\n children: x ? /* @__PURE__ */ e.jsx(I, { className: g(K(a, o), \"animate-spin\") }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n c && c,\n i && /* @__PURE__ */ e.jsx(\"span\", { className: g(K(a, o), r0(l)), children: i }),\n d && d\n ] })\n }\n )\n }\n), Q2 = (t) => {\n switch (t) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-button-light dark:bg-secondary-action-button-dark hover:bg-secondary-action-button-hover-light dark:hover:bg-secondary-action-button-hover-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"tertiary\":\n return \"border border-grey-0/0 bg-tertiary-action-button-light dark:bg-tertiary-action-button-dark hover:bg-tertiary-action-button-hover-light dark:hover:bg-tertiary-action-button-hover-dark disabled:bg-tertiary-action-disabled-light dark:disabled:bg-tertiary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, K = (t, a) => {\n if (a) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (t) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"tertiary\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, e0 = (t) => {\n switch (t) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, r0 = (t) => {\n switch (t) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[16px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, k2 = ({ text: t, active: a = !1, size: l = \"medium\" }) => {\n const i = l === \"medium\" ? \"B1Button\" : \"B2Button\", c = a ? \"primary\" : \"secondary\";\n return /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"flex justify-center p-2 rounded-lg hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\",\n a && \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: /* @__PURE__ */ e.jsx(y, { significance: c, variant: i, children: t })\n }\n );\n}, t0 = ({ text: t, selected: a, significance: l, onClick: i }) => /* @__PURE__ */ e.jsx(\n \"button\",\n {\n onClick: i,\n className: g(\n \"flex items-center p-2 border border-grey-0/0\",\n a && \"border-b-label-primary-light dark:border-b-label-primary-dark\"\n ),\n children: /* @__PURE__ */ e.jsx(y, { variant: \"B2Button\", significance: l, children: t })\n }\n), a0 = ({ title: t, code: a, language: l = \"tsx\", highlightedWords: i = [], maxHeight: c }) => {\n const { isDark: d } = i2(), [s, o] = E(!1), x = /* @__PURE__ */ e.jsx(\n c2,\n {\n \"aria-label\": \"Copy code block to clipboard\",\n size: \"small\",\n variant: \"neutral\",\n iconAfter: s ? /* @__PURE__ */ e.jsx(V, {}) : /* @__PURE__ */ e.jsx(C2, {}),\n onClick: () => {\n navigator.clipboard.writeText(a), o(!0), setTimeout(() => o(!1), 2e3);\n }\n }\n );\n return /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col py-2 gap-3\", children: [\n t && /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col py-2\", children: /* @__PURE__ */ e.jsx(y, { variant: \"H4\", children: t }) }),\n /* @__PURE__ */ e.jsx(\n $,\n {\n code: a,\n language: l,\n words: i,\n theme: d ? u2.nightOwl : u2.nightOwlLight,\n children: /* @__PURE__ */ e.jsxs(\"div\", { className: \"relative group\", children: [\n /* @__PURE__ */ e.jsx(\n $.Code,\n {\n className: g(\n \"bg-background-tertiary-grouped-light dark:bg-background-tertiary-grouped-dark p-4 rounded-md overflow-x-auto scrollbar-thin scrollbar-thin-dark text-[13px] font-code\",\n { [`${c} overflow-y-auto scrollbar-thin`]: c }\n ),\n children: /* @__PURE__ */ e.jsx($.LineContent, { children: /* @__PURE__ */ e.jsx($.Token, { children: ({ isTokenHighlighted: b, children: u }) => /* @__PURE__ */ e.jsx(\n \"span\",\n {\n className: b ? \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark rounded-md px-1 py-0.5\" : \"\",\n children: u\n }\n ) }) })\n }\n ),\n /* @__PURE__ */ e.jsx(\"div\", { className: g(\"absolute top-2 invisible group-hover:visible\", c ? \"right-4\" : \"right-2\"), children: x })\n ] })\n }\n )\n ] });\n}, H0 = ({ children: t, onExit: a }) => {\n const { ref: l } = l2({\n isActive: !0,\n onDismiss: a,\n includeEscape: !0\n });\n return R(() => {\n l.current?.focus();\n }, [l]), /* @__PURE__ */ e.jsx(\n \"div\",\n {\n ref: l,\n className: \"flex flex-col z-10 items-center justify-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark outline-hidden\",\n tabIndex: -1,\n onClick: (i) => {\n i.target === i.currentTarget && a();\n },\n children: t\n }\n );\n}, A0 = ({ title: t, texts: a }) => /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col py-3 rounded-lg bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\", children: [\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex px-3 py-2\", children: /* @__PURE__ */ e.jsx(y, { variant: \"H4\", children: t }) }),\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col gap-6 px-3 py-1\", children: a.map((l, i) => /* @__PURE__ */ e.jsx(y, { children: l }, i)) })\n] }), M0 = ({ size: t = 7, animation: a = \"animate-spin\" }) => /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col items-center justify-center\", children: /* @__PURE__ */ e.jsx(\"div\", { className: g(\"flex items-center justify-center\", a), children: /* @__PURE__ */ e.jsx(l0, { size: t * 4 }) }) }), l0 = ({ size: t }) => {\n const { isDark: a } = i2(), l = 275;\n return a ? /* @__PURE__ */ e.jsxs(\n \"svg\",\n {\n width: t || l,\n height: t || l,\n viewBox: \"0 0 275 275\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_1096_254)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"137\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"255\", cy: \"138\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"167\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"108\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"108\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"197\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"78\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"20\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"36\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"78\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"20\", cy: \"137\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"239\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"255\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"239\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"239\", cy: \"197\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"197\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"167\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"36\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"240\", cy: \"78\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_1096_254\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\" }) }) })\n ]\n }\n ) : /* @__PURE__ */ e.jsxs(\n \"svg\",\n {\n width: t || l,\n height: t || l,\n viewBox: \"0 0 275 275\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_1096_225)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"137\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"255\", cy: \"138\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"167\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"108\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"108\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"197\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"78\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"20\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"36\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"78\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"20\", cy: \"137\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"239\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"255\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"239\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"239\", cy: \"197\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"197\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"167\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"36\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"240\", cy: \"78\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_1096_225\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\" }) }) })\n ]\n }\n );\n}, R0 = ({ width: t, height: a }) => {\n const { isDark: l } = i2(), i = 152, c = 48, d = i / c;\n return a ? t = a * d : t ? a = t / d : (a = c, t = i), l ? /* @__PURE__ */ e.jsxs(\"svg\", { width: t, height: a, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_8_5921)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.146\", cy: \"9.07914\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.146\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ e.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"white\"\n }\n )\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_8_5921\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] }) : /* @__PURE__ */ e.jsxs(\"svg\", { width: t, height: a, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_8_6077)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.1462\", cy: \"9.07914\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.1462\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ e.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"black\"\n }\n )\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_8_6077\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] });\n}, j2 = ({ className: t, vertical: a = !1, opaque: l = !1, opaqueAlternative: i = !1 }) => {\n const c = i ? \"bg-separator-opaque-alternative-light dark:bg-separator-opaque-alternative-dark\" : l ? \"bg-separator-opaque-light dark:bg-separator-opaque-dark\" : \"bg-separator-regular-light dark:bg-separator-regular-dark\";\n return /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"shrink-0\",\n c,\n {\n \"w-full h-px\": !a,\n \"w-px\": a\n },\n t\n )\n }\n );\n}, V0 = ({ content: t, className: a }) => {\n const l = n0(t);\n return /* @__PURE__ */ e.jsx(\"div\", { className: `flex flex-col gap-2 ${a ?? \"\"}`, children: l.map((i, c) => /* @__PURE__ */ e.jsx(i0, { block: i }, c)) });\n}, i0 = ({ block: t }) => {\n switch (t.type) {\n case \"heading\": {\n const a = { 1: \"H1\", 2: \"H2\", 3: \"H3\", 4: \"H4\" };\n return /* @__PURE__ */ e.jsx(y, { variant: a[t.level], children: /* @__PURE__ */ e.jsx(e2, { text: t.content }) });\n }\n case \"paragraph\":\n return /* @__PURE__ */ e.jsx(y, { children: /* @__PURE__ */ e.jsx(e2, { text: t.content }) });\n case \"code\":\n return /* @__PURE__ */ e.jsx(a0, { code: t.content, language: t.language || \"text\" });\n case \"hr\":\n return /* @__PURE__ */ e.jsx(j2, {});\n case \"unordered-list\":\n return /* @__PURE__ */ e.jsx(Q, { items: t.items, ordered: !1 });\n case \"ordered-list\":\n return /* @__PURE__ */ e.jsx(Q, { items: t.items, ordered: !0 });\n }\n}, Q = ({ items: t, ordered: a }) => {\n const l = a ? \"ol\" : \"ul\", i = a ? \"list-decimal\" : \"list-disc\";\n return /* @__PURE__ */ e.jsx(l, { className: `flex flex-col ${i} ml-4 text-label-primary-light dark:text-label-primary-dark`, children: t.map((c, d) => /* @__PURE__ */ e.jsxs(\"li\", { children: [\n /* @__PURE__ */ e.jsx(y, { as: \"span\", children: /* @__PURE__ */ e.jsx(e2, { text: c.content }) }),\n c.children.length > 0 && /* @__PURE__ */ e.jsx(Q, { items: c.children, ordered: a })\n ] }, d)) });\n}, e2 = ({ text: t }) => {\n const a = c0(t);\n return /* @__PURE__ */ e.jsx(e.Fragment, { children: a });\n};\nfunction c0(t) {\n const a = [];\n let l = t, i = 0;\n for (; l.length > 0; ) {\n const c = l.match(/^`([^`]+)`/);\n if (c) {\n a.push(\n /* @__PURE__ */ e.jsx(\n \"code\",\n {\n className: \"bg-background-tertiary-grouped-light dark:bg-background-tertiary-grouped-dark rounded px-1 py-0.5 text-[13px] font-code\",\n children: c[1]\n },\n i++\n )\n ), l = l.slice(c[0].length);\n continue;\n }\n const d = l.match(/^\\*\\*\\*(.+?)\\*\\*\\*/);\n if (d) {\n a.push(\n /* @__PURE__ */ e.jsx(\"strong\", { children: /* @__PURE__ */ e.jsx(\"em\", { children: d[1] }) }, i++)\n ), l = l.slice(d[0].length);\n continue;\n }\n const s = l.match(/^\\*\\*(.+?)\\*\\*/);\n if (s) {\n a.push(/* @__PURE__ */ e.jsx(\"strong\", { children: s[1] }, i++)), l = l.slice(s[0].length);\n continue;\n }\n const o = l.match(/^\\*(.+?)\\*/);\n if (o) {\n a.push(/* @__PURE__ */ e.jsx(\"em\", { children: o[1] }, i++)), l = l.slice(o[0].length);\n continue;\n }\n const x = l.slice(1).search(/[`*]/);\n if (x === -1) {\n a.push(l);\n break;\n }\n a.push(l.slice(0, x + 1)), l = l.slice(x + 1);\n }\n return a;\n}\nfunction n0(t) {\n const a = t.split(`\n`), l = [];\n let i = 0;\n for (; i < a.length; ) {\n const c = a[i];\n if (c.trim() === \"\") {\n i++;\n continue;\n }\n const d = c.match(/^```(\\w*)/);\n if (d) {\n const x = d[1] || \"\", b = [];\n for (i++; i < a.length && !a[i].startsWith(\"```\"); )\n b.push(a[i]), i++;\n i++, l.push({ type: \"code\", language: x, content: b.join(`\n`) });\n continue;\n }\n if (/^---+$/.test(c.trim()) || /^\\*\\*\\*+$/.test(c.trim())) {\n l.push({ type: \"hr\" }), i++;\n continue;\n }\n const s = c.match(/^(#{1,4})\\s+(.+)/);\n if (s) {\n const x = s[1].length;\n l.push({ type: \"heading\", level: x, content: s[2].trim() }), i++;\n continue;\n }\n if (/^(\\s*)[-*+]\\s/.test(c)) {\n const { items: x, endIndex: b } = r2(a, i, \"unordered\");\n l.push({ type: \"unordered-list\", items: x }), i = b;\n continue;\n }\n if (/^(\\s*)\\d+\\.\\s/.test(c)) {\n const { items: x, endIndex: b } = r2(a, i, \"ordered\");\n l.push({ type: \"ordered-list\", items: x }), i = b;\n continue;\n }\n const o = [];\n for (; i < a.length && a[i].trim() !== \"\" && !s0(a[i]); )\n o.push(a[i]), i++;\n o.length > 0 && l.push({ type: \"paragraph\", content: o.join(`\n`) });\n }\n return l;\n}\nfunction s0(t) {\n return !!(/^```/.test(t) || /^#{1,4}\\s/.test(t) || /^---+$/.test(t.trim()) || /^\\*\\*\\*+$/.test(t.trim()) || /^(\\s*)[-*+]\\s/.test(t) || /^(\\s*)\\d+\\.\\s/.test(t));\n}\nfunction f2(t) {\n const a = t.match(/^(\\s*)/);\n return a ? a[1].length : 0;\n}\nfunction r2(t, a, l) {\n const i = [];\n let c = a;\n const d = f2(t[a]), s = l === \"unordered\" ? /^(\\s*)[-*+]\\s(.*)/ : /^(\\s*)\\d+\\.\\s(.*)/;\n for (; c < t.length; ) {\n const o = t[c];\n if (o.trim() === \"\") {\n if (c + 1 < t.length && s.test(t[c + 1]) && f2(t[c + 1]) >= d) {\n c++;\n continue;\n }\n break;\n }\n const x = o.match(s);\n if (!x) break;\n const b = x[1].length;\n if (b < d) break;\n if (b > d) {\n const { items: u, endIndex: C } = r2(t, c, l);\n i.length > 0 && i[i.length - 1].children.push(...u), c = C;\n continue;\n }\n i.push({ content: x[2].trim(), children: [] }), c++;\n }\n return { items: i, endIndex: c };\n}\nconst P0 = ({ content: t, align: a = \"left\" }) => /* @__PURE__ */ e.jsxs(\"div\", { className: \"group\", children: [\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex\", children: /* @__PURE__ */ e.jsx(_2, { size: 16 }) }),\n /* @__PURE__ */ e.jsx(\"div\", { className: g(\"relative\"), children: /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 min-w-36 max-w-60 backdrop-blur-xl group-hover:block hidden bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": a === \"right\",\n \"left-0\": a === \"left\"\n }\n ),\n children: /* @__PURE__ */ e.jsx(y, { variant: \"D1\", children: t })\n }\n ) })\n] }), S0 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_5921)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='9.07914'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_5921'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", q0 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_247)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='white'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_247'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", $0 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_6077)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='9.07914'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_6077'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", O0 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_218)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='black'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_218'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", r = {\n transparent: \"#00000000\",\n grey: {\n 0: \"#FFFFFF\",\n 5: \"#FBFBFD\",\n 10: \"#F2F2F7\",\n 50: \"#E5E5EA\",\n 75: \"#DEDEE1\",\n 100: \"#D1D1D6\",\n 200: \"#C7C7CC\",\n 300: \"#AEAEB2\",\n 400: \"#8E8E93\",\n 500: \"#636366\",\n 600: \"#48484A\",\n 700: \"#3A3A3C\",\n 800: \"#2C2C2E\",\n 900: \"#242426\",\n 950: \"#1C1C1E\",\n 990: \"#101011\",\n 995: \"#090909\",\n 1e3: \"#000000\"\n },\n \"strong-blue\": {\n 50: \"#A8C7FA\",\n 100: \"#6598EC\",\n 300: \"#1C73E8\",\n 400: \"#3461DA\",\n 500: \"#325FCB\",\n 600: \"#2C4DB9\",\n 950: \"#001833\"\n },\n \"banana-yellow\": {\n 5: \"#FFF8EA\",\n 10: \"#FFF1CC\",\n 50: \"#FEE085\",\n 100: \"#FECB33\",\n 400: \"#FEBE00\",\n 500: \"#F1B100\",\n 600: \"#E4A400\",\n 700: \"#D09000\",\n 800: \"#AD6D00\"\n },\n \"bright-coral\": {\n 0: \"#FFFFFF\",\n 5: \"#FFF0EE\",\n 10: \"#FFDED6\",\n 50: \"#FFBCA8\",\n 75: \"#FF936D\",\n 100: \"#FF8257\",\n 200: \"#FF794A\",\n 300: \"#FF7140\",\n 400: \"#FF6832\",\n 500: \"#F25B2A\",\n 600: \"#E54E1D\",\n 700: \"#D13A09\",\n 800: \"#C73000\",\n 900: \"#8E0000\",\n 950: \"#480000\",\n 1e3: \"#000000\"\n },\n \"minty-blue\": {\n 5: \"#EEFBF9\",\n 10: \"#DAF6F1\",\n 50: \"#99E5D5\",\n 100: \"#77DDC7\",\n 400: \"#55D4B9\",\n 500: \"#48C7B1\",\n 600: \"#3BBAA4\",\n 700: \"#27A690\",\n 800: \"#04836C\"\n },\n red: {\n 10: \"#FEF1F2\",\n 75: \"#FF8680\",\n 100: \"#FF6861\",\n 300: \"#FF453A\",\n 400: \"#FF3B2F\",\n 600: \"#D70015\",\n 800: \"#A10010\"\n },\n orange: {\n 100: \"#FFB33F\",\n 300: \"#FF9F0B\",\n 400: \"#FF9500\",\n 600: \"#C93400\"\n },\n yellow: {\n 10: \"#FFF8EB\",\n 75: \"#FFE372\",\n 100: \"#FFD426\",\n 300: \"#FED709\",\n 400: \"#FFCC02\",\n 600: \"#B25001\",\n 800: \"#873C00\"\n },\n green: {\n 10: \"#EDFDF8\",\n 75: \"#7AF299\",\n 100: \"#30DB5B\",\n 300: \"#31D158\",\n 400: \"#35C759\",\n 600: \"#248A3D\",\n 800: \"#0D5C20\"\n },\n mint: {\n 100: \"#66D5CF\",\n 300: \"#67D3CF\",\n 400: \"#04C7BE\",\n 600: \"#0D817C\"\n },\n teal: {\n 100: \"#5DE6FF\",\n 300: \"#40C8E0\",\n 400: \"#30B0C7\",\n 600: \"#008299\"\n },\n cyan: {\n 100: \"#70D7FF\",\n 300: \"#64D3FF\",\n 400: \"#31ADE6\",\n 600: \"#0171A4\"\n },\n blue: {\n 100: \"#419CFF\",\n 300: \"#0B84FF\",\n 400: \"#007AFF\",\n 600: \"#0040DD\"\n },\n indigo: {\n 100: \"#7E7AFF\",\n 300: \"#5E5CE6\",\n 400: \"#5856D7\",\n 600: \"#3634A3\"\n },\n purple: {\n 100: \"#DA8FFF\",\n 300: \"#BF5AF2\",\n 400: \"#AF52DE\",\n 600: \"#8944AB\"\n },\n pink: {\n 100: \"#FF6482\",\n 300: \"#FF375F\",\n 400: \"#FF2C55\",\n 600: \"#D20F44\"\n },\n brown: {\n 100: \"#B59469\",\n 300: \"#AC8E68\",\n 400: \"#A2845E\",\n 600: \"#7F6545\"\n },\n \"opacity-grey\": {\n 200: \"#FFFFFF24\",\n 300: \"#FFFFFF0F\",\n 600: \"#00000012\",\n 700: \"#00000024\",\n 950: \"#0000008C\",\n 990: \"#000000A6\"\n },\n \"material-grey\": {\n 5: \"#F6F6F6D6\",\n 10: \"#F6F6F6B8\",\n 50: \"#F6F6F699\",\n 75: \"#F6F6F67A\",\n 100: \"#F6F6F65C\",\n 600: \"#0000001A\",\n 800: \"#00000033\",\n 850: \"#0000004A\",\n 900: \"#00000066\",\n 950: \"#00000080\"\n }\n}, I0 = {\n background: {\n primary: {\n light: r.grey[5],\n dark: r.grey[990]\n },\n secondary: {\n light: r.grey[10],\n dark: r.grey[950]\n },\n tertiary: {\n light: r.grey[50],\n dark: r.grey[900]\n },\n \"primary-grouped\": {\n light: r.grey[50],\n dark: r.grey[990]\n },\n \"secondary-grouped\": {\n light: r.grey[5],\n dark: r.grey[950]\n },\n \"tertiary-grouped\": {\n light: r.grey[10],\n dark: r.grey[900]\n },\n \"primary-hover\": {\n light: r.grey[10],\n dark: r.grey[900]\n },\n \"secondary-hover\": {\n light: r.grey[50],\n dark: r.grey[900]\n },\n \"tertiary-hover\": {\n light: r.grey[100],\n dark: r.grey[800]\n },\n \"universal-overlay\": {\n light: r[\"opacity-grey\"][600],\n dark: r[\"opacity-grey\"][300]\n }\n },\n overlay: {\n \"fill-default\": {\n light: r[\"opacity-grey\"][600],\n dark: r[\"opacity-grey\"][300]\n },\n \"fill-alternative\": {\n light: r[\"opacity-grey\"][700],\n dark: r[\"opacity-grey\"][200]\n },\n \"background-default\": {\n light: r[\"opacity-grey\"][950],\n dark: r[\"opacity-grey\"][990]\n }\n },\n label: {\n primary: {\n light: r.grey[1e3],\n dark: r.grey[0]\n },\n secondary: {\n light: r.grey[500],\n dark: r.grey[400]\n },\n tertiary: {\n light: r.grey[400],\n dark: r.grey[500]\n },\n placeholder: {\n light: r.grey[400],\n dark: r.grey[400]\n },\n quaternary: {\n light: r.grey[0],\n dark: r.grey[1e3]\n },\n disabled: {\n light: r.grey[100],\n dark: r.grey[700]\n }\n },\n \"primary-action\": {\n graphical: {\n light: r[\"strong-blue\"][600],\n dark: r[\"strong-blue\"][300]\n },\n button: {\n light: r[\"strong-blue\"][400],\n dark: r[\"strong-blue\"][500]\n },\n \"button-hover\": {\n light: r[\"strong-blue\"][600],\n dark: r[\"strong-blue\"][600]\n },\n background: {\n light: r[\"strong-blue\"][50],\n dark: r[\"strong-blue\"][950]\n },\n \"background-2\": {\n light: r[\"strong-blue\"][950],\n dark: r[\"strong-blue\"][50]\n },\n disabled: {\n light: r.grey[100],\n dark: r.grey[700]\n }\n },\n \"secondary-action\": {\n button: {\n light: r.grey[1e3],\n dark: r.grey[0]\n },\n \"button-hover\": {\n light: r.grey[900],\n dark: r.grey[100]\n },\n complementary: {\n light: r.grey[0],\n dark: r.grey[1e3]\n },\n disabled: {\n light: r.grey[100],\n dark: r.grey[700]\n }\n },\n \"tertiary-action\": {\n button: {\n light: r[\"opacity-grey\"][600],\n dark: r[\"opacity-grey\"][300]\n },\n \"button-hover\": {\n light: r[\"opacity-grey\"][700],\n dark: r[\"opacity-grey\"][200]\n },\n disabled: {\n light: r[\"opacity-grey\"][600],\n dark: r[\"opacity-grey\"][300]\n }\n },\n \"brand-yellow\": {\n default: {\n light: r[\"banana-yellow\"][400],\n dark: r[\"banana-yellow\"][400]\n },\n alternative: {\n light: r[\"banana-yellow\"][100],\n dark: r[\"banana-yellow\"][100]\n },\n light: {\n light: r[\"banana-yellow\"][50],\n dark: r[\"banana-yellow\"][50]\n },\n lighter: {\n light: r[\"banana-yellow\"][5],\n dark: r[\"banana-yellow\"][5]\n },\n \"text-big\": {\n light: r[\"banana-yellow\"][800],\n dark: r[\"banana-yellow\"][400]\n }\n },\n \"brand-coral\": {\n default: {\n light: r[\"bright-coral\"][400],\n dark: r[\"bright-coral\"][400]\n },\n alternative: {\n light: r[\"bright-coral\"][100],\n dark: r[\"bright-coral\"][100]\n },\n light: {\n light: r[\"bright-coral\"][50],\n dark: r[\"bright-coral\"][50]\n },\n lighter: {\n light: r[\"bright-coral\"][5],\n dark: r[\"bright-coral\"][5]\n },\n \"text-big\": {\n light: r[\"bright-coral\"][600],\n dark: r[\"bright-coral\"][400]\n }\n },\n \"brand-mint\": {\n default: {\n light: r[\"minty-blue\"][400],\n dark: r[\"minty-blue\"][400]\n },\n alternative: {\n light: r[\"minty-blue\"][100],\n dark: r[\"minty-blue\"][100]\n },\n light: {\n light: r[\"minty-blue\"][50],\n dark: r[\"minty-blue\"][50]\n },\n lighter: {\n light: r[\"minty-blue\"][5],\n dark: r[\"minty-blue\"][5]\n },\n \"text-big\": {\n light: r[\"minty-blue\"][800],\n dark: r[\"minty-blue\"][400]\n }\n },\n separator: {\n regular: {\n light: r.grey[300],\n dark: r.grey[600]\n },\n opaque: {\n light: r.grey[50],\n dark: r.grey[900]\n },\n \"opaque-alternative\": {\n light: r.grey[100],\n dark: r.grey[800]\n }\n },\n \"system-fill\": {\n primary: {\n light: r.grey[100],\n dark: r.grey[700]\n },\n secondary: {\n light: r.grey[10],\n dark: r.grey[900]\n },\n tertiary: {\n light: r.grey[5],\n dark: r.grey[990]\n }\n },\n \"nonadaptable-text\": {\n light: r.grey[0],\n dark: r.grey[1e3]\n },\n success: {\n background: {\n light: r.green[10],\n dark: r.green[800]\n },\n default: {\n light: r.green[400],\n dark: r.green[300]\n },\n hover: {\n light: r.green[600],\n dark: r.green[75]\n },\n accessible: {\n light: r.green[800],\n dark: r.green[10]\n }\n },\n warning: {\n background: {\n light: r.yellow[10],\n dark: r.yellow[800]\n },\n default: {\n light: r.yellow[400],\n dark: r.yellow[300]\n },\n hover: {\n light: r.yellow[600],\n dark: r.yellow[75]\n },\n accessible: {\n light: r.yellow[800],\n dark: r.yellow[10]\n }\n },\n danger: {\n background: {\n light: r.red[10],\n dark: r.red[800]\n },\n default: {\n light: r.red[400],\n dark: r.red[300]\n },\n hover: {\n light: r.red[600],\n dark: r.red[75]\n },\n accessible: {\n light: r.red[800],\n dark: r.red[10]\n }\n },\n \"system-neutral\": {\n \"grey-0\": {\n light: r.grey[0],\n dark: r.grey[1e3]\n },\n \"grey-1\": {\n light: r.grey[10],\n dark: r.grey[950]\n },\n \"grey-2\": {\n light: r.grey[100],\n dark: r.grey[900]\n },\n \"grey-3\": {\n light: r.grey[300],\n dark: r.grey[800]\n },\n \"grey-4\": {\n light: r.grey[400],\n dark: r.grey[700]\n },\n \"grey-5\": {\n light: r.grey[600],\n dark: r.grey[600]\n },\n \"grey-6\": {\n light: r.grey[700],\n dark: r.grey[400]\n },\n \"grey-7\": {\n light: r.grey[800],\n dark: r.grey[300]\n },\n \"grey-8\": {\n light: r.grey[900],\n dark: r.grey[100]\n },\n \"grey-9\": {\n light: r.grey[950],\n dark: r.grey[10]\n },\n \"grey-10\": {\n light: r.grey[1e3],\n dark: r.grey[0]\n }\n },\n red: {\n default: {\n light: r.red[400],\n dark: r.red[300]\n },\n accessible: {\n light: r.red[600],\n dark: r.red[100]\n }\n },\n orange: {\n default: {\n light: r.orange[400],\n dark: r.orange[300]\n },\n accessible: {\n light: r.orange[600],\n dark: r.orange[100]\n }\n },\n yellow: {\n default: {\n light: r.yellow[400],\n dark: r.yellow[300]\n },\n accessible: {\n light: r.yellow[600],\n dark: r.yellow[100]\n }\n },\n green: {\n default: {\n light: r.green[400],\n dark: r.green[300]\n },\n accessible: {\n light: r.green[600],\n dark: r.green[100]\n }\n },\n mint: {\n default: {\n light: r.mint[400],\n dark: r.mint[300]\n },\n accessible: {\n light: r.mint[600],\n dark: r.mint[100]\n }\n },\n teal: {\n default: {\n light: r.teal[400],\n dark: r.teal[300]\n },\n accessible: {\n light: r.teal[600],\n dark: r.teal[100]\n }\n },\n cyan: {\n default: {\n light: r.cyan[400],\n dark: r.cyan[300]\n },\n accessible: {\n light: r.cyan[600],\n dark: r.cyan[100]\n }\n },\n blue: {\n default: {\n light: r.blue[400],\n dark: r.blue[300]\n },\n accessible: {\n light: r.blue[600],\n dark: r.blue[100]\n }\n },\n indigo: {\n default: {\n light: r.indigo[400],\n dark: r.indigo[300]\n },\n accessible: {\n light: r.indigo[600],\n dark: r.indigo[100]\n }\n },\n purple: {\n default: {\n light: r.purple[400],\n dark: r.purple[300]\n },\n accessible: {\n light: r.purple[600],\n dark: r.purple[100]\n }\n },\n pink: {\n default: {\n light: r.pink[400],\n dark: r.pink[300]\n },\n accessible: {\n light: r.pink[600],\n dark: r.pink[100]\n }\n },\n brown: {\n default: {\n light: r.brown[400],\n dark: r.brown[300]\n },\n accessible: {\n light: r.brown[600],\n dark: r.brown[100]\n }\n }\n}, Z0 = () => {\n};\nexport {\n c2 as Button,\n E0 as CText,\n a0 as CodeBlock,\n p0 as CopyButton,\n T0 as DataText,\n k0 as Dropdown,\n H0 as FullScreenModal,\n _0 as Hyperlink,\n A0 as InfoBox,\n f0 as InplaceInput,\n U2 as LineBreakText,\n D0 as LinkButton,\n L0 as List,\n M0 as Loader,\n l0 as Logo,\n R0 as LogoText,\n N0 as MCText,\n V0 as Markdown,\n B0 as MenuGroupModal,\n y as NText,\n k2 as NavPill,\n t0 as NavTab,\n C0 as Search,\n m0 as Select,\n j2 as Separator,\n y0 as SignalButton,\n v0 as TextInput,\n w0 as Toggle,\n j0 as ToggleSimple,\n P0 as Tooltip,\n F0 as TwoLevelSelector,\n h0 as capitalize,\n r as colors,\n g as cx,\n Z0 as includeGlobalStyles,\n q0 as nemmeDark,\n S0 as nemmeDarkText,\n O0 as nemmeLight,\n $0 as nemmeLightText,\n u0 as range,\n I0 as semanticColors,\n b0 as splitDotSpaceKeepDot,\n i2 as useColorScheme,\n l2 as useDismissable,\n L as variantToClassName\n};\n//# sourceMappingURL=index.es.js.map\n","import { Button, cx, NText } from '@nemme/ui-kit';\nimport { CaretLeftIcon, CaretRightIcon, XIcon } from '@phosphor-icons/react';\nimport { FC, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n children: ReactNode;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\nexport const QuestionWrapper: FC<Props> = ({\n title,\n icon,\n description,\n image,\n children,\n onPrevious,\n onNext,\n onQuit,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border relative',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick'\n )}\n >\n <div className=\"flex flex-col justify-between order-2 md:order-1\">\n <div className=\"flex flex-col\">\n <div className=\"flex flex-col gap-1 md:gap-2 pb-3\">\n {icon && (\n <div\n className={cx('h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2', !image ? 'block' : 'hidden md:block')}\n >\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => (\n <NText significance=\"secondary\" key={index}>\n {text.trim()}\n </NText>\n ))}\n </div>\n {children}\n </div>\n <div className=\"flex justify-end pt-4 gap-2\">\n {hasPreviousStep && (\n <Button\n variant=\"subtle\"\n onClick={onPrevious}\n iconBefore={<CaretLeftIcon />}\n disabled={!onPrevious}\n text={t('Previous')}\n />\n )}\n <Button\n variant=\"subtle\"\n onClick={onNext}\n iconAfter={<CaretRightIcon />}\n disabled={!onNext || !isValid}\n text={hasNextStep ? t('Next') : t('Submit')}\n />\n </div>\n {onQuit && (\n <Button\n className=\"absolute -top-2 -right-2\"\n variant=\"secondary\"\n size=\"xsmall\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Alternatives = {\n id: number;\n text: string;\n};\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n alternatives: Alternatives[];\n onAlternativeSelect: (id: number) => void;\n selectedAlternatives: number[];\n maxAlternatives?: number;\n verticalAlignment?: boolean;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionChoice: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n alternatives = [],\n onAlternativeSelect,\n selectedAlternatives,\n maxAlternatives,\n verticalAlignment,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto scrollbar-thin\">\n {maxAlternatives === 1 ? (\n <div\n className={cx(\n 'flex py-3 md:py-4 gap-2 items-end md:items-start justify-end md:justify-start',\n verticalAlignment ? 'flex-col' : 'flex-wrap'\n )}\n >\n {alternatives.map(alternative => (\n <div key={alternative.id}>\n <button\n onClick={() => onAlternativeSelect(alternative.id)}\n className=\"flex md:flex-row-reverse items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark\"\n >\n <NText variant=\"B1Button\">{alternative.text}</NText>\n <Option size={20} selected={selectedAlternatives.includes(alternative.id)} />\n </button>\n </div>\n ))}\n </div>\n ) : (\n <div\n className={cx(\n 'flex py-3 md:py-4 gap-2 justify-end md:justify-start items-end md:items-start',\n verticalAlignment ? 'flex-col' : 'flex-wrap'\n )}\n >\n {alternatives.map(alternative => (\n <div key={alternative.id}>\n <button\n onClick={() => onAlternativeSelect(alternative.id)}\n className={cx(\n 'flex items-center gap-2 p-3 justify-end rounded-lg border shrink',\n selectedAlternatives.includes(alternative.id)\n ? 'text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-button-light dark:bg-secondary-action-button-dark'\n : 'text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark'\n )}\n >\n <NText\n variant=\"B1Button\"\n significance={selectedAlternatives.includes(alternative.id) ? 'quaternary' : 'primary'}\n >\n {alternative.text}\n </NText>\n </button>\n </div>\n ))}\n </div>\n )}\n </div>\n </QuestionWrapper>\n );\n};\n\ntype OptionProps = {\n size?: number;\n strokeColor?: string;\n fillColor?: string;\n selected?: boolean;\n};\n\nconst Option: FC<OptionProps> = ({ size = 16, strokeColor = 'currentColor', fillColor = 'none', selected = false }) => {\n const viewBoxSize = size + 1; // Adding 1 for padding\n const center = viewBoxSize / 2;\n const radius = (size - 2) / 2; // Slightly smaller to account for stroke\n\n return (\n <svg\n className=\"shrink-0\"\n width={size}\n height={size}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n fill={selected ? fillColor : 'none'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n stroke={strokeColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n {selected && (\n <circle\n cx={center}\n cy={center}\n r={radius - 3} // Inner circle for selected state\n fill={strokeColor}\n />\n )}\n </svg>\n );\n};\n","import { cx, NText, variantToClassName } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n\n inputText: string;\n setInputText: (text: string) => void;\n maxCharacters?: number;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionText: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n inputText,\n setInputText,\n maxCharacters,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col py-3 gap-2\">\n {maxCharacters && (\n <div className=\"flex items-center justify-between\">\n <NText significance=\"secondary\">{t('Max {{maxCharacters}} characters', { maxCharacters })}</NText>\n <NText significance=\"secondary\">{`${inputText.length}/${maxCharacters}`}</NText>\n </div>\n )}\n <div className=\"flex flex-col relative\">\n <NText\n as=\"div\"\n className={cx(\n 'overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark'\n )}\n >\n {inputText}\n </NText>\n <textarea\n id=\"primary\"\n placeholder={t('Type your answer here')}\n className={cx(\n 'absolute inset-0 resize-none',\n 'overflow-hidden break-words outline-hidden resize-none material-medium',\n 'rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark',\n `text-label-primary-light dark:text-label-primary-dark`,\n variantToClassName['B1']\n )}\n value={inputText}\n onChange={e => setInputText(e.target.value)}\n />\n </div>\n </div>\n </QuestionWrapper>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n /** This is the button section and the absolute exit button in top right. */\n children: ReactNode;\n wrapperClassName?: string;\n};\nexport const TransitionWrapper: FC<Props> = ({ title, icon, description, image, children, wrapperClassName }) => {\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick',\n wrapperClassName\n )}\n >\n <div className=\"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1\">\n <div className=\"flex flex-col gap-6 md:gap-8\">\n <div className=\"flex flex-col gap-2 md:gap-4\">\n {icon && (\n <div className={cx('h-8 w-8 rounded-lg overflow-hidden', !image ? 'block' : 'hidden md:block')}>\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n </div>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => <NText key={index}>{text.trim()}</NText>)}\n </div>\n {children}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { ArrowSquareOutIcon, XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit: () => void;\n externalLink?: string;\n};\n\nexport const TransitionEnd: FC<Props> = ({ title, icon, description, image, quitText, onQuit, externalLink }) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image}>\n <div className=\"flex justify-end gap-2\">\n {externalLink ? (\n <Button\n variant=\"secondary\"\n text={quitText}\n iconAfter={<ArrowSquareOutIcon />}\n onClick={() => {\n window.open(externalLink, '_blank');\n onQuit();\n }}\n />\n ) : (\n <Button variant=\"secondary\" onClick={onQuit} text={quitText} />\n )}\n </div>\n {externalLink && (\n <Button\n className=\"absolute -top-2 -right-2 md:-top-4 md:-right-4\"\n variant=\"secondary\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n startText?: string;\n onStart?: () => void;\n};\n\nexport const TransitionStart: FC<Props> = ({\n title,\n icon,\n description,\n image,\n quitText,\n onQuit,\n startText,\n onStart\n}) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image} wrapperClassName=\"relative\">\n <div className=\"flex justify-end gap-2\">\n {onQuit && quitText && <Button variant=\"subtle\" text={quitText} onClick={onQuit} />}\n <Button variant=\"secondary\" text={startText} onClick={onStart} />\n </div>\n {onQuit && (\n <Button\n className=\"absolute -top-2 -right-2\"\n variant=\"secondary\"\n size=\"xsmall\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import {\n getDefaultOptions,\n setDefaultOptions as setInternalDefaultOptions,\n} from \"./_lib/defaultOptions.js\";\n\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param options - An object with options\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport function setDefaultOptions(options) {\n const result = {};\n const defaultOptions = getDefaultOptions();\n\n for (const property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n // [TODO] I challenge you to fix the type\n result[property] = defaultOptions[property];\n }\n }\n\n for (const property in options) {\n if (Object.prototype.hasOwnProperty.call(options, property)) {\n if (options[property] === undefined) {\n // [TODO] I challenge you to fix the type\n delete result[property];\n } else {\n // [TODO] I challenge you to fix the type\n result[property] = options[property];\n }\n }\n }\n\n setInternalDefaultOptions(result);\n}\n\n// Fallback for modularized imports:\nexport default setDefaultOptions;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\nimport { formatLong } from \"./en-GB/_lib/formatLong.js\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n code: \"en-GB\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import { setDefaultOptions } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport { config } from './config';\nimport en from './translations/en.json';\nimport nb from './translations/nb.json';\nsetDefaultOptions({ locale: enGB });\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n debug: config.debug,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n resources: {\n en: {\n translation: en\n },\n nb: {\n tranlation: nb\n }\n }\n });\n\nexport default i18n;\n","export type FormErrorType = 'FETCH_ERROR' | 'SUBMISSION_ERROR';\n\nexport class FormError extends Error {\n errorType: FormErrorType;\n\n constructor(errorType: FormErrorType, message?: string) {\n super(message);\n this.name = 'FormError';\n this.errorType = errorType;\n }\n}\n\nexport type FormConfig = {\n zIndex?: number;\n theme?: 'light' | 'dark';\n onFormError?: (error: FormError) => void;\n};\n\nexport type ProductType = 'FRM' | 'TRK';\n\nexport type QuestionType = 'choice' | 'score' | 'text' | 'ranking';\n\nexport type StartTransition = {\n title: string;\n description?: string;\n image?: string;\n includeOptOut: boolean;\n customStartButton: boolean;\n startButtonText?: string;\n customOptOutButton: boolean;\n optOutButtonText?: string;\n};\n\nexport type EndTransition = {\n title: string;\n description?: string;\n image?: string;\n customEndButton: boolean;\n endButtonText?: string;\n customEndButtonLink: boolean;\n endButtonLink?: string;\n};\n\nexport type BaseQuestion = {\n id: number;\n questionType: QuestionType;\n title: string;\n description?: string;\n image?: string;\n required: boolean;\n order: number;\n};\n\nexport type TextQuestion = BaseQuestion & {\n limited: boolean;\n maxChars?: number;\n};\n\nexport type ChoiceQuestion = BaseQuestion & {\n maxSelections: number;\n verticalAlignment: boolean;\n alternatives: ChoiceQuestionAlternative[];\n};\n\nexport type ChoiceQuestionAlternative = {\n id: number;\n text: string;\n order: number;\n};\n\nexport type Question = TextQuestion | ChoiceQuestion;\n\nexport type Form = {\n name: string;\n slug: string;\n icon?: string;\n startTransition?: StartTransition;\n endTransition?: EndTransition;\n questions: Question[];\n};\n","import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { I18nextProvider } from 'react-i18next';\nimport { FormWrapper } from '.';\nimport i18n from '../i18n';\nimport { httpClient } from '../networking';\nimport { Form, FormConfig, FormError } from '../types/forms';\nimport { Logger } from '../utils';\nimport { FormState } from './form-wrapper/form-wrapper';\n\nexport type FormResponse = {\n id: number;\n questions: QuestionResponse[];\n};\n\ntype QuestionResponse = {\n id: number;\n answer: string | number | number[];\n};\n\nexport class FormManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private config: FormConfig;\n\n constructor(logger: Logger, headers: Record<string, string>, config: FormConfig = {}) {\n this.logger = logger;\n this.headers = headers;\n this.config = config;\n }\n\n public async fetchAndDisplayForm(\n productSlug: string,\n onDismiss: () => Promise<void>,\n onComplete: (formState?: FormState) => Promise<void>\n ): Promise<void> {\n this.logger.debug(`Fetching form config for: ${productSlug}`);\n\n try {\n const response = await httpClient.get<Form>(`/external/forms/${productSlug}`, {\n headers: this.headers\n });\n\n if (!response.ok && this.config.onFormError) {\n const error = new FormError('FETCH_ERROR', response.error?.message);\n this.config.onFormError(error);\n }\n\n if (response.ok && response.data) {\n this.logger.info(`Form config loaded for: ${productSlug}`, response.data);\n this.displayForm(response.data, onDismiss, onComplete);\n } else {\n this.logger.warn(`No form config found for: ${productSlug}`);\n }\n } catch (err) {\n this.logger.error(`Failed to fetch form config for: ${productSlug}`, err);\n if (this.config.onFormError) {\n const error = new FormError('FETCH_ERROR');\n this.config.onFormError(error);\n }\n }\n }\n\n private displayForm(form: Form, onDismiss: () => Promise<void>, onComplete: () => Promise<void>) {\n // Create a container div for the form\n const container = document.createElement('div');\n container.id = 'nm';\n document.body.appendChild(container);\n\n // Create React root and render the component\n const root = createRoot(container);\n const formElement = createElement(\n I18nextProvider,\n { i18n },\n createElement(FormWrapper, {\n form,\n onDismiss: async (formState: FormState) => {\n await onDismiss();\n root.unmount();\n container.remove();\n this.logger.info('Form dismissed', formState);\n },\n onComplete: async (formState: FormState) => {\n await onComplete();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form completed', formState);\n },\n zIndex: this.config.zIndex\n })\n );\n\n root.render(formElement);\n }\n\n private async postFormResponse(form: Form, formState: FormState) {\n this.logger.info('Posting form response', formState);\n const response = await httpClient.post<FormResponse>(`/external/forms/${form.slug}`, formState, {\n headers: this.headers\n });\n if (!response.ok && this.config.onFormError) {\n const error = new FormError('SUBMISSION_ERROR', response.error?.message);\n this.config.onFormError(error);\n } else {\n this.logger.info('Form response posted', response.data);\n }\n }\n}\n"],"names":["isString","obj","defer","res","rej","promise","resolve","reject","makeString","object","copy","a","s","t","m","lastOfPathSeparatorRegExp","cleanKey","key","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","k","e","p","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","value","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","pattern","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","c","r","matched","ki","deepFind","tokens","current","i","next","nextPath","j","getCleanedCode","code","consoleLogger","args","type","Logger","concreteLogger","options","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","ResourceStore","ns","index","lng","ignoreJSONStructure","result","resources","deep","pack","v","postProcessor","module","processors","translator","processor","PATH_KEY","createProxy","state","handler","proxy","keysFromSelector","selector","opts","checkedLoadedFor","shouldHandleAsObject","Translator","services","o","opt","resolved","isObject","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","l","specificDefaultValue","defaultForMissing","language","suffixes","suffix","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngScOnly","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","count","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","match","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","keyEndIndex","elem","f","parseFormatStr","formatStr","formatName","formatOptions","optStr","rest","trimmedKey","createCachedFormatter","fn","cache","optForCache","frm","createNonCachedFormatter","Formatter","cf","formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","q","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","n","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","get","ret","transformOptions","noop","bindMemberFunctions","inst","supportNoticeShown","usesLocize","b","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","done","setLng","fl","keyPrefix","fixedT","resultKey","fallbackLng","lastLng","loadNotPending","loadState","preResult","preloaded","newLngs","ti","rtlLngs","instance","forkResourceStore","mergedOptions","clone","clonedData","prev","acc","mergedInterpolation","mergedForInterpolator","warn","i18n","msg","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","loadLanguages","hasLoadedNamespace","i18nInstance","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","unescape","text","defaultOptions","setDefaults","getDefaults","setI18n","getI18n","initReactI18next","I18nContext","createContext","ReportNamespaces","React","require$$0","is","x","y","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","shimModule","notReadyT","optsOrDefaultValue","notReadySnapshot","dummySubscribe","useTranslation","props","i18nFromProps","i18nFromContext","defaultNSFromContext","useContext","i18nOptions","useMemo","useSuspense","nsOrContext","unstableNamespaces","revisionRef","useRef","useCallback","bindI18n","bindI18nStore","wrappedCallback","snapshotRef","calculatedReady","currentLng","currentRevision","lastSnapshot","newSnapshot","loadCount","setLoadCount","ready","useSyncExternalStore","onLoaded","finalI18n","wrapperRef","wrapperLangRef","createI18nWrapper","original","descriptors","wrapper","lang","i18nWrapper","arr","I18nextProvider","defaultNS","children","createElement","Step","step","form","formState","onDismiss","onNextStep","onPreviousStep","onUpdateResponse","stepInfo","stepOrder","currentOrder","questionIndex","title","description","image","includeOptOut","customStartButton","startButtonText","customOptOutButton","optOutButtonText","jsx","TransitionStart","customEndButton","endButtonText","customEndButtonLink","endButtonLink","TransitionEnd","question","alternatives","maxSelections","required","verticalAlignment","selectedAlternatives","isValid","QuestionChoice","alternativeIndex","updated","maxChars","limited","inputText","QuestionText","FormWrapper","onComplete","zIndex","lastStepIndex","setFormState","updateResponse","questionId","answer","navigateToStep","nextStep","completedFormState","previousStep","d","g","w","h","clsx","__create","__defProp","__defProps","__getOwnPropDesc","__getOwnPropDescs","__getOwnPropNames","__getOwnPropSymbols","__getProtoOf","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","__objRest","exclude","__commonJS","mod","__export","all","__copyProps","to","from","except","desc","__toESM","isNodeMode","require_prism","exports","Prism2","uniqueId","plainTextGrammar","_","encode","Token","deepClone","visited","id","element","className","defaultActivation","no","classList","redef","lang2","inside","before","insert","root","grammar","token","newToken","old","DFS","objId","property","propertyType","env","tokenList","LinkedList","addAfter","matchGrammar","toArray","hooks2","callbacks","content","alias","matchedStr","stringify","aliases","attributes","matchPattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","patternObj","greedy","flags","currentNode","removeCount","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","node","newNode","array","Prism","e2","e3","e4","n2","t2","a2","r2","n3","t3","u","s2","a3","l2","u2","themes_exports","dracula_default","duotoneDark_default","duotoneLight_default","github_default","gruvboxMaterialDark_default","gruvboxMaterialLight_default","jettwaveDark_default","jettwaveLight_default","nightOwl_default","nightOwlLight_default","oceanicNext_default","okaidia_default","oneDark_default","oneLight_default","palenight_default","shadesOfPurple_default","synthwave84_default","ultramin_default","vsDark_default","vsLight_default","theme","theme2","theme3","theme4","theme5","theme6","colors","theme7","theme8","theme9","theme10","theme11","theme12","theme13","theme14","theme15","theme16","theme17","theme18","theme19","theme20","useGetLineProps","themeDictionary","_a","_b","style","line","output","useGetTokenProps","styleForToken","useCallback2","types","empty","clsx2","newlineRe","normalizeEmptyLines","appendTypes","add","typesSize","normalizeTokens","typeArrStack","tokenArrStack","tokenArrIndexStack","tokenArrSizeStack","currentLine","splitByNewlines","newlineCount","i2","normalizeTokens_default","useTokenize","prism","prismConfig","themeToDict","theme21","plain","themeDict","themeEntry","languages2","accStyle","themeToDict_default","Highlight","_language","getLineProps","getTokenProps","Highlight2","shouldHighlightLine","highlights","highlight","min","max","shouldHighlightToken","word","highlightWord","splitStringByWords","words","createUseContext","context","errMessage","ctx","forwardRef","component","reactForwardRef","RootContext","LineContext","useRootContext","useLineContext","Code","as","ref","lines","highlightProps","Tag","_jsx","lineNumber","isLineHighlighted","LineContent","contentWithSpaces","LineNumber","O","A","h2","D2","p2","A2","v2","M2","c2","R2","V2","N","X","I","P2","L","W2","G2","QuestionWrapper","icon","onPrevious","onNext","onQuit","hasPreviousStep","hasNextStep","jsxs","cx","NText","Button","CaretLeftIcon","CaretRightIcon","XIcon","onAlternativeSelect","maxAlternatives","alternative","Option","size","strokeColor","fillColor","selected","viewBoxSize","center","radius","setInputText","maxCharacters","variantToClassName","TransitionWrapper","wrapperClassName","quitText","externalLink","ArrowSquareOutIcon","startText","onStart","getDefaultOptions","setDefaultOptions","newOptions","formatDistanceLocale","formatDistance","tokenValue","buildFormatLongFn","width","formatRelativeLocale","formatRelative","_date","_baseDate","_options","buildLocalizeFn","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","rem100","localize","quarter","buildMatchFn","string","matchResult","matchedString","parsePatterns","findIndex","findKey","predicate","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","setInternalDefaultOptions","dateFormats","timeFormats","dateTimeFormats","formatLong","enGB","slice","forEach","defaults","hasXSS","input","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","ca","cookie$1","_ref","lookupCookie","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","hash","lookupHash","lookupFromHashIndex","query","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","Browser","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","LanguageDetector","config","en","FormError","errorType","message","FormManager","logger","headers","productSlug","response","httpClient","container","createRoot","formElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,43,44,45,46,47,48,49]}
|
|
1
|
+
{"version":3,"file":"form-manager-Cf8vMLbu.js","sources":["../../../node_modules/i18next/dist/esm/i18next.js","../../../node_modules/react-i18next/dist/es/utils.js","../../../node_modules/react-i18next/dist/es/unescape.js","../../../node_modules/react-i18next/dist/es/defaults.js","../../../node_modules/react-i18next/dist/es/i18nInstance.js","../../../node_modules/react-i18next/dist/es/initReactI18next.js","../../../node_modules/react-i18next/dist/es/context.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/react-i18next/dist/es/useTranslation.js","../../../node_modules/react-i18next/dist/es/I18nextProvider.js","../../src/forms/form-wrapper/step.tsx","../../src/forms/form-wrapper/form-wrapper.tsx","../../../node_modules/@phosphor-icons/react/dist/defs/ArrowSquareOut.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/CaretLeft.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/CaretRight.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/CircleNotch.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../../node_modules/@phosphor-icons/react/dist/lib/context.es.js","../../../node_modules/@phosphor-icons/react/dist/lib/IconBase.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/ArrowSquareOut.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CaretLeft.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CaretRight.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CircleNotch.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/X.es.js","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/prism-react-renderer/dist/index.mjs","../../../node_modules/react-code-block/dist/shared/utils.js","../../../node_modules/react-code-block/dist/contexts.js","../../../node_modules/react-code-block/dist/code-block.js","../../../ui-kit/dist/index.es.js","../../src/forms/question-wrapper.tsx","../../src/forms/question-choice/question-choice.tsx","../../src/forms/question-text/question-text.tsx","../../src/forms/transition-wrapper.tsx","../../src/forms/transition-end/transition-end.tsx","../../src/forms/transition-start/transition-start.tsx","../../../node_modules/date-fns/_lib/defaultOptions.js","../../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../../node_modules/date-fns/locale/en-US/_lib/match.js","../../../node_modules/date-fns/setDefaultOptions.js","../../../node_modules/date-fns/locale/en-GB/_lib/formatLong.js","../../../node_modules/date-fns/locale/en-GB.js","../../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../../src/i18n.ts","../../src/types/forms.ts","../../src/forms/form-manager.ts"],"sourcesContent":["const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n return path.join(opts?.keySeparator ?? '.');\n}\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n if (resolved?.res === undefined) return false;\n const isObject = shouldHandleAsObject(resolved.res);\n if (opt.returnObjects === false && isObject) {\n return false;\n }\n return true;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (typeof Intl === 'undefined') {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${regexEscape(sep)}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || (matchedDoubleQuotes?.length ?? 0) % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nlet supportNoticeShown = false;\nconst usesLocize = inst => {\n if (inst?.modules?.backend?.name?.indexOf('Locize') > 0) return true;\n if (inst?.modules?.backend?.constructor?.name?.indexOf('Locize') > 0) return true;\n if (inst?.options?.backend?.backends) {\n if (inst.options.backend.backends.some(b => b?.name?.indexOf('Locize') > 0 || b?.constructor?.name?.indexOf('Locize') > 0)) return true;\n }\n return false;\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n if (typeof this.options.overloadTranslationOptionHandler !== 'function') {\n this.options.overloadTranslationOptionHandler = defOpts.overloadTranslationOptionHandler;\n }\n if (this.options.showSupportNotice !== false && !usesLocize(this) && !supportNoticeShown) {\n if (typeof console !== 'undefined' && typeof console.info !== 'undefined') console.info('🌐 i18next is maintained with support from Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙');\n supportNoticeShown = true;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n const usingLegacyFormatFunction = this.options.interpolation.format && this.options.interpolation.format !== defOpts.interpolation.format;\n if (usingLegacyFormatFunction) {\n this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`);\n }\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, {\n ...this.options,\n ...opts\n });\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, {\n ...this.options,\n ...opts\n });\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n const instance = new I18n(options, callback);\n instance.createInstance = I18n.createInstance;\n return instance;\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n if (options.interpolation) {\n const defOpts = get();\n const mergedInterpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation,\n ...options.interpolation\n };\n const mergedForInterpolator = {\n ...mergedOptions,\n interpolation: mergedInterpolation\n };\n clone.services.interpolator = new Interpolator(mergedForInterpolator);\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, keysFromSelector as keyFromSelector, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape,\n transDefaultProps: undefined\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import { useContext, useCallback, useMemo, useEffect, useRef, useState } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n};\nconst notReadySnapshot = {\n t: notReadyT,\n ready: false\n};\nconst dummySubscribe = () => () => {};\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n }\n const i18nOptions = useMemo(() => ({\n ...getDefaults(),\n ...i18n?.options?.react,\n ...props\n }), [i18n, props]);\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n const nsOrContext = ns || defaultNSFromContext || i18n?.options?.defaultNS;\n const unstableNamespaces = isString(nsOrContext) ? [nsOrContext] : nsOrContext || ['translation'];\n const namespaces = useMemo(() => unstableNamespaces, unstableNamespaces);\n i18n?.reportNamespaces?.addUsedNamespaces?.(namespaces);\n const revisionRef = useRef(0);\n const subscribe = useCallback(callback => {\n if (!i18n) return dummySubscribe;\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n const wrappedCallback = () => {\n revisionRef.current += 1;\n callback();\n };\n if (bindI18n) i18n.on(bindI18n, wrappedCallback);\n if (bindI18nStore) i18n.store.on(bindI18nStore, wrappedCallback);\n return () => {\n if (bindI18n) bindI18n.split(' ').forEach(e => i18n.off(e, wrappedCallback));\n if (bindI18nStore) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, wrappedCallback));\n };\n }, [i18n, i18nOptions]);\n const snapshotRef = useRef();\n const getSnapshot = useCallback(() => {\n if (!i18n) {\n return notReadySnapshot;\n }\n const calculatedReady = !!(i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const currentLng = props.lng || i18n.language;\n const currentRevision = revisionRef.current;\n const lastSnapshot = snapshotRef.current;\n if (lastSnapshot && lastSnapshot.ready === calculatedReady && lastSnapshot.lng === currentLng && lastSnapshot.keyPrefix === keyPrefix && lastSnapshot.revision === currentRevision) {\n return lastSnapshot;\n }\n const calculatedT = i18n.getFixedT(currentLng, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const newSnapshot = {\n t: calculatedT,\n ready: calculatedReady,\n lng: currentLng,\n keyPrefix,\n revision: currentRevision\n };\n snapshotRef.current = newSnapshot;\n return newSnapshot;\n }, [i18n, namespaces, keyPrefix, i18nOptions, props.lng]);\n const [loadCount, setLoadCount] = useState(0);\n const {\n t,\n ready\n } = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n useEffect(() => {\n if (i18n && !ready && !useSuspense) {\n const onLoaded = () => setLoadCount(c => c + 1);\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n }\n }, [i18n, props.lng, namespaces, ready, useSuspense, loadCount]);\n const finalI18n = i18n || {};\n const wrapperRef = useRef(null);\n const wrapperLangRef = useRef();\n const createI18nWrapper = original => {\n const descriptors = Object.getOwnPropertyDescriptors(original);\n if (descriptors.__original) delete descriptors.__original;\n const wrapper = Object.create(Object.getPrototypeOf(original), descriptors);\n if (!Object.prototype.hasOwnProperty.call(wrapper, '__original')) {\n try {\n Object.defineProperty(wrapper, '__original', {\n value: original,\n writable: false,\n enumerable: false,\n configurable: false\n });\n } catch (_) {}\n }\n return wrapper;\n };\n const ret = useMemo(() => {\n const original = finalI18n;\n const lang = original?.language;\n let i18nWrapper = original;\n if (original) {\n if (wrapperRef.current && wrapperRef.current.__original === original) {\n if (wrapperLangRef.current !== lang) {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n } else {\n i18nWrapper = wrapperRef.current;\n }\n } else {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n }\n }\n const arr = [t, i18nWrapper, ready];\n arr.t = t;\n arr.i18n = i18nWrapper;\n arr.ready = ready;\n return arr;\n }, [t, finalI18n, ready, finalI18n.resolvedLanguage, finalI18n.language, finalI18n.languages]);\n if (i18n && useSuspense && !ready) {\n throw new Promise(resolve => {\n const onLoaded = () => resolve();\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n });\n }\n return ret;\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ChoiceQuestion, EndTransition, Form, Question, StartTransition, TextQuestion } from '../../types/forms';\nimport { QuestionChoice, QuestionText, TransitionEnd, TransitionStart } from '..';\nimport { FormState } from './form-wrapper';\n\ntype Props = {\n step: number;\n form: Form;\n formState: FormState;\n onDismiss: (formState: FormState) => void;\n onNextStep: () => void;\n onPreviousStep: () => void;\n onUpdateResponse: (questionId: number, answer: string | number[]) => void;\n};\n\ntype StepInfo = {\n type: 'start' | 'question' | 'end';\n transition?: StartTransition | EndTransition;\n questionIndex?: number;\n question?: Question;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const Step: FC<Props> = ({ step, form, formState, onDismiss, onNextStep, onPreviousStep, onUpdateResponse }) => {\n const { t } = useTranslation();\n\n // Helper function to determine what type of step we're on\n const getStepInfo = (stepOrder: number): StepInfo => {\n let currentOrder = 0;\n\n // Check if this is the start transition\n if (form.startTransition) {\n if (stepOrder === currentOrder) {\n return {\n type: 'start' as const,\n transition: form.startTransition,\n hasPreviousStep: false,\n hasNextStep: form.questions.length > 0 || !!form.endTransition\n };\n }\n currentOrder++;\n }\n\n // Check if this is a question\n const questionIndex = stepOrder - currentOrder;\n if (questionIndex >= 0 && questionIndex < form.questions.length) {\n return {\n type: 'question' as const,\n questionIndex,\n question: form.questions[questionIndex],\n hasPreviousStep: stepOrder > 0,\n hasNextStep: stepOrder < form.questions.length - 1 || !!form.endTransition\n };\n }\n currentOrder += form.questions.length;\n\n // Check if this is the end transition\n if (form.endTransition && stepOrder === currentOrder) {\n return {\n type: 'end' as const,\n transition: form.endTransition,\n hasPreviousStep: stepOrder > 0,\n hasNextStep: false\n };\n }\n\n throw new Error('Invalid step order');\n };\n\n const stepInfo = getStepInfo(step);\n\n if (stepInfo.type === 'start') {\n const {\n title,\n description,\n image,\n includeOptOut,\n customStartButton,\n startButtonText,\n customOptOutButton,\n optOutButtonText\n } = stepInfo.transition as StartTransition;\n return (\n <TransitionStart\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={includeOptOut ? (customOptOutButton ? optOutButtonText : t('Quit')) : undefined}\n onQuit={includeOptOut ? () => onDismiss(formState) : undefined}\n startText={customStartButton ? startButtonText : t('Start')}\n onStart={onNextStep}\n />\n );\n }\n\n if (stepInfo.type === 'end') {\n const { title, description, image, customEndButton, endButtonText, customEndButtonLink, endButtonLink } =\n stepInfo.transition as EndTransition;\n return (\n <TransitionEnd\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={customEndButton ? endButtonText : t('Done')}\n onQuit={onNextStep}\n externalLink={customEndButtonLink ? endButtonLink : undefined}\n />\n );\n }\n\n if (stepInfo.type === 'question') {\n const { question } = stepInfo;\n if (!question) throw new Error('No question found');\n\n if (question.questionType === 'choice') {\n const { title, description, image, alternatives, maxSelections, required, verticalAlignment } =\n question as ChoiceQuestion;\n const selectedAlternatives = (formState.responses[question.id] as number[]) || [];\n const isValid =\n (maxSelections ? selectedAlternatives.length <= maxSelections || maxSelections === 4 : true) &&\n (required ? selectedAlternatives.length > 0 : true);\n return (\n <QuestionChoice\n title={title}\n description={description}\n image={image}\n alternatives={alternatives}\n onPrevious={onPreviousStep}\n onNext={onNextStep}\n icon={form.icon}\n maxAlternatives={maxSelections}\n verticalAlignment={verticalAlignment}\n onQuit={() => onDismiss(formState)}\n selectedAlternatives={selectedAlternatives}\n onAlternativeSelect={(alternativeIndex: number) => {\n // Handle single or multiple selection based on question config\n const isMultiple = maxSelections > 1;\n if (isMultiple) {\n const current = selectedAlternatives;\n const updated = current.includes(alternativeIndex)\n ? current.filter(i => i !== alternativeIndex)\n : maxSelections && current.length >= maxSelections && maxSelections != 4\n ? current\n : [...current, alternativeIndex];\n onUpdateResponse(question.id, updated);\n } else {\n if (selectedAlternatives.includes(alternativeIndex)) {\n onUpdateResponse(question.id, []);\n } else {\n onUpdateResponse(question.id, [alternativeIndex]);\n }\n }\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n\n if (question.questionType === 'text') {\n const { title, description, image, maxChars, limited, required } = question as TextQuestion;\n const inputText = (formState.responses[question.id] as string) || '';\n const isValid =\n (limited && maxChars ? inputText.length <= maxChars : true) && (required ? inputText.length > 0 : true);\n\n return (\n <QuestionText\n title={title}\n icon={form.icon}\n description={description}\n onNext={onNextStep}\n onPrevious={onPreviousStep}\n onQuit={() => onDismiss(formState)}\n image={image}\n maxCharacters={limited ? maxChars : undefined}\n inputText={inputText}\n setInputText={(text: string) => {\n if (limited && maxChars && text.length > maxChars) return;\n onUpdateResponse(question.id, text);\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n }\n\n return null;\n};\n","import { FC, useCallback, useState } from 'react';\nimport { Form } from '../../types/forms';\nimport { Step } from './step';\n\nexport type FormState = {\n responses: Record<number, string | number[]>; // questionId -> response\n currentStep: number; // Sequential step number\n startedAt: Date;\n completedAt?: Date;\n};\n\nexport type Props = {\n form: Form;\n onDismiss: (formState: FormState) => Promise<void>;\n onComplete: (formState: FormState) => Promise<void>;\n zIndex?: number;\n};\n\nexport const FormWrapper: FC<Props> = ({ form, onDismiss, onComplete, zIndex = 100 }) => {\n // Calculate total steps: startTransition + questions + endTransition\n const totalSteps = (form.startTransition ? 1 : 0) + form.questions.length + (form.endTransition ? 1 : 0);\n const lastStepIndex = totalSteps - 1;\n\n const [formState, setFormState] = useState<FormState>({\n responses: {},\n currentStep: 0,\n startedAt: new Date()\n });\n\n const updateResponse = useCallback((questionId: number, answer: string | number[]) => {\n setFormState(prev => ({\n ...prev,\n responses: {\n ...prev.responses,\n [questionId]: answer\n }\n }));\n }, []);\n\n const navigateToStep = useCallback((stepOrder: number) => {\n setFormState(prev => ({\n ...prev,\n currentStep: stepOrder\n }));\n }, []);\n\n const nextStep = useCallback(() => {\n if (formState.currentStep < lastStepIndex) {\n navigateToStep(formState.currentStep + 1);\n } else {\n const completedFormState = {\n ...formState,\n completedAt: new Date()\n };\n onComplete(completedFormState);\n }\n }, [formState, lastStepIndex, navigateToStep, onComplete]);\n\n const previousStep = useCallback(() => {\n if (formState.currentStep > 0) {\n navigateToStep(formState.currentStep - 1);\n }\n }, [formState.currentStep, navigateToStep]);\n return (\n <div\n className=\"flex flex-col justify-center items-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark\"\n style={{ zIndex }}\n >\n <Step\n step={formState.currentStep}\n form={form}\n formState={formState}\n onDismiss={onDismiss}\n onNextStep={nextStep}\n onPreviousStep={previousStep}\n onUpdateResponse={updateResponse}\n />\n </div>\n );\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M160,48V208L80,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst t = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,128,96,208V48Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z\" }))\n ]\n]);\nexport {\n t as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M236,128a108,108,0,0,1-216,0c0-42.52,24.73-81.34,63-98.9A12,12,0,1,1,93,50.91C63.24,64.57,44,94.83,44,128a84,84,0,0,0,168,0c0-33.17-19.24-63.43-49-77.09A12,12,0,1,1,173,29.1C211.27,46.66,236,85.48,236,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,176A72,72,0,0,1,92,65.64a8,8,0,0,1,8,13.85,56,56,0,1,0,56,0,8,8,0,0,1,8-13.85A72,72,0,0,1,128,200Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230,128a102,102,0,0,1-204,0c0-40.18,23.35-76.86,59.5-93.45a6,6,0,0,1,5,10.9C58.61,60.09,38,92.49,38,128a90,90,0,0,0,180,0c0-35.51-20.61-67.91-52.5-82.55a6,6,0,0,1,5-10.9C206.65,51.14,230,87.82,230,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228,128a100,100,0,0,1-200,0c0-39.4,22.9-75.37,58.33-91.63a4,4,0,1,1,3.34,7.27C57.07,58.6,36,91.71,36,128a92,92,0,0,0,184,0c0-36.29-21.07-69.4-53.67-84.36a4,4,0,1,1,3.34-7.27C205.1,52.63,228,88.6,228,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import { createContext as r } from \"react\";\nconst o = r({\n color: \"currentColor\",\n size: \"1em\",\n weight: \"regular\",\n mirrored: !1\n});\nexport {\n o as IconContext\n};\n","import * as e from \"react\";\nimport { IconContext as h } from \"./context.es.js\";\nconst p = e.forwardRef(\n (s, a) => {\n const {\n alt: n,\n color: r,\n size: t,\n weight: o,\n mirrored: c,\n children: i,\n weights: m,\n ...x\n } = s, {\n color: d = \"currentColor\",\n size: l,\n weight: f = \"regular\",\n mirrored: g = !1,\n ...w\n } = e.useContext(h);\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: a,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t != null ? t : l,\n height: t != null ? t : l,\n fill: r != null ? r : d,\n viewBox: \"0 0 256 256\",\n transform: c || g ? \"scale(-1, 1)\" : void 0,\n ...w,\n ...x\n },\n !!n && /* @__PURE__ */ e.createElement(\"title\", null, n),\n i,\n m.get(o != null ? o : f)\n );\n }\n);\np.displayName = \"IconBase\";\nexport {\n p as default\n};\n","import * as r from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/ArrowSquareOut.es.js\";\nconst o = r.forwardRef((e, t) => /* @__PURE__ */ r.createElement(a, { ref: t, ...e, weights: m }));\no.displayName = \"ArrowSquareOutIcon\";\nconst n = o;\nexport {\n n as ArrowSquareOut,\n o as ArrowSquareOutIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretLeft.es.js\";\nconst t = e.forwardRef((o, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...o, weights: f }));\nt.displayName = \"CaretLeftIcon\";\nconst s = t;\nexport {\n s as CaretLeft,\n t as CaretLeftIcon\n};\n","import * as t from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/CaretRight.es.js\";\nconst e = t.forwardRef((o, r) => /* @__PURE__ */ t.createElement(a, { ref: r, ...o, weights: i }));\ne.displayName = \"CaretRightIcon\";\nconst s = e;\nexport {\n s as CaretRight,\n e as CaretRightIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/CircleNotch.es.js\";\nconst c = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(t, { ref: r, ...e, weights: a }));\nc.displayName = \"CircleNotchIcon\";\nconst s = c;\nexport {\n s as CircleNotch,\n c as CircleNotchIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst n = e;\nexport {\n n as X,\n e as XIcon\n};\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\nvar require_prism = __commonJS({\n \"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\"(exports, module) {\n var Prism2 = function() {\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0;\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/\\u00a0/g, \" \");\n }\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function(obj) {\n if (!obj[\"__id\"]) {\n Object.defineProperty(obj, \"__id\", { value: ++uniqueId });\n }\n return obj[\"__id\"];\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n switch (_.util.type(o)) {\n case \"Object\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = /** @type {Record<string, any>} */\n {};\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return (\n /** @type {any} */\n clone\n );\n case \"Array\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n /** @type {Array} */\n /** @type {any} */\n o.forEach(function(v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n default:\n return o;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function(element) {\n while (element) {\n var m = lang.exec(element.className);\n if (m) {\n return m[1].toLowerCase();\n }\n element = element.parentElement;\n }\n return \"none\";\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function(element, language) {\n element.className = element.className.replace(RegExp(lang, \"gi\"), \"\");\n element.classList.add(\"language-\" + language);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function(element, className, defaultActivation) {\n var no = \"no-\" + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function(id, redef) {\n var lang2 = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang2[key] = redef[key];\n }\n return lang2;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function(inside, before, insert, root) {\n root = root || /** @type {any} */\n _.languages;\n var grammar = root[inside];\n var ret = {};\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n var old = root[inside];\n root[inside] = ret;\n _.languages.DFS(_.languages, function(key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n var property = o[i];\n var propertyType = _.util.type(property);\n if (propertyType === \"Object\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === \"Array\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function(text, grammar, language) {\n var env = {\n code: text,\n grammar,\n language\n };\n _.hooks.run(\"before-tokenize\", env);\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.');\n }\n env.tokens = _.tokenize(env.code, env.grammar);\n _.hooks.run(\"after-tokenize\", env);\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function(text, grammar) {\n var rest = grammar.rest;\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n delete grammar.rest;\n }\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function(name, callback) {\n var hooks2 = _.hooks.all;\n hooks2[name] = hooks2[name] || [];\n hooks2[name].push(callback);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function(name, env) {\n var callbacks = _.hooks.all[name];\n if (!callbacks || !callbacks.length) {\n return;\n }\n for (var i = 0, callback; callback = callbacks[i++]; ) {\n callback(env);\n }\n }\n },\n Token\n };\n function Token(type, content, alias, matchedStr) {\n this.type = type;\n this.content = content;\n this.alias = alias;\n this.length = (matchedStr || \"\").length | 0;\n }\n Token.stringify = function stringify(o, language) {\n if (typeof o == \"string\") {\n return o;\n }\n if (Array.isArray(o)) {\n var s = \"\";\n o.forEach(function(e) {\n s += stringify(e, language);\n });\n return s;\n }\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: \"span\",\n classes: [\"token\", o.type],\n attributes: {},\n language\n };\n var aliases = o.alias;\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n _.hooks.run(\"wrap\", env);\n var attributes = \"\";\n for (var name in env.attributes) {\n attributes += \" \" + name + '=\"' + (env.attributes[name] || \"\").replace(/\"/g, \""\") + '\"';\n }\n return \"<\" + env.tag + ' class=\"' + env.classes.join(\" \") + '\"' + attributes + \">\" + env.content + \"</\" + env.tag + \">\";\n };\n function matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n if (match && lookbehind && match[1]) {\n var lookbehindLength = match[1].length;\n match.index += lookbehindLength;\n match[0] = match[0].slice(lookbehindLength);\n }\n return match;\n }\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + \",\" + j) {\n return;\n }\n var patternObj = patterns[j];\n var inside = patternObj.inside;\n var lookbehind = !!patternObj.lookbehind;\n var greedy = !!patternObj.greedy;\n var alias = patternObj.alias;\n if (greedy && !patternObj.pattern.global) {\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + \"g\");\n }\n var pattern = patternObj.pattern || patternObj;\n for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n var str = currentNode.value;\n if (tokenList.length > text.length) {\n return;\n }\n if (str instanceof Token) {\n continue;\n }\n var removeCount = 1;\n var match;\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind);\n if (!match || match.index >= text.length) {\n break;\n }\n var from = match.index;\n var to = match.index + match[0].length;\n var p = pos;\n p += currentNode.value.length;\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n }\n p -= currentNode.value.length;\n pos = p;\n if (currentNode.value instanceof Token) {\n continue;\n }\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === \"string\"); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n removeCount--;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n match = matchPattern(pattern, 0, str, lookbehind);\n if (!match) {\n continue;\n }\n }\n var from = match.index;\n var matchStr = match[0];\n var before = str.slice(0, from);\n var after = str.slice(from + matchStr.length);\n var reach = pos + str.length;\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n var removeFrom = currentNode.prev;\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n if (removeCount > 1) {\n var nestedRematch = {\n cause: token + \",\" + j,\n reach\n };\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach;\n }\n }\n }\n }\n }\n }\n function LinkedList() {\n var head = { value: null, prev: null, next: null };\n var tail = { value: null, prev: head, next: null };\n head.next = tail;\n this.head = head;\n this.tail = tail;\n this.length = 0;\n }\n function addAfter(list, node, value) {\n var next = node.next;\n var newNode = { value, prev: node, next };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n function removeRange(list, node, count) {\n var next = node.next;\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n return array;\n }\n return _;\n }();\n module.exports = Prism2;\n Prism2.default = Prism2;\n }\n});\n\n// src/prism-langs.ts\nvar Prism = __toESM(require_prism());\nPrism.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/, greedy: true }, prolog: { pattern: /<\\?[\\s\\S]+?\\?>/, greedy: true }, doctype: { pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i, greedy: true, inside: { \"internal-subset\": { pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/, lookbehind: true, greedy: true, inside: null }, string: { pattern: /\"[^\"]*\"|'[^']*'/, greedy: true }, punctuation: /^<!|>$|[[\\]]/, \"doctype-tag\": /^DOCTYPE/i, name: /[^\\s<>'\"]+/ } }, cdata: { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, greedy: true }, tag: { pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/, greedy: true, inside: { tag: { pattern: /^<\\/?[^\\s>\\/]+/, inside: { punctuation: /^<\\/?/, namespace: /^[^\\s>\\/:]+:/ } }, \"special-attr\": [], \"attr-value\": { pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, { pattern: /^(\\s*)[\"']|[\"']$/, lookbehind: true }] } }, punctuation: /\\/?>/, \"attr-name\": { pattern: /[^\\s>\\/]+/, inside: { namespace: /^[^\\s>\\/:]+:/ } } } }, entity: [{ pattern: /&[\\da-z]{1,8};/i, alias: \"named-entity\" }, /&#x?[\\da-f]{1,8};/i] }, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.languages.markup.doctype.inside[\"internal-subset\"].inside = Prism.languages.markup, Prism.hooks.add(\"wrap\", function(e) {\n \"entity\" === e.type && (e.attributes.title = e.content.replace(/&/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", { value: function(e, n) {\n var t = {}, t = (t[\"language-\" + n] = { pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i, lookbehind: true, inside: Prism.languages[n] }, t.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i, { \"included-cdata\": { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, inside: t } }), n = (t[\"language-\" + n] = { pattern: /[\\s\\S]+/, inside: Prism.languages[n] }, {});\n n[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function() {\n return e;\n }), \"i\"), lookbehind: true, greedy: true, inside: t }, Prism.languages.insertBefore(\"markup\", \"cdata\", n);\n} }), Object.defineProperty(Prism.languages.markup.tag, \"addAttribute\", { value: function(e, n) {\n Prism.languages.markup.tag.inside[\"special-attr\"].push({ pattern: RegExp(/(^|[\"'\\s])/.source + \"(?:\" + e + \")\" + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, \"i\"), lookbehind: true, inside: { \"attr-name\": /^[^\\s=]+/, \"attr-value\": { pattern: /=[\\s\\S]+/, inside: { value: { pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/, lookbehind: true, alias: [n, \"language-\" + n], inside: Prism.languages[n] }, punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, /\"|'/] } } } });\n} }), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup, Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.ssml = Prism.languages.xml, Prism.languages.atom = Prism.languages.xml, Prism.languages.rss = Prism.languages.xml, function(e) {\n var n = { pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/, alias: \"escape\" }, t = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, a = \"(?:[^\\\\\\\\-]|\" + t.source + \")\", a = RegExp(a + \"-\" + a), r = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: true, alias: \"variable\" };\n e.languages.regex = { \"char-class\": { pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/, lookbehind: true, inside: { \"char-class-negation\": { pattern: /(^\\[)\\^/, lookbehind: true, alias: \"operator\" }, \"char-class-punctuation\": { pattern: /^\\[|\\]$/, alias: \"punctuation\" }, range: { pattern: a, inside: { escape: t, \"range-punctuation\": { pattern: /-/, alias: \"operator\" } } }, \"special-escape\": n, \"char-set\": { pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, escape: t } }, \"special-escape\": n, \"char-set\": { pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, backreference: [{ pattern: /\\\\(?![123][0-7]{2})[1-9]/, alias: \"keyword\" }, { pattern: /\\\\k<[^<>']+>/, alias: \"keyword\", inside: { \"group-name\": r } }], anchor: { pattern: /[$^]|\\\\[ABbGZz]/, alias: \"function\" }, escape: t, group: [{ pattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: \"punctuation\", inside: { \"group-name\": r } }, { pattern: /\\)/, alias: \"punctuation\" }], quantifier: { pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/, alias: \"number\" }, alternation: { pattern: /\\|/, alias: \"keyword\" } };\n}(Prism), Prism.languages.clike = { comment: [{ pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, greedy: true }, \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i, lookbehind: true, inside: { punctuation: /[.\\\\]/ } }, keyword: /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/, boolean: /\\b(?:false|true)\\b/, function: /\\b\\w+(?=\\()/, number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.javascript = Prism.languages.extend(\"clike\", { \"class-name\": [Prism.languages.clike[\"class-name\"], { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/, lookbehind: true }], keyword: [{ pattern: /((?:^|\\})\\s*)catch\\b/, lookbehind: true }, { pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/, lookbehind: true }], function: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/, number: { pattern: RegExp(/(^|[^\\w$])/.source + \"(?:\" + /NaN|Infinity/.source + \"|\" + /0[bB][01]+(?:_[01]+)*n?/.source + \"|\" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + \"|\" + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + \"|\" + /\\d+(?:_\\d+)*n/.source + \"|\" + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source + \")\" + /(?![\\w$])/.source), lookbehind: true }, operator: /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/ }), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", { regex: { pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + \"(?:\" + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + \"|\" + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + \")\" + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source), lookbehind: true, greedy: true, inside: { \"regex-source\": { pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/, lookbehind: true, alias: \"language-regex\", inside: Prism.languages.regex }, \"regex-delimiter\": /^\\/|\\/$/, \"regex-flags\": /^[a-z]+$/ } }, \"function-variable\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/, alias: \"function\" }, parameter: [{ pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/, lookbehind: true, inside: Prism.languages.javascript }], constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/ }), Prism.languages.insertBefore(\"javascript\", \"string\", { hashbang: { pattern: /^#!.*/, greedy: true, alias: \"comment\" }, \"template-string\": { pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/, lookbehind: true, inside: { \"interpolation-punctuation\": { pattern: /^\\$\\{|\\}$/, alias: \"punctuation\" }, rest: Prism.languages.javascript } }, string: /[\\s\\S]+/ } }, \"string-property\": { pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m, lookbehind: true, greedy: true, alias: \"property\" } }), Prism.languages.insertBefore(\"javascript\", \"operator\", { \"literal-property\": { pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m, lookbehind: true, alias: \"property\" } }), Prism.languages.markup && (Prism.languages.markup.tag.addInlined(\"script\", \"javascript\"), Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, \"javascript\")), Prism.languages.js = Prism.languages.javascript, Prism.languages.actionscript = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/, operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), Prism.languages.actionscript[\"class-name\"].alias = \"function\", delete Prism.languages.actionscript.parameter, delete Prism.languages.actionscript[\"literal-property\"], Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", { xml: { pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/, lookbehind: true, inside: Prism.languages.markup } }), function(e) {\n var n = /#(?!\\{).+/, t = { pattern: /#\\{[^}]+\\}/, alias: \"variable\" };\n e.languages.coffeescript = e.languages.extend(\"javascript\", { comment: n, string: [{ pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/, greedy: true }, { pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/, greedy: true, inside: { interpolation: t } }], keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/, \"class-member\": { pattern: /@(?!\\d)\\w+/, alias: \"variable\" } }), e.languages.insertBefore(\"coffeescript\", \"comment\", { \"multiline-comment\": { pattern: /###[\\s\\S]+?###/, alias: \"comment\" }, \"block-regex\": { pattern: /\\/{3}[\\s\\S]*?\\/{3}/, alias: \"regex\", inside: { comment: n, interpolation: t } } }), e.languages.insertBefore(\"coffeescript\", \"string\", { \"inline-javascript\": { pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: \"punctuation\" }, script: { pattern: /[\\s\\S]+/, alias: \"language-javascript\", inside: e.languages.javascript } } }, \"multiline-string\": [{ pattern: /'''[\\s\\S]*?'''/, greedy: true, alias: \"string\" }, { pattern: /\"\"\"[\\s\\S]*?\"\"\"/, greedy: true, alias: \"string\", inside: { interpolation: t } }] }), e.languages.insertBefore(\"coffeescript\", \"keyword\", { property: /(?!\\d)\\w+(?=\\s*:(?!:))/ }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism), function(l) {\n var e = l.languages.javadoclike = { parameter: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m, lookbehind: true }, keyword: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m, lookbehind: true }, punctuation: /[{}]/ };\n Object.defineProperty(e, \"addSupport\", { value: function(e2, o) {\n (e2 = \"string\" == typeof e2 ? [e2] : e2).forEach(function(e3) {\n var n = function(e4) {\n e4.inside || (e4.inside = {}), e4.inside.rest = o;\n }, t = \"doc-comment\";\n if (a = l.languages[e3]) {\n var a, r = a[t];\n if ((r = r ? r : (a = l.languages.insertBefore(e3, \"comment\", { \"doc-comment\": { pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, alias: \"comment\" } }))[t]) instanceof RegExp && (r = a[t] = { pattern: r }), Array.isArray(r))\n for (var s = 0, i = r.length; s < i; s++)\n r[s] instanceof RegExp && (r[s] = { pattern: r[s] }), n(r[s]);\n else\n n(r);\n }\n });\n } }), e.addSupport([\"java\", \"javascript\", \"php\"], e);\n}(Prism), function(e) {\n var n = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/, n = (e.languages.css = { comment: /\\/\\*[\\s\\S]*?\\*\\//, atrule: { pattern: RegExp(\"@[\\\\w-](?:\" + /[^;{\\s\"']|\\s+(?!\\s)/.source + \"|\" + n.source + \")*?\" + /(?:;|(?=\\s*\\{))/.source), inside: { rule: /^@[\\w-]+/, \"selector-function-argument\": { pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/, lookbehind: true, alias: \"selector\" }, keyword: { pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/, lookbehind: true } } }, url: { pattern: RegExp(\"\\\\burl\\\\((?:\" + n.source + \"|\" + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + \")\\\\)\", \"i\"), greedy: true, inside: { function: /^url/i, punctuation: /^\\(|\\)$/, string: { pattern: RegExp(\"^\" + n.source + \"$\"), alias: \"url\" } } }, selector: { pattern: RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|` + n.source + \")*(?=\\\\s*\\\\{)\"), lookbehind: true }, string: { pattern: n, greedy: true }, property: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i, lookbehind: true }, important: /!important\\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i, lookbehind: true }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);\n n && (n.tag.addInlined(\"style\", \"css\"), n.tag.addAttribute(\"style\", \"css\"));\n}(Prism), function(e) {\n var n = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, n = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: true, inside: n = { \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/, \"pseudo-class\": /:[-\\w]+/, class: /\\.[-\\w]+/, id: /#[-\\w]+/, attribute: { pattern: RegExp(`\\\\[(?:[^[\\\\]\"']|` + n.source + \")*\\\\]\"), greedy: true, inside: { punctuation: /^\\[|\\]$/, \"case-sensitivity\": { pattern: /(\\s)[si]$/i, lookbehind: true, alias: \"keyword\" }, namespace: { pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/, lookbehind: true, inside: { punctuation: /\\|$/ } }, \"attr-name\": { pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/, lookbehind: true }, \"attr-value\": [n, { pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/, lookbehind: true }], operator: /[|~*^$]?=/ } }, \"n-th\": [{ pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/, lookbehind: true, inside: { number: /[\\dn]+/, operator: /[+-]/ } }, { pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i, lookbehind: true }], combinator: />|\\+|~|\\|\\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside[\"selector-function-argument\"].inside = n, e.languages.insertBefore(\"css\", \"property\", { variable: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i, lookbehind: true } }), { pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/, lookbehind: true }), t = { pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/, lookbehind: true };\n e.languages.insertBefore(\"css\", \"function\", { operator: { pattern: /(\\s)[+\\-*\\/](?=\\s)/, lookbehind: true }, hexcode: { pattern: /\\B#[\\da-f]{3,8}\\b/i, alias: \"color\" }, color: [{ pattern: /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i, lookbehind: true }, { pattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i, inside: { unit: n, number: t, function: /[\\w-]+(?=\\()/, punctuation: /[(),]/ } }], entity: /\\\\[\\da-f]{1,8}/i, unit: n, number: t });\n}(Prism), function(e) {\n var n = /[*&][^\\s[\\]{},]+/, t = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/, a = \"(?:\" + t.source + \"(?:[ \t]+\" + n.source + \")?|\" + n.source + \"(?:[ \t]+\" + t.source + \")?)\", r = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n }), s = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n function i(e2, n2) {\n n2 = (n2 || \"\").replace(/m/g, \"\") + \"m\";\n var t2 = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<value>>/g, function() {\n return e2;\n });\n return RegExp(t2, n2);\n }\n e.languages.yaml = { scalar: { pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function() {\n return a;\n })), lookbehind: true, alias: \"string\" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<key>>/g, function() {\n return \"(?:\" + r + \"|\" + s + \")\";\n })), lookbehind: true, greedy: true, alias: \"atrule\" }, directive: { pattern: /(^[ \\t]*)%.+/m, lookbehind: true, alias: \"important\" }, datetime: { pattern: i(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source), lookbehind: true, alias: \"number\" }, boolean: { pattern: i(/false|true/.source, \"i\"), lookbehind: true, alias: \"important\" }, null: { pattern: i(/null|~/.source, \"i\"), lookbehind: true, alias: \"important\" }, string: { pattern: i(s), lookbehind: true, greedy: true }, number: { pattern: i(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, \"i\"), lookbehind: true }, tag: t, important: n, punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./ }, e.languages.yml = e.languages.yaml;\n}(Prism), function(o) {\n var n = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n function e(e2) {\n return e2 = e2.replace(/<inner>/g, function() {\n return n;\n }), RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + \"(?:\" + e2 + \")\");\n }\n var t = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source, a = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function() {\n return t;\n }), r = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source, l = (o.languages.markdown = o.languages.extend(\"markup\", {}), o.languages.insertBefore(\"markdown\", \"prolog\", { \"front-matter-block\": { pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/, lookbehind: true, greedy: true, inside: { punctuation: /^---|---$/, \"front-matter\": { pattern: /\\S+(?:\\s+\\S+)*/, alias: [\"yaml\", \"language-yaml\"], inside: o.languages.yaml } } }, blockquote: { pattern: /^>(?:[\\t ]*>)*/m, alias: \"punctuation\" }, table: { pattern: RegExp(\"^\" + a + r + \"(?:\" + a + \")*\", \"m\"), inside: { \"table-data-rows\": { pattern: RegExp(\"^(\" + a + r + \")(?:\" + a + \")*$\"), lookbehind: true, inside: { \"table-data\": { pattern: RegExp(t), inside: o.languages.markdown }, punctuation: /\\|/ } }, \"table-line\": { pattern: RegExp(\"^(\" + a + \")\" + r + \"$\"), lookbehind: true, inside: { punctuation: /\\||:?-{3,}:?/ } }, \"table-header-row\": { pattern: RegExp(\"^\" + a + \"$\"), inside: { \"table-header\": { pattern: RegExp(t), alias: \"important\", inside: o.languages.markdown }, punctuation: /\\|/ } } } }, code: [{ pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/, lookbehind: true, alias: \"keyword\" }, { pattern: /^```[\\s\\S]*?^```$/m, greedy: true, inside: { \"code-block\": { pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m, lookbehind: true }, \"code-language\": { pattern: /^(```).+/, lookbehind: true }, punctuation: /```/ } }], title: [{ pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m, alias: \"important\", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\\s*)#.+/m, lookbehind: true, alias: \"important\", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m, lookbehind: true, alias: \"punctuation\" }, list: { pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m, lookbehind: true, alias: \"punctuation\" }, \"url-reference\": { pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/, inside: { variable: { pattern: /^(!?\\[)[^\\]]+/, lookbehind: true }, string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/, punctuation: /^[\\[\\]!:]|[<>]/ }, alias: \"url\" }, bold: { pattern: e(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^..)[\\s\\S]+(?=..$)/, lookbehind: true, inside: {} }, punctuation: /\\*\\*|__/ } }, italic: { pattern: e(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^.)[\\s\\S]+(?=.$)/, lookbehind: true, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: e(/(~~?)(?:(?!~)<inner>)+\\2/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^~~?)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: {} }, punctuation: /~~?/ } }, \"code-snippet\": { pattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/, lookbehind: true, greedy: true, alias: [\"code\", \"keyword\"] }, url: { pattern: e(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source), lookbehind: true, greedy: true, inside: { operator: /^!/, content: { pattern: /(^\\[)[^\\]]+(?=\\])/, lookbehind: true, inside: {} }, variable: { pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/, lookbehind: true }, url: { pattern: /(^\\]\\()[^\\s)]+/, lookbehind: true }, string: { pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/, lookbehind: true } } } }), [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function(n2) {\n [\"url\", \"bold\", \"italic\", \"strike\", \"code-snippet\"].forEach(function(e2) {\n n2 !== e2 && (o.languages.markdown[n2].inside.content.inside[e2] = o.languages.markdown[e2]);\n });\n }), o.hooks.add(\"after-tokenize\", function(e2) {\n \"markdown\" !== e2.language && \"md\" !== e2.language || !function e3(n2) {\n if (n2 && \"string\" != typeof n2)\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r2, s = n2[t2];\n \"code\" !== s.type ? e3(s.content) : (r2 = s.content[1], s = s.content[3], r2 && s && \"code-language\" === r2.type && \"code-block\" === s.type && \"string\" == typeof r2.content && (r2 = r2.content.replace(/\\b#/g, \"sharp\").replace(/\\b\\+\\+/g, \"pp\"), r2 = \"language-\" + (r2 = (/[a-z][\\w-]*/i.exec(r2) || [\"\"])[0].toLowerCase()), s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, r2] : s.alias.push(r2) : s.alias = [r2]));\n }\n }(e2.tokens);\n }), o.hooks.add(\"wrap\", function(e2) {\n if (\"code-block\" === e2.type) {\n for (var n2 = \"\", t2 = 0, a2 = e2.classes.length; t2 < a2; t2++) {\n var r2 = e2.classes[t2], r2 = /language-(.+)/.exec(r2);\n if (r2) {\n n2 = r2[1];\n break;\n }\n }\n var s, i = o.languages[n2];\n i ? e2.content = o.highlight(function(e3) {\n e3 = e3.replace(l, \"\");\n return e3 = e3.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function(e4, n3) {\n var t3;\n return \"#\" === (n3 = n3.toLowerCase())[0] ? (t3 = \"x\" === n3[1] ? parseInt(n3.slice(2), 16) : Number(n3.slice(1)), c(t3)) : u[n3] || e4;\n });\n }(e2.content), i, n2) : n2 && \"none\" !== n2 && o.plugins.autoloader && (s = \"md-\" + (/* @__PURE__ */ new Date()).valueOf() + \"-\" + Math.floor(1e16 * Math.random()), e2.attributes.id = s, o.plugins.autoloader.loadLanguages(n2, function() {\n var e3 = document.getElementById(s);\n e3 && (e3.innerHTML = o.highlight(e3.textContent, o.languages[n2], n2));\n }));\n }\n }), RegExp(o.languages.markup.tag.pattern.source, \"gi\")), u = { amp: \"&\", lt: \"<\", gt: \">\", quot: '\"' }, c = String.fromCodePoint || String.fromCharCode;\n o.languages.md = o.languages.markdown;\n}(Prism), Prism.languages.graphql = { comment: /#.*/, description: { pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i, greedy: true, alias: \"string\", inside: { \"language-markdown\": { pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: Prism.languages.markdown } } }, string: { pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/, greedy: true }, number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, boolean: /\\b(?:false|true)\\b/, variable: /\\$[a-z_]\\w*/i, directive: { pattern: /@[a-z_]\\w*/i, alias: \"function\" }, \"attr-name\": { pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i, greedy: true }, \"atom-input\": { pattern: /\\b[A-Z]\\w*Input\\b/, alias: \"class-name\" }, scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/, constant: /\\b[A-Z][A-Z_\\d]*\\b/, \"class-name\": { pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/, lookbehind: true }, fragment: { pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-mutation\": { pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-query\": { pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, keyword: /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/, operator: /[!=|&]|\\.{3}/, \"property-query\": /\\w+(?=\\s*\\()/, object: /\\w+(?=\\s*\\{)/, punctuation: /[!(){}\\[\\]:=,]/, property: /\\w+/ }, Prism.hooks.add(\"after-tokenize\", function(e) {\n if (\"graphql\" === e.language)\n for (var i = e.tokens.filter(function(e2) {\n return \"string\" != typeof e2 && \"comment\" !== e2.type && \"scalar\" !== e2.type;\n }), o = 0; o < i.length; ) {\n var n = i[o++];\n if (\"keyword\" === n.type && \"mutation\" === n.content) {\n var t = [];\n if (p([\"definition-mutation\", \"punctuation\"]) && \"(\" === c(1).content) {\n o += 2;\n var a = d(/^\\($/, /^\\)$/);\n if (-1 === a)\n continue;\n for (; o < a; o++) {\n var r = c(0);\n \"variable\" === r.type && (g(r, \"variable-input\"), t.push(r.content));\n }\n o = a + 1;\n }\n if (p([\"punctuation\", \"property-query\"]) && \"{\" === c(0).content && (o++, g(c(0), \"property-mutation\"), 0 < t.length)) {\n var s = d(/^\\{$/, /^\\}$/);\n if (-1 !== s)\n for (var l = o; l < s; l++) {\n var u = i[l];\n \"variable\" === u.type && 0 <= t.indexOf(u.content) && g(u, \"variable-input\");\n }\n }\n }\n }\n function c(e2) {\n return i[o + e2];\n }\n function p(e2, n2) {\n n2 = n2 || 0;\n for (var t2 = 0; t2 < e2.length; t2++) {\n var a2 = c(t2 + n2);\n if (!a2 || a2.type !== e2[t2])\n return;\n }\n return 1;\n }\n function d(e2, n2) {\n for (var t2 = 1, a2 = o; a2 < i.length; a2++) {\n var r2 = i[a2], s2 = r2.content;\n if (\"punctuation\" === r2.type && \"string\" == typeof s2) {\n if (e2.test(s2))\n t2++;\n else if (n2.test(s2) && 0 === --t2)\n return a2;\n }\n }\n return -1;\n }\n function g(e2, n2) {\n var t2 = e2.alias;\n t2 ? Array.isArray(t2) || (e2.alias = t2 = [t2]) : e2.alias = t2 = [], t2.push(n2);\n }\n}), Prism.languages.sql = { comment: { pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/, lookbehind: true }, variable: [{ pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/, greedy: true }, /@[\\w.$]+/], string: { pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/, greedy: true, lookbehind: true }, identifier: { pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/, greedy: true, lookbehind: true, inside: { punctuation: /^`|`$/ } }, function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i, boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i, number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i, operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i, punctuation: /[;[\\]()`,.]/ }, function(b) {\n var e = b.languages.javascript[\"template-string\"], t = e.pattern.source, m = e.inside.interpolation, f = m.inside[\"interpolation-punctuation\"], s = m.pattern.source;\n function n(e2, n2) {\n if (b.languages[e2])\n return { pattern: RegExp(\"((?:\" + n2 + \")\\\\s*)\" + t), lookbehind: true, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, \"embedded-code\": { pattern: /[\\s\\S]+/, alias: e2 } } };\n }\n function h(e2, n2, t2) {\n e2 = { code: e2, grammar: n2, language: t2 };\n return b.hooks.run(\"before-tokenize\", e2), e2.tokens = b.tokenize(e2.code, e2.grammar), b.hooks.run(\"after-tokenize\", e2), e2.tokens;\n }\n function l(a2, e2, r) {\n var n2 = b.tokenize(a2, { interpolation: { pattern: RegExp(s), lookbehind: true } }), p = 0, d = {}, n2 = h(n2.map(function(e3) {\n if (\"string\" == typeof e3)\n return e3;\n for (var n3, t2, e3 = e3.content; -1 !== a2.indexOf((t2 = p++, n3 = \"___\" + r.toUpperCase() + \"_\" + t2 + \"___\")); )\n ;\n return d[n3] = e3, n3;\n }).join(\"\"), e2, r), g = Object.keys(d);\n return p = 0, function e3(n3) {\n for (var t2 = 0; t2 < n3.length; t2++) {\n if (p >= g.length)\n return;\n var a3, r2, s2, i, o, l2, u2, c = n3[t2];\n \"string\" == typeof c || \"string\" == typeof c.content ? (a3 = g[p], -1 !== (u2 = (l2 = \"string\" == typeof c ? c : c.content).indexOf(a3)) && (++p, r2 = l2.substring(0, u2), o = d[a3], s2 = void 0, (i = {})[\"interpolation-punctuation\"] = f, 3 === (i = b.tokenize(o, i)).length && ((s2 = [1, 1]).push.apply(s2, h(i[1], b.languages.javascript, \"javascript\")), i.splice.apply(i, s2)), s2 = new b.Token(\"interpolation\", i, m.alias, o), i = l2.substring(u2 + a3.length), o = [], r2 && o.push(r2), o.push(s2), i && (e3(l2 = [i]), o.push.apply(o, l2)), \"string\" == typeof c ? (n3.splice.apply(n3, [t2, 1].concat(o)), t2 += o.length - 1) : c.content = o)) : (u2 = c.content, Array.isArray(u2) ? e3(u2) : e3([u2]));\n }\n }(n2), new b.Token(r, n2, \"language-\" + r, a2);\n }\n b.languages.javascript[\"template-string\"] = [n(\"css\", /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), n(\"html\", /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), n(\"svg\", /\\bsvg/.source), n(\"markdown\", /\\b(?:markdown|md)/.source), n(\"graphql\", /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source), n(\"sql\", /\\bsql/.source), e].filter(Boolean);\n var a = { javascript: true, js: true, typescript: true, ts: true, jsx: true, tsx: true };\n function u(e2) {\n return \"string\" == typeof e2 ? e2 : Array.isArray(e2) ? e2.map(u).join(\"\") : u(e2.content);\n }\n b.hooks.add(\"after-tokenize\", function(e2) {\n e2.language in a && !function e3(n2) {\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r, s2, i, o = n2[t2];\n \"string\" != typeof o && (r = o.content, Array.isArray(r) ? \"template-string\" === o.type ? (o = r[1], 3 === r.length && \"string\" != typeof o && \"embedded-code\" === o.type && (s2 = u(o), o = o.alias, o = Array.isArray(o) ? o[0] : o, i = b.languages[o]) && (r[1] = l(s2, i, o))) : e3(r) : \"string\" != typeof r && e3([r]));\n }\n }(e2.tokens);\n });\n}(Prism), function(e) {\n e.languages.typescript = e.languages.extend(\"javascript\", { \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: true, greedy: true, inside: null }, builtin: /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/ }), e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, /\\btype\\b(?=\\s*(?:[\\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript[\"literal-property\"];\n var n = e.languages.extend(\"typescript\", {});\n delete n[\"class-name\"], e.languages.typescript[\"class-name\"].inside = n, e.languages.insertBefore(\"typescript\", \"function\", { decorator: { pattern: /@[$\\w\\xA0-\\uFFFF]+/, inside: { at: { pattern: /^@/, alias: \"operator\" }, function: /^[\\s\\S]+/ } }, \"generic-function\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/, greedy: true, inside: { function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: n } } } }), e.languages.ts = e.languages.typescript;\n}(Prism), function(e) {\n var n = e.languages.javascript, t = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source, a = \"(@(?:arg|argument|param|property)\\\\s+(?:\" + t + \"\\\\s+)?)\";\n e.languages.jsdoc = e.languages.extend(\"javadoclike\", { parameter: { pattern: RegExp(a + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source), lookbehind: true, inside: { punctuation: /\\./ } } }), e.languages.insertBefore(\"jsdoc\", \"keyword\", { \"optional-parameter\": { pattern: RegExp(a + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source), lookbehind: true, inside: { parameter: { pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/, lookbehind: true, inside: { punctuation: /\\./ } }, code: { pattern: /(=)[\\s\\S]*(?=\\]$)/, lookbehind: true, inside: n, alias: \"language-javascript\" }, punctuation: /[=[\\]]/ } }, \"class-name\": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function() {\n return t;\n })), lookbehind: true, inside: { punctuation: /\\./ } }, { pattern: RegExp(\"(@[a-z]+\\\\s+)\" + t), lookbehind: true, inside: { string: n.string, number: n.number, boolean: n.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\\.\\.\\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\\]]/ } }], example: { pattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/, lookbehind: true, inside: { code: { pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m, lookbehind: true, inside: n, alias: \"language-javascript\" } } } }), e.languages.javadoclike.addSupport(\"javascript\", e.languages.jsdoc);\n}(Prism), function(e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", { type: [{ pattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/, alias: \"class-name\" }] }), e.languages.flow[\"function-variable\"].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", { \"flow-punctuation\": { pattern: /\\{\\||\\|\\}/, alias: \"punctuation\" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/, lookbehind: true }, { pattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/, lookbehind: true });\n}(Prism), Prism.languages.n4js = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/ }), Prism.languages.insertBefore(\"n4js\", \"constant\", { annotation: { pattern: /@+\\w+/, alias: \"operator\" } }), Prism.languages.n4jsd = Prism.languages.n4js, function(e) {\n function n(e2, n2) {\n return RegExp(e2.replace(/<ID>/g, function() {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), n2);\n }\n e.languages.insertBefore(\"javascript\", \"function-variable\", { \"method-variable\": { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript[\"function-variable\"].pattern.source), lookbehind: true, alias: [\"function-variable\", \"method\", \"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"function\", { method: { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript.function.source), lookbehind: true, alias: [\"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"constant\", { \"known-class-name\": [{ pattern: /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/, alias: \"class-name\" }, { pattern: /\\b(?:[A-Z]\\w*)Error\\b/, alias: \"class-name\" }] }), e.languages.insertBefore(\"javascript\", \"keyword\", { imports: { pattern: n(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source), lookbehind: true, inside: e.languages.javascript }, exports: { pattern: n(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source), lookbehind: true, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\\b(?:as|default|export|from|import)\\b/, alias: \"module\" }, { pattern: /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/, alias: \"control-flow\" }, { pattern: /\\bnull\\b/, alias: [\"null\", \"nil\"] }, { pattern: /\\bundefined\\b/, alias: \"nil\" }), e.languages.insertBefore(\"javascript\", \"operator\", { spread: { pattern: /\\.{3}/, alias: \"operator\" }, arrow: { pattern: /=>/, alias: \"operator\" } }), e.languages.insertBefore(\"javascript\", \"punctuation\", { \"property-access\": { pattern: n(/(\\.\\s*)#?<ID>/.source), lookbehind: true }, \"maybe-class-name\": { pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/, lookbehind: true }, dom: { pattern: /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/, alias: \"variable\" }, console: { pattern: /\\bconsole(?=\\s*\\.)/, alias: \"class-name\" } });\n for (var t = [\"function\", \"function-variable\", \"method\", \"method-variable\", \"property-access\"], a = 0; a < t.length; a++) {\n var r = t[a], s = e.languages.javascript[r], r = (s = \"RegExp\" === e.util.type(s) ? e.languages.javascript[r] = { pattern: s } : s).inside || {};\n (s.inside = r)[\"maybe-class-name\"] = /^[A-Z][\\s\\S]*/;\n }\n}(Prism), function(s) {\n var e = s.util.clone(s.languages.javascript), t = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source, a = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source, r = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n function n(e2, n2) {\n return e2 = e2.replace(/<S>/g, function() {\n return t;\n }).replace(/<BRACES>/g, function() {\n return a;\n }).replace(/<SPREAD>/g, function() {\n return r;\n }), RegExp(e2, n2);\n }\n r = n(r).source, s.languages.jsx = s.languages.extend(\"markup\", e), s.languages.jsx.tag.pattern = n(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source), s.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/, s.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/, s.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, s.languages.jsx.tag.inside.comment = e.comment, s.languages.insertBefore(\"inside\", \"attr-name\", { spread: { pattern: n(/<SPREAD>/.source), inside: s.languages.jsx } }, s.languages.jsx.tag), s.languages.insertBefore(\"inside\", \"special-attr\", { script: { pattern: n(/=<BRACES>/.source), alias: \"language-javascript\", inside: { \"script-punctuation\": { pattern: /^=(?=\\{)/, alias: \"punctuation\" }, rest: s.languages.jsx } } }, s.languages.jsx.tag);\n function i(e2) {\n for (var n2 = [], t2 = 0; t2 < e2.length; t2++) {\n var a2 = e2[t2], r2 = false;\n \"string\" != typeof a2 && (\"tag\" === a2.type && a2.content[0] && \"tag\" === a2.content[0].type ? \"</\" === a2.content[0].content[0].content ? 0 < n2.length && n2[n2.length - 1].tagName === o(a2.content[0].content[1]) && n2.pop() : \"/>\" !== a2.content[a2.content.length - 1].content && n2.push({ tagName: o(a2.content[0].content[1]), openedBraces: 0 }) : 0 < n2.length && \"punctuation\" === a2.type && \"{\" === a2.content ? n2[n2.length - 1].openedBraces++ : 0 < n2.length && 0 < n2[n2.length - 1].openedBraces && \"punctuation\" === a2.type && \"}\" === a2.content ? n2[n2.length - 1].openedBraces-- : r2 = true), (r2 || \"string\" == typeof a2) && 0 < n2.length && 0 === n2[n2.length - 1].openedBraces && (r2 = o(a2), t2 < e2.length - 1 && (\"string\" == typeof e2[t2 + 1] || \"plain-text\" === e2[t2 + 1].type) && (r2 += o(e2[t2 + 1]), e2.splice(t2 + 1, 1)), 0 < t2 && (\"string\" == typeof e2[t2 - 1] || \"plain-text\" === e2[t2 - 1].type) && (r2 = o(e2[t2 - 1]) + r2, e2.splice(t2 - 1, 1), t2--), e2[t2] = new s.Token(\"plain-text\", r2, null, r2)), a2.content && \"string\" != typeof a2.content && i(a2.content);\n }\n }\n var o = function(e2) {\n return e2 ? \"string\" == typeof e2 ? e2 : \"string\" == typeof e2.content ? e2.content : e2.content.map(o).join(\"\") : \"\";\n };\n s.hooks.add(\"after-tokenize\", function(e2) {\n \"jsx\" !== e2.language && \"tsx\" !== e2.language || i(e2.tokens);\n });\n}(Prism), function(e) {\n var n = e.util.clone(e.languages.typescript), n = (e.languages.tsx = e.languages.extend(\"jsx\", n), delete e.languages.tsx.parameter, delete e.languages.tsx[\"literal-property\"], e.languages.tsx.tag);\n n.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + \"(?:\" + n.pattern.source + \")\", n.pattern.flags), n.lookbehind = true;\n}(Prism), Prism.languages.swift = { comment: { pattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/, lookbehind: true, greedy: true }, \"string-literal\": [{ pattern: RegExp(/(^|[^\"#])/.source + \"(?:\" + /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source + \"|\" + /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source + \")\" + /(?![\"#])/.source), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\\\($/, alias: \"punctuation\" }, punctuation: /\\\\(?=[\\r\\n])/, string: /[\\s\\S]+/ } }, { pattern: RegExp(/(^|[^\"#])(#+)/.source + \"(?:\" + /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source + \"|\" + /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source + \")\\\\2\"), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\#+\\($/, alias: \"punctuation\" }, string: /[\\s\\S]+/ } }], directive: { pattern: RegExp(/#/.source + \"(?:\" + /(?:elseif|if)\\b/.source + \"(?:[ \t]*\" + /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source + \")+|\" + /(?:else|endif)\\b/.source + \")\"), alias: \"property\", inside: { \"directive-name\": /^#\\w+/, boolean: /\\b(?:false|true)\\b/, number: /\\b\\d+(?:\\.\\d+)*\\b/, operator: /!|&&|\\|\\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/, alias: \"constant\" }, \"other-directive\": { pattern: /#\\w+\\b/, alias: \"property\" }, attribute: { pattern: /@\\w+/, alias: \"atrule\" }, \"function-definition\": { pattern: /(\\bfunc\\s+)\\w+/, lookbehind: true, alias: \"function\" }, label: { pattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/, lookbehind: true, alias: \"important\" }, keyword: /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/, boolean: /\\b(?:false|true)\\b/, nil: { pattern: /\\bnil\\b/, alias: \"constant\" }, \"short-argument\": /\\$\\d+\\b/, omit: { pattern: /\\b_\\b/, alias: \"keyword\" }, number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i, \"class-name\": /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/, operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\\]();,.:\\\\]/ }, Prism.languages.swift[\"string-literal\"].forEach(function(e) {\n e.inside.interpolation.inside = Prism.languages.swift;\n}), function(e) {\n e.languages.kotlin = e.languages.extend(\"clike\", { keyword: { pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/, lookbehind: true }, function: [{ pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/, greedy: true }, { pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/, lookbehind: true, greedy: true }], number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/, operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/ }), delete e.languages.kotlin[\"class-name\"];\n var n = { \"interpolation-punctuation\": { pattern: /^\\$\\{?|\\}$/, alias: \"punctuation\" }, expression: { pattern: /[\\s\\S]+/, inside: e.languages.kotlin } };\n e.languages.insertBefore(\"kotlin\", \"string\", { \"string-literal\": [{ pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/, alias: \"multiline\", inside: { interpolation: { pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, inside: n }, string: /[\\s\\S]+/ } }, { pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/, alias: \"singleline\", inside: { interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, lookbehind: true, inside: n }, string: /[\\s\\S]+/ } }], char: { pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: true } }), delete e.languages.kotlin.string, e.languages.insertBefore(\"kotlin\", \"keyword\", { annotation: { pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/, alias: \"builtin\" } }), e.languages.insertBefore(\"kotlin\", \"function\", { label: { pattern: /\\b\\w+@|@\\w+\\b/, alias: \"symbol\" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;\n}(Prism), Prism.languages.c = Prism.languages.extend(\"clike\", { comment: { pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, \"class-name\": { pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/, lookbehind: true }, keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, number: /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/ }), Prism.languages.insertBefore(\"c\", \"string\", { char: { pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/, greedy: true } }), Prism.languages.insertBefore(\"c\", \"string\", { macro: { pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im, lookbehind: true, greedy: true, alias: \"property\", inside: { string: [{ pattern: /^(#\\s*include\\s*)<[^>]+>/, lookbehind: true }, Prism.languages.c.string], char: Prism.languages.c.char, comment: Prism.languages.c.comment, \"macro-name\": [{ pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i, lookbehind: true }, { pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i, lookbehind: true, alias: \"function\" }], directive: { pattern: /^(#\\s*)[a-z]+/, lookbehind: true, alias: \"keyword\" }, \"directive-hash\": /^#/, punctuation: /##|\\\\(?=[\\r\\n])/, expression: { pattern: /\\S[\\s\\S]*/, inside: Prism.languages.c } } } }), Prism.languages.insertBefore(\"c\", \"function\", { constant: /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ }), delete Prism.languages.c.boolean, Prism.languages.objectivec = Prism.languages.extend(\"c\", { string: { pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, keyword: /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/, operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/ }), delete Prism.languages.objectivec[\"class-name\"], Prism.languages.objc = Prism.languages.objectivec, Prism.languages.reason = Prism.languages.extend(\"clike\", { string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/, greedy: true }, \"class-name\": /\\b[A-Z]\\w*/, keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/, operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/ }), Prism.languages.insertBefore(\"reason\", \"class-name\", { char: { pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/, greedy: true }, constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/, label: { pattern: /\\b[a-z]\\w*(?=::)/, alias: \"symbol\" } }), delete Prism.languages.reason.function, function(e) {\n for (var n = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source, t = 0; t < 2; t++)\n n = n.replace(/<self>/g, function() {\n return n;\n });\n n = n.replace(/<self>/g, function() {\n return /[^\\s\\S]/.source;\n }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\\\])/.source + n), lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/, greedy: true }, char: { pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/, greedy: true }, attribute: { pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/, greedy: true, alias: \"attr-name\", inside: { string: null } }, \"closure-params\": { pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/, lookbehind: true, greedy: true, inside: { \"closure-punctuation\": { pattern: /^\\||\\|$/, alias: \"punctuation\" }, rest: null } }, \"lifetime-annotation\": { pattern: /'\\w+/, alias: \"symbol\" }, \"fragment-specifier\": { pattern: /(\\$\\w+:)[a-z]+/, lookbehind: true, alias: \"punctuation\" }, variable: /\\$\\w+/, \"function-definition\": { pattern: /(\\bfn\\s+)\\w+/, lookbehind: true, alias: \"function\" }, \"type-definition\": { pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/, lookbehind: true, alias: \"class-name\" }, \"module-declaration\": [{ pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/, lookbehind: true, alias: \"namespace\" }, { pattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/, lookbehind: true, alias: \"namespace\", inside: { punctuation: /::/ } }], keyword: [/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/], function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/, macro: { pattern: /\\b\\w+!/, alias: \"property\" }, constant: /\\b[A-Z_][A-Z_\\d]+\\b/, \"class-name\": /\\b[A-Z]\\w*\\b/, namespace: { pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/, inside: { punctuation: /::/ } }, number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/, boolean: /\\b(?:false|true)\\b/, punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/, operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust[\"closure-params\"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;\n}(Prism), Prism.languages.go = Prism.languages.extend(\"clike\", { string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/, lookbehind: true, greedy: true }, keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/, boolean: /\\b(?:_|false|iota|nil|true)\\b/, number: [/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i], operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./, builtin: /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/ }), Prism.languages.insertBefore(\"go\", \"string\", { char: { pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/, greedy: true } }), delete Prism.languages.go[\"class-name\"], function(e) {\n var n = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/, t = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function() {\n return n.source;\n });\n e.languages.cpp = e.languages.extend(\"c\", { \"class-name\": [{ pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function() {\n return n.source;\n })), lookbehind: true }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/], keyword: n, number: { pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i, greedy: true }, operator: />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/, boolean: /\\b(?:false|true)\\b/ }), e.languages.insertBefore(\"cpp\", \"string\", { module: { pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + \"(?:\" + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + \"|\" + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function() {\n return t;\n }) + \")\"), lookbehind: true, greedy: true, inside: { string: /^[<\"][\\s\\S]+/, operator: /:/, punctuation: /\\./ } }, \"raw-string\": { pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/, alias: \"string\", greedy: true } }), e.languages.insertBefore(\"cpp\", \"keyword\", { \"generic-function\": { pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i, inside: { function: /^\\w+/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: e.languages.cpp } } } }), e.languages.insertBefore(\"cpp\", \"operator\", { \"double-colon\": { pattern: /::/, alias: \"punctuation\" } }), e.languages.insertBefore(\"cpp\", \"class-name\", { \"base-clause\": { pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/, lookbehind: true, greedy: true, inside: e.languages.extend(\"cpp\", {}) } }), e.languages.insertBefore(\"inside\", \"double-colon\", { \"class-name\": /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, e.languages.cpp[\"base-clause\"]);\n}(Prism), Prism.languages.python = { comment: { pattern: /(^|[^\\\\])#.*/, lookbehind: true, greedy: true }, \"string-interpolation\": { pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i, greedy: true, inside: { interpolation: { pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/, lookbehind: true, inside: { \"format-spec\": { pattern: /(:)[^:(){}]+(?=\\}$)/, lookbehind: true }, \"conversion-option\": { pattern: //, alias: \"punctuation\" }, rest: null } }, string: /[\\s\\S]+/ } }, \"triple-quoted-string\": { pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i, greedy: true, alias: \"string\" }, string: { pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i, greedy: true }, function: { pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g, lookbehind: true }, \"class-name\": { pattern: /(\\bclass\\s+)\\w+/i, lookbehind: true }, decorator: { pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m, lookbehind: true, alias: [\"annotation\", \"punctuation\"], inside: { punctuation: /\\./ } }, keyword: /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/, builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/, boolean: /\\b(?:False|None|True)\\b/, number: /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i, operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python, Prism.languages.json = { property: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/, lookbehind: true, greedy: true }, string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/, lookbehind: true, greedy: true }, comment: { pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, punctuation: /[{}[\\],]/, operator: /:/, boolean: /\\b(?:false|true)\\b/, null: { pattern: /\\bnull\\b/, alias: \"keyword\" } }, Prism.languages.webmanifest = Prism.languages.json;\n\n// src/themes/index.ts\nvar themes_exports = {};\n__export(themes_exports, {\n dracula: () => dracula_default,\n duotoneDark: () => duotoneDark_default,\n duotoneLight: () => duotoneLight_default,\n github: () => github_default,\n gruvboxMaterialDark: () => gruvboxMaterialDark_default,\n gruvboxMaterialLight: () => gruvboxMaterialLight_default,\n jettwaveDark: () => jettwaveDark_default,\n jettwaveLight: () => jettwaveLight_default,\n nightOwl: () => nightOwl_default,\n nightOwlLight: () => nightOwlLight_default,\n oceanicNext: () => oceanicNext_default,\n okaidia: () => okaidia_default,\n oneDark: () => oneDark_default,\n oneLight: () => oneLight_default,\n palenight: () => palenight_default,\n shadesOfPurple: () => shadesOfPurple_default,\n synthwave84: () => synthwave84_default,\n ultramin: () => ultramin_default,\n vsDark: () => vsDark_default,\n vsLight: () => vsLight_default\n});\n\n// src/themes/dracula.ts\nvar theme = {\n plain: {\n color: \"#F8F8F2\",\n backgroundColor: \"#282A36\"\n },\n styles: [\n {\n types: [\"prolog\", \"constant\", \"builtin\"],\n style: {\n color: \"rgb(189, 147, 249)\"\n }\n },\n {\n types: [\"inserted\", \"function\"],\n style: {\n color: \"rgb(80, 250, 123)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgb(255, 85, 85)\"\n }\n },\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 184, 108)\"\n }\n },\n {\n types: [\"punctuation\", \"symbol\"],\n style: {\n color: \"rgb(248, 248, 242)\"\n }\n },\n {\n types: [\"string\", \"char\", \"tag\", \"selector\"],\n style: {\n color: \"rgb(255, 121, 198)\"\n }\n },\n {\n types: [\"keyword\", \"variable\"],\n style: {\n color: \"rgb(189, 147, 249)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(98, 114, 164)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(241, 250, 140)\"\n }\n }\n ]\n};\nvar dracula_default = theme;\n\n// src/themes/duotoneDark.ts\nvar theme2 = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\",\n \"placeholder\",\n \"variable\"\n ],\n style: {\n color: \"#ffcc99\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }\n ]\n};\nvar duotoneDark_default = theme2;\n\n// src/themes/duotoneLight.ts\nvar theme3 = {\n plain: {\n backgroundColor: \"#faf8f5\",\n color: \"#728fcb\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#b6ad9a\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#063289\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#b29762\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#2d2006\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#896724\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\"\n ],\n style: {\n color: \"#728fcb\"\n }\n },\n {\n types: [\"placeholder\", \"variable\"],\n style: {\n color: \"#93abdc\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#896724\"\n }\n }\n ]\n};\nvar duotoneLight_default = theme3;\n\n// src/themes/github.ts\nvar theme4 = {\n plain: {\n color: \"#393A34\",\n backgroundColor: \"#f6f8fa\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#999988\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#e3116c\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#393A34\"\n }\n },\n {\n types: [\n \"entity\",\n \"url\",\n \"symbol\",\n \"number\",\n \"boolean\",\n \"variable\",\n \"constant\",\n \"property\",\n \"regex\",\n \"inserted\"\n ],\n style: {\n color: \"#36acaa\"\n }\n },\n {\n types: [\"atrule\", \"keyword\", \"attr-name\", \"selector\"],\n style: {\n color: \"#00a4db\"\n }\n },\n {\n types: [\"function\", \"deleted\", \"tag\"],\n style: {\n color: \"#d73a49\"\n }\n },\n {\n types: [\"function-variable\"],\n style: {\n color: \"#6f42c1\"\n }\n },\n {\n types: [\"tag\", \"selector\", \"keyword\"],\n style: {\n color: \"#00009f\"\n }\n }\n ]\n};\nvar github_default = theme4;\n\n// src/themes/nightOwl.ts\nvar theme5 = {\n plain: {\n color: \"#d6deeb\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(99, 119, 119)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(214, 222, 235)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(255, 203, 139)\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"rgb(127, 219, 202)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"property\"],\n style: {\n color: \"rgb(128, 203, 196)\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n }\n ]\n};\nvar nightOwl_default = theme5;\n\n// src/themes/nightOwlLight.ts\nvar theme6 = {\n plain: {\n color: \"#403f53\",\n backgroundColor: \"#FBFBFB\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(72, 118, 214)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(152, 159, 177)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"builtin\", \"char\", \"constant\", \"url\"],\n style: {\n color: \"rgb(72, 118, 214)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(201, 103, 101)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(170, 9, 130)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"function\", \"selector\", \"doctype\"],\n style: {\n color: \"rgb(153, 76, 195)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(17, 17, 17)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"operator\", \"property\", \"keyword\", \"namespace\"],\n style: {\n color: \"rgb(12, 150, 155)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(188, 84, 84)\"\n }\n }\n ]\n};\nvar nightOwlLight_default = theme6;\n\n// src/themes/oceanicNext.ts\nvar colors = {\n char: \"#D8DEE9\",\n comment: \"#999999\",\n keyword: \"#c5a5c5\",\n primitive: \"#5a9bcf\",\n string: \"#8dc891\",\n variable: \"#d7deea\",\n boolean: \"#ff8b50\",\n punctuation: \"#5FB3B3\",\n tag: \"#fc929e\",\n function: \"#79b6f2\",\n className: \"#FAC863\",\n method: \"#6699CC\",\n operator: \"#fc929e\"\n};\nvar theme7 = {\n plain: {\n backgroundColor: \"#282c34\",\n color: \"#ffffff\"\n },\n styles: [\n {\n types: [\"attr-name\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"attr-value\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\n \"comment\",\n \"block-comment\",\n \"prolog\",\n \"doctype\",\n \"cdata\",\n \"shebang\"\n ],\n style: {\n color: colors.comment\n }\n },\n {\n types: [\n \"property\",\n \"number\",\n \"function-name\",\n \"constant\",\n \"symbol\",\n \"deleted\"\n ],\n style: {\n color: colors.primitive\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: colors.boolean\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: colors.tag\n }\n },\n {\n types: [\"string\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"selector\", \"char\", \"builtin\", \"inserted\"],\n style: {\n color: colors.char\n }\n },\n {\n types: [\"function\"],\n style: {\n color: colors.function\n }\n },\n {\n types: [\"operator\", \"entity\", \"url\", \"variable\"],\n style: {\n color: colors.variable\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"atrule\", \"class-name\"],\n style: {\n color: colors.className\n }\n },\n {\n types: [\"important\"],\n style: {\n fontWeight: \"400\"\n }\n },\n {\n types: [\"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }\n ]\n};\nvar oceanicNext_default = theme7;\n\n// src/themes/okaidia.ts\nvar theme8 = {\n plain: {\n color: \"#f8f8f2\",\n backgroundColor: \"#272822\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"#f92672\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#8292a2\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"#a6e22e\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"#e6db74\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"#a6e22e\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"#66d9ef\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\",\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"property\"],\n style: {\n color: \"#f92672\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#a6e22e !important\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"#8292a2\"\n }\n },\n {\n types: [\"rule\"],\n style: {\n color: \"#e6db74\"\n }\n }\n ]\n};\nvar okaidia_default = theme8;\n\n// src/themes/palenight.ts\nvar theme9 = {\n plain: {\n color: \"#bfc7d5\",\n backgroundColor: \"#292d3e\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(105, 112, 152)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"inserted\"],\n style: {\n color: \"rgb(195, 232, 141)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n types: [\"punctuation\", \"selector\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(191, 199, 213)\"\n }\n },\n {\n types: [\"class-name\", \"attr-name\"],\n style: {\n color: \"rgb(255, 203, 107)\"\n }\n },\n {\n types: [\"tag\", \"deleted\"],\n style: {\n color: \"rgb(255, 85, 114)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(137, 221, 255)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"rgb(221, 221, 221)\"\n }\n }\n ]\n};\nvar palenight_default = theme9;\n\n// src/themes/shadesOfPurple.ts\nvar theme10 = {\n plain: {\n color: \"#9EFEFF\",\n backgroundColor: \"#2D2A55\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(179, 98, 255)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"rgb(255, 255, 255)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(165, 255, 144)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"number\", \"boolean\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 180, 84)\"\n }\n },\n {\n types: [\n \"keyword\",\n \"operator\",\n \"property\",\n \"namespace\",\n \"tag\",\n \"selector\",\n \"doctype\"\n ],\n style: {\n color: \"rgb(255, 157, 0)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"rgb(250, 208, 0)\"\n }\n }\n ]\n};\nvar shadesOfPurple_default = theme10;\n\n// src/themes/synthwave84.ts\nvar theme11 = {\n plain: {\n backgroundColor: \"linear-gradient(to bottom, #2a2139 75%, #34294f)\",\n backgroundImage: \"#34294f\",\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n },\n styles: [\n {\n types: [\"comment\", \"block-comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#495495\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#ccc\"\n }\n },\n {\n types: [\n \"tag\",\n \"attr-name\",\n \"namespace\",\n \"number\",\n \"unit\",\n \"hexcode\",\n \"deleted\"\n ],\n style: {\n color: \"#e2777a\"\n }\n },\n {\n types: [\"property\", \"selector\"],\n style: {\n color: \"#72f1b8\",\n textShadow: \"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475\"\n }\n },\n {\n types: [\"function-name\"],\n style: {\n color: \"#6196cc\"\n }\n },\n {\n types: [\"boolean\", \"selector-id\", \"function\"],\n style: {\n color: \"#fdfdfd\",\n textShadow: \"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975\"\n }\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"builtin\"],\n style: {\n color: \"#fff5f6\",\n textShadow: \"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75\"\n }\n },\n {\n types: [\"constant\", \"symbol\"],\n style: {\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n }\n },\n {\n types: [\"important\", \"atrule\", \"keyword\", \"selector-class\"],\n style: {\n color: \"#f4eee4\",\n textShadow: \"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575\"\n }\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"variable\"],\n style: {\n color: \"#f87c32\"\n }\n },\n {\n types: [\"parameter\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\", \"url\"],\n style: {\n color: \"#67cdcc\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"ffffffee\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\"],\n style: {\n cursor: \"help\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"green\"\n }\n }\n ]\n};\nvar synthwave84_default = theme11;\n\n// src/themes/ultramin.ts\nvar theme12 = {\n plain: {\n color: \"#282a2e\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(197, 200, 198)\"\n }\n },\n {\n types: [\"string\", \"number\", \"builtin\", \"variable\"],\n style: {\n color: \"rgb(150, 152, 150)\"\n }\n },\n {\n types: [\"class-name\", \"function\", \"tag\", \"attr-name\"],\n style: {\n color: \"rgb(40, 42, 46)\"\n }\n }\n ]\n};\nvar ultramin_default = theme12;\n\n// src/themes/vsDark.ts\nvar theme13 = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n },\n {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n },\n {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }\n ]\n};\nvar vsDark_default = theme13;\n\n// src/themes/vsLight.ts\nvar theme14 = {\n plain: {\n color: \"#000000\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(0, 128, 0)\"\n }\n },\n {\n types: [\"builtin\"],\n style: {\n color: \"rgb(0, 112, 193)\"\n }\n },\n {\n types: [\"number\", \"variable\", \"inserted\"],\n style: {\n color: \"rgb(9, 134, 88)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(0, 0, 0)\"\n }\n },\n {\n types: [\"constant\", \"char\"],\n style: {\n color: \"rgb(129, 31, 63)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(128, 0, 0)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 0, 0)\"\n }\n },\n {\n types: [\"deleted\", \"string\"],\n style: {\n color: \"rgb(163, 21, 21)\"\n }\n },\n {\n types: [\"changed\", \"punctuation\"],\n style: {\n color: \"rgb(4, 81, 165)\"\n }\n },\n {\n types: [\"function\", \"keyword\"],\n style: {\n color: \"rgb(0, 0, 255)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(38, 127, 153)\"\n }\n }\n ]\n};\nvar vsLight_default = theme14;\n\n// src/themes/jettwaveDark.ts\nvar theme15 = {\n plain: {\n color: \"#f8fafc\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#569CD6\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#f8fafc\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#9CDCFE\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#cbd5e1\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#D4D4D4\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#7dd3fc\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveDark_default = theme15;\n\n// src/themes/jettwaveLight.ts\nvar theme16 = {\n plain: {\n color: \"#0f172a\",\n backgroundColor: \"#f1f5f9\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#0f172a\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#64748b\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#475569\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#0e7490\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveLight_default = theme16;\n\n// src/themes/oneDark.ts\nvar theme17 = {\n plain: {\n backgroundColor: \"hsl(220, 13%, 18%)\",\n color: \"hsl(220, 14%, 71%)\",\n textShadow: \"0 1px rgba(0, 0, 0, 0.3)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(220, 10%, 40%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"maybe-class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: { color: \"hsl(29, 54%, 61%)\" }\n },\n {\n types: [\"keyword\"],\n style: { color: \"hsl(286, 60%, 67%)\" }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(355, 65%, 65%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\"\n ],\n style: {\n color: \"hsl(95, 38%, 62%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(207, 82%, 66%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(187, 47%, 55%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n }\n ]\n};\nvar oneDark_default = theme17;\n\n// src/themes/oneLight.ts\nvar theme18 = {\n plain: {\n backgroundColor: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(230, 4%, 64%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: {\n color: \"hsl(35, 99%, 36%)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: \"hsl(301, 63%, 40%)\"\n }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(5, 74%, 59%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\",\n \"punctuation\"\n ],\n style: {\n color: \"hsl(119, 34%, 47%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(221, 87%, 60%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(198, 99%, 37%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n }\n ]\n};\nvar oneLight_default = theme18;\n\n// src/themes/gruvboxMaterialDark.ts\nvar theme19 = {\n plain: {\n color: \"#ebdbb2\",\n backgroundColor: \"#292828\"\n },\n styles: [\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\",\n \"function\"\n ],\n style: {\n color: \"#d8a657\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#7daea3\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#e78a4e\"\n }\n },\n {\n types: [\"attr-name\", \"char\", \"url\", \"regex\"],\n style: {\n color: \"#a9b665\"\n }\n },\n {\n types: [\"attr-value\", \"string\"],\n style: {\n color: \"#89b482\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#ea6962\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#d3869b\"\n }\n }\n ]\n};\nvar gruvboxMaterialDark_default = theme19;\n\n// src/themes/gruvboxMaterialLight.ts\nvar theme20 = {\n plain: {\n color: \"#654735\",\n backgroundColor: \"#f9f5d7\"\n },\n styles: [\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#af2528\"\n }\n },\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\"\n ],\n style: {\n color: \"#b4730e\"\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#477a5b\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#266b79\"\n }\n },\n {\n types: [\"function\", \"attr-name\", \"char\", \"url\"],\n style: {\n color: \"#72761e\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#b94c07\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#924f79\"\n }\n }\n ]\n};\nvar gruvboxMaterialLight_default = theme20;\n\n// src/index.ts\nimport { createElement } from \"react\";\n\n// src/components/useGetLineProps.ts\nimport { useCallback } from \"react\";\nimport clsx from \"clsx\";\nvar useGetLineProps = (themeDictionary) => useCallback(\n (_a) => {\n var _b = _a, { className, style, line } = _b, rest = __objRest(_b, [\"className\", \"style\", \"line\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx(\"token-line\", className)\n });\n if (typeof themeDictionary === \"object\" && \"plain\" in themeDictionary)\n output.style = themeDictionary.plain;\n if (typeof style === \"object\")\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n return output;\n },\n [themeDictionary]\n);\n\n// src/components/useGetTokenProps.ts\nimport { useCallback as useCallback2 } from \"react\";\nimport clsx2 from \"clsx\";\nvar useGetTokenProps = (themeDictionary) => {\n const styleForToken = useCallback2(\n ({ types, empty }) => {\n if (themeDictionary == null)\n return void 0;\n else if (types.length === 1 && types[0] === \"plain\") {\n return empty != null ? { display: \"inline-block\" } : void 0;\n } else if (types.length === 1 && empty != null) {\n return themeDictionary[types[0]];\n }\n return Object.assign(\n empty != null ? { display: \"inline-block\" } : {},\n ...types.map((type) => themeDictionary[type])\n );\n },\n [themeDictionary]\n );\n return useCallback2(\n (_a) => {\n var _b = _a, { token, className, style } = _b, rest = __objRest(_b, [\"token\", \"className\", \"style\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx2(\"token\", ...token.types, className),\n children: token.content,\n style: styleForToken(token)\n });\n if (style != null) {\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n }\n return output;\n },\n [styleForToken]\n );\n};\n\n// src/utils/normalizeTokens.ts\nvar newlineRe = /\\r\\n|\\r|\\n/;\nvar normalizeEmptyLines = (line) => {\n if (line.length === 0) {\n line.push({\n types: [\"plain\"],\n content: \"\\n\",\n empty: true\n });\n } else if (line.length === 1 && line[0].content === \"\") {\n line[0].content = \"\\n\";\n line[0].empty = true;\n }\n};\nvar appendTypes = (types, add) => {\n const typesSize = types.length;\n if (typesSize > 0 && types[typesSize - 1] === add) {\n return types;\n }\n return types.concat(add);\n};\nvar normalizeTokens = (tokens) => {\n const typeArrStack = [[]];\n const tokenArrStack = [tokens];\n const tokenArrIndexStack = [0];\n const tokenArrSizeStack = [tokens.length];\n let i = 0;\n let stackIndex = 0;\n let currentLine = [];\n const acc = [currentLine];\n while (stackIndex > -1) {\n while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) {\n let content;\n let types = typeArrStack[stackIndex];\n const tokenArr = tokenArrStack[stackIndex];\n const token = tokenArr[i];\n if (typeof token === \"string\") {\n types = stackIndex > 0 ? types : [\"plain\"];\n content = token;\n } else {\n types = appendTypes(types, token.type);\n if (token.alias) {\n types = appendTypes(types, token.alias);\n }\n content = token.content;\n }\n if (typeof content !== \"string\") {\n stackIndex++;\n typeArrStack.push(types);\n tokenArrStack.push(content);\n tokenArrIndexStack.push(0);\n tokenArrSizeStack.push(content.length);\n continue;\n }\n const splitByNewlines = content.split(newlineRe);\n const newlineCount = splitByNewlines.length;\n currentLine.push({\n types,\n content: splitByNewlines[0]\n });\n for (let i2 = 1; i2 < newlineCount; i2++) {\n normalizeEmptyLines(currentLine);\n acc.push(currentLine = []);\n currentLine.push({\n types,\n content: splitByNewlines[i2]\n });\n }\n }\n stackIndex--;\n typeArrStack.pop();\n tokenArrStack.pop();\n tokenArrIndexStack.pop();\n tokenArrSizeStack.pop();\n }\n normalizeEmptyLines(currentLine);\n return acc;\n};\nvar normalizeTokens_default = normalizeTokens;\n\n// src/components/useTokenize.ts\nimport { useMemo } from \"react\";\nvar useTokenize = ({ prism, code, grammar, language }) => {\n return useMemo(() => {\n if (grammar == null)\n return normalizeTokens_default([code]);\n const prismConfig = {\n code,\n grammar,\n language,\n tokens: []\n };\n prism.hooks.run(\"before-tokenize\", prismConfig);\n prismConfig.tokens = prism.tokenize(code, grammar);\n prism.hooks.run(\"after-tokenize\", prismConfig);\n return normalizeTokens_default(prismConfig.tokens);\n }, [\n code,\n grammar,\n language,\n // prism is a stable import\n prism\n ]);\n};\n\n// src/utils/themeToDict.ts\nvar themeToDict = (theme21, language) => {\n const { plain } = theme21;\n const themeDict = theme21.styles.reduce((acc, themeEntry) => {\n const { languages: languages2, style } = themeEntry;\n if (languages2 && !languages2.includes(language)) {\n return acc;\n }\n themeEntry.types.forEach((type) => {\n const accStyle = __spreadValues(__spreadValues({}, acc[type]), style);\n acc[type] = accStyle;\n });\n return acc;\n }, {});\n themeDict.root = plain;\n themeDict.plain = __spreadProps(__spreadValues({}, plain), { backgroundColor: void 0 });\n return themeDict;\n};\nvar themeToDict_default = themeToDict;\n\n// src/components/highlight.ts\nvar Highlight = ({\n children,\n language: _language,\n code,\n theme: theme21,\n prism\n}) => {\n const language = _language.toLowerCase();\n const themeDictionary = themeToDict_default(theme21, language);\n const getLineProps = useGetLineProps(themeDictionary);\n const getTokenProps = useGetTokenProps(themeDictionary);\n const grammar = prism.languages[language];\n const tokens = useTokenize({ prism, language, code, grammar });\n return children({\n tokens,\n className: `prism-code language-${language}`,\n style: themeDictionary != null ? themeDictionary.root : {},\n getLineProps,\n getTokenProps\n });\n};\n\n// src/index.ts\nvar Highlight2 = (props) => createElement(Highlight, __spreadProps(__spreadValues({}, props), {\n prism: props.prism || Prism,\n theme: props.theme || vsDark_default,\n code: props.code,\n language: props.language\n}));\nexport {\n Highlight2 as Highlight,\n Prism,\n normalizeTokens_default as normalizeTokens,\n themes_exports as themes,\n useTokenize\n};\n/*! Bundled license information:\n\nprismjs/prism.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\n//# sourceMappingURL=index.mjs.map","import { useContext, forwardRef as reactForwardRef } from 'react';\nexport const shouldHighlightLine = (line, highlights) => {\n return highlights.some((highlight) => {\n if (typeof highlight === 'number') {\n return line === highlight;\n }\n const [min, max] = highlight.split(':').map((val) => parseInt(val));\n return min <= line && line <= max;\n });\n};\nexport const shouldHighlightToken = (word, line, highlights) => {\n return highlights.some(([highlightWord, [min, max]]) => highlightWord === word && min <= line && line <= max);\n};\nexport const splitStringByWords = (str, words) => {\n return str\n .split(new RegExp(`(${words.map(([word]) => word).join('|')})`))\n .filter(Boolean);\n};\nexport const parseWordHighlights = (words) => {\n return words.map((word) => {\n word = word.startsWith('/') ? word : '/' + word;\n const [, highlightWord, highlightRange = '0:Infinity'] = word.split('/');\n const [min, max = min] = highlightRange\n .split(':')\n .map((val) => Number(val));\n return [highlightWord, [min, max]];\n });\n};\nexport const fontStyleToCss = (token) => {\n const fontStyles = {};\n if (!token.fontStyle || token.fontStyle === -1)\n return fontStyles;\n if (token.fontStyle & 1) {\n fontStyles.fontStyle = 'italic';\n }\n if (token.fontStyle & 2) {\n fontStyles.fontWeight = 'bold';\n }\n if (token.fontStyle & 4) {\n fontStyles.textDecoration = `${fontStyles.textDecoration ?? ''} underline`.trim();\n }\n if (token.fontStyle & 8) {\n fontStyles.textDecoration = `${fontStyles.textDecoration ?? ''} line-through`.trim();\n }\n return fontStyles;\n};\nexport const createUseContext = (context, errMessage) => () => {\n const ctx = useContext(context);\n if (ctx === undefined) {\n throw new Error(errMessage);\n }\n return ctx;\n};\nexport const forwardRef = (component) => {\n return Object.assign(reactForwardRef(component), {\n displayName: component.displayName ?? component.name,\n });\n};\n//# sourceMappingURL=utils.js.map","import { createContext } from 'react';\nimport { createUseContext } from './shared/utils.js';\nexport const RootContext = createContext(undefined);\nexport const LineContext = createContext(undefined);\nexport const useRootContext = createUseContext(RootContext, 'Could not find nearest <CodeBlock /> component. Please wrap this component with a <CodeBlock /> component imported from \"react-code-block\".');\nexport const useLineContext = createUseContext(LineContext, 'Could not find nearest <CodeBlock.Code /> component. Please wrap this component with <CodeBlock.Code /> component imported from \"react-code-block\".');\n//# sourceMappingURL=contexts.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Highlight } from 'prism-react-renderer';\nimport React, { useMemo } from 'react';\nimport { LineContext, RootContext, useLineContext, useRootContext, } from './contexts.js';\nimport { forwardRef, parseWordHighlights, shouldHighlightLine, shouldHighlightToken, splitStringByWords, } from './shared/utils.js';\n/**\n * Top-level root component which contains all the sub-components to construct a code block.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblock}\n */\nconst CodeBlock = ({ code, words = [], lines = [], children, ...props }) => {\n const parsedWords = useMemo(() => parseWordHighlights(words), [words]);\n return (_jsx(RootContext.Provider, { value: { code: code.trim(), words: parsedWords, lines, ...props }, children: children }));\n};\nconst Code = ({ as, children, ...props }, ref) => {\n const { lines, words, ...highlightProps } = useRootContext();\n const Tag = as ?? 'pre';\n return (_jsx(Highlight, { ...highlightProps, children: (highlight) => (_jsx(Tag, { ...props, ref: ref, children: highlight.tokens.map((line, i) => {\n const lineNumber = i + 1;\n const isLineHighlighted = shouldHighlightLine(lineNumber, lines);\n return (_jsx(LineContext.Provider, { value: { highlight, line, lineNumber }, children: typeof children === 'function'\n ? children({ isLineHighlighted, lineNumber }, i)\n : children }, i));\n }) })) }));\n};\nconst LineContent = ({ as, children, className, ...rest }, ref) => {\n const { highlight, line } = useLineContext();\n const { getLineProps } = highlight;\n const Tag = as ?? 'div';\n return (_jsx(Tag, { ...getLineProps({ line, className }), ...rest, ref: ref, children: children }));\n};\nconst Token = ({ as, children = ({ children }) => _jsx(\"span\", { children: children }), className, ...rest }, ref) => {\n const { words } = useRootContext();\n const { line, highlight, lineNumber } = useLineContext();\n const { getTokenProps } = highlight;\n const Tag = as ?? 'span';\n return (_jsx(React.Fragment, { children: line.map((token, key) => {\n const { children: contentWithSpaces, ...props } = getTokenProps({\n token,\n className,\n });\n const content = words.length\n ? splitStringByWords(contentWithSpaces, words)\n : [contentWithSpaces];\n return (_jsx(React.Fragment, { children: content.map((content, i) => (_jsx(Tag, { ...props, ...rest, ref: ref, children: children({\n children: content,\n isTokenHighlighted: shouldHighlightToken(content, lineNumber, words),\n }) }, i))) }, key));\n }) }));\n};\nconst LineNumber = ({ as, ...props }, ref) => {\n const { lineNumber } = useLineContext();\n const Tag = as ?? 'span';\n return (_jsx(Tag, { ...props, ref: ref, children: lineNumber }));\n};\n/**\n * Container which contains code to render each line of the code.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblockcode}\n */\nCodeBlock.Code = forwardRef(Code);\n/**\n * Container for a single line of the code.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblocklinecontent}\n */\nCodeBlock.LineContent = forwardRef(LineContent);\n/**\n * Renders a syntax-highlighted token from the current line.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblocktoken}\n */\nCodeBlock.Token = forwardRef(Token);\n/**\n * Renders the line number for the current line.\n *\n * API Reference: {@link https://react-code-block.netlify.app/api-reference#codeblocklinenumber}\n */\nCodeBlock.LineNumber = forwardRef(LineNumber);\nexport { CodeBlock };\n//# sourceMappingURL=code-block.js.map","import L2, { useRef as a2, useEffect as V, useState as E, Fragment as l2 } from \"react\";\nimport { IconContext as L, CircleNotchIcon as Z, CheckIcon as P, CopyIcon as v2, CaretDownIcon as _2, XIcon as j2, MagnifyingGlassIcon as D2, InfoIcon as H2 } from \"@phosphor-icons/react\";\nimport { themes as u2 } from \"prism-react-renderer\";\nimport { CodeBlock as O } from \"react-code-block\";\nvar I = { exports: {} }, A = {};\nvar b2;\nfunction A2() {\n if (b2) return A;\n b2 = 1;\n var r = /* @__PURE__ */ Symbol.for(\"react.transitional.element\"), a = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n function l(i, c, o) {\n var s = null;\n if (o !== void 0 && (s = \"\" + o), c.key !== void 0 && (s = \"\" + c.key), \"key\" in c) {\n o = {};\n for (var d in c)\n d !== \"key\" && (o[d] = c[d]);\n } else o = c;\n return c = o.ref, {\n $$typeof: r,\n type: i,\n key: s,\n ref: c !== void 0 ? c : null,\n props: o\n };\n }\n return A.Fragment = a, A.jsx = l, A.jsxs = l, A;\n}\nvar M = {};\nvar p2;\nfunction M2() {\n return p2 || (p2 = 1, process.env.NODE_ENV !== \"production\" && (function() {\n function r(n) {\n if (n == null) return null;\n if (typeof n == \"function\")\n return n.$$typeof === E2 ? null : n.displayName || n.name || null;\n if (typeof n == \"string\") return n;\n switch (n) {\n case _:\n return \"Fragment\";\n case S:\n return \"Profiler\";\n case D:\n return \"StrictMode\";\n case m:\n return \"Suspense\";\n case j:\n return \"SuspenseList\";\n case B2:\n return \"Activity\";\n }\n if (typeof n == \"object\")\n switch (typeof n.tag == \"number\" && console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ), n.$$typeof) {\n case F:\n return \"Portal\";\n case Y:\n return n.displayName || \"Context\";\n case q:\n return (n._context.displayName || \"Context\") + \".Consumer\";\n case z:\n var u = n.render;\n return n = n.displayName, n || (n = u.displayName || u.name || \"\", n = n !== \"\" ? \"ForwardRef(\" + n + \")\" : \"ForwardRef\"), n;\n case H:\n return u = n.displayName || null, u !== null ? u : r(n.type) || \"Memo\";\n case U:\n u = n._payload, n = n._init;\n try {\n return r(n(u));\n } catch {\n }\n }\n return null;\n }\n function a(n) {\n return \"\" + n;\n }\n function l(n) {\n try {\n var u = !1;\n } catch {\n u = !0;\n }\n if (u) {\n u = console;\n var y = u.error, k = typeof Symbol == \"function\" && Symbol.toStringTag && n[Symbol.toStringTag] || n.constructor.name || \"Object\";\n return y.call(\n u,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n k\n ), a(n);\n }\n }\n function i(n) {\n if (n === _) return \"<>\";\n if (typeof n == \"object\" && n !== null && n.$$typeof === U)\n return \"<...>\";\n try {\n var u = r(n);\n return u ? \"<\" + u + \">\" : \"<...>\";\n } catch {\n return \"<...>\";\n }\n }\n function c() {\n var n = W.A;\n return n === null ? null : n.getOwner();\n }\n function o() {\n return Error(\"react-stack-top-frame\");\n }\n function s(n) {\n if (s2.call(n, \"key\")) {\n var u = Object.getOwnPropertyDescriptor(n, \"key\").get;\n if (u && u.isReactWarning) return !1;\n }\n return n.key !== void 0;\n }\n function d(n, u) {\n function y() {\n o2 || (o2 = !0, console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n u\n ));\n }\n y.isReactWarning = !0, Object.defineProperty(n, \"key\", {\n get: y,\n configurable: !0\n });\n }\n function x() {\n var n = r(this.type);\n return d2[n] || (d2[n] = !0, console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n )), n = this.props.ref, n !== void 0 ? n : null;\n }\n function b(n, u, y, k, $, J) {\n var f = y.ref;\n return n = {\n $$typeof: B,\n type: n,\n key: u,\n props: y,\n _owner: k\n }, (f !== void 0 ? f : null) !== null ? Object.defineProperty(n, \"ref\", {\n enumerable: !1,\n get: x\n }) : Object.defineProperty(n, \"ref\", { enumerable: !1, value: null }), n._store = {}, Object.defineProperty(n._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n }), Object.defineProperty(n, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n }), Object.defineProperty(n, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: $\n }), Object.defineProperty(n, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: J\n }), Object.freeze && (Object.freeze(n.props), Object.freeze(n)), n;\n }\n function h(n, u, y, k, $, J) {\n var f = u.children;\n if (f !== void 0)\n if (k)\n if (T2(f)) {\n for (k = 0; k < f.length; k++)\n C(f[k]);\n Object.freeze && Object.freeze(f);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else C(f);\n if (s2.call(u, \"key\")) {\n f = r(n);\n var T = Object.keys(u).filter(function(N2) {\n return N2 !== \"key\";\n });\n k = 0 < T.length ? \"{key: someKey, \" + T.join(\": ..., \") + \": ...}\" : \"{key: someKey}\", h2[f + k] || (T = 0 < T.length ? \"{\" + T.join(\": ..., \") + \": ...}\" : \"{}\", console.error(\n `A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`,\n k,\n f,\n T,\n f\n ), h2[f + k] = !0);\n }\n if (f = null, y !== void 0 && (l(y), f = \"\" + y), s(u) && (l(u.key), f = \"\" + u.key), \"key\" in u) {\n y = {};\n for (var X in u)\n X !== \"key\" && (y[X] = u[X]);\n } else y = u;\n return f && d(\n y,\n typeof n == \"function\" ? n.displayName || n.name || \"Unknown\" : n\n ), b(\n n,\n f,\n y,\n c(),\n $,\n J\n );\n }\n function C(n) {\n v(n) ? n._store && (n._store.validated = 1) : typeof n == \"object\" && n !== null && n.$$typeof === U && (n._payload.status === \"fulfilled\" ? v(n._payload.value) && n._payload.value._store && (n._payload.value._store.validated = 1) : n._store && (n._store.validated = 1));\n }\n function v(n) {\n return typeof n == \"object\" && n !== null && n.$$typeof === B;\n }\n var w = L2, B = /* @__PURE__ */ Symbol.for(\"react.transitional.element\"), F = /* @__PURE__ */ Symbol.for(\"react.portal\"), _ = /* @__PURE__ */ Symbol.for(\"react.fragment\"), D = /* @__PURE__ */ Symbol.for(\"react.strict_mode\"), S = /* @__PURE__ */ Symbol.for(\"react.profiler\"), q = /* @__PURE__ */ Symbol.for(\"react.consumer\"), Y = /* @__PURE__ */ Symbol.for(\"react.context\"), z = /* @__PURE__ */ Symbol.for(\"react.forward_ref\"), m = /* @__PURE__ */ Symbol.for(\"react.suspense\"), j = /* @__PURE__ */ Symbol.for(\"react.suspense_list\"), H = /* @__PURE__ */ Symbol.for(\"react.memo\"), U = /* @__PURE__ */ Symbol.for(\"react.lazy\"), B2 = /* @__PURE__ */ Symbol.for(\"react.activity\"), E2 = /* @__PURE__ */ Symbol.for(\"react.client.reference\"), W = w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, s2 = Object.prototype.hasOwnProperty, T2 = Array.isArray, G = console.createTask ? console.createTask : function() {\n return null;\n };\n w = {\n react_stack_bottom_frame: function(n) {\n return n();\n }\n };\n var o2, d2 = {}, x2 = w.react_stack_bottom_frame.bind(\n w,\n o\n )(), g2 = G(i(o)), h2 = {};\n M.Fragment = _, M.jsx = function(n, u, y) {\n var k = 1e4 > W.recentlyCreatedOwnerStacks++;\n return h(\n n,\n u,\n y,\n !1,\n k ? Error(\"react-stack-top-frame\") : x2,\n k ? G(i(n)) : g2\n );\n }, M.jsxs = function(n, u, y) {\n var k = 1e4 > W.recentlyCreatedOwnerStacks++;\n return h(\n n,\n u,\n y,\n !0,\n k ? Error(\"react-stack-top-frame\") : x2,\n k ? G(i(n)) : g2\n );\n };\n })()), M;\n}\nvar y2;\nfunction R2() {\n return y2 || (y2 = 1, process.env.NODE_ENV === \"production\" ? I.exports = /* @__PURE__ */ A2() : I.exports = /* @__PURE__ */ M2()), I.exports;\n}\nvar e = /* @__PURE__ */ R2();\nconst C0 = (r, a) => [...Array(a + 1 - r)].map((l, i) => i + r);\nfunction w2(r) {\n var a, l, i = \"\";\n if (typeof r == \"string\" || typeof r == \"number\") i += r;\n else if (typeof r == \"object\") if (Array.isArray(r)) {\n var c = r.length;\n for (a = 0; a < c; a++) r[a] && (l = w2(r[a])) && (i && (i += \" \"), i += l);\n } else for (l in r) r[l] && (i && (i += \" \"), i += l);\n return i;\n}\nfunction V2() {\n for (var r, a, l = 0, i = \"\", c = arguments.length; l < c; l++) (r = arguments[l]) && (a = w2(r)) && (i && (i += \" \"), i += a);\n return i;\n}\nconst g = V2, m0 = (r) => r.charAt(0).toUpperCase() + r.slice(1), v0 = (r) => r.split(new RegExp(\"(?<=\\\\.) \"));\nfunction i2({\n isActive: r,\n onDismiss: a,\n includeEscape: l = !0,\n extraRefs: i = []\n}) {\n const c = a2(null);\n return V(() => {\n if (!r) return;\n const o = (x) => [c, ...i].some((h) => h.current && h.current.contains(x)), s = (x) => {\n const b = x.target;\n b && (o(b) || a());\n }, d = (x) => {\n l && x.key === \"Escape\" && a();\n };\n return document.addEventListener(\"mousedown\", s), document.addEventListener(\"touchstart\", s, { passive: !0 }), document.addEventListener(\"keydown\", d), () => {\n document.removeEventListener(\"mousedown\", s), document.removeEventListener(\"touchstart\", s), document.removeEventListener(\"keydown\", d);\n };\n }, [r, l, a, i]), { ref: c };\n}\nfunction c2() {\n const [r, a] = E(window.matchMedia(\"(prefers-color-scheme: dark)\").matches);\n return V(() => {\n window.matchMedia(\"(prefers-color-scheme: dark)\").addEventListener(\"change\", (l) => {\n a(l.matches);\n });\n }, []), {\n isDark: r,\n setIsDark: a\n };\n}\nconst n2 = ({\n variant: r = \"primary\",\n size: a = \"medium\",\n text: l,\n iconBefore: i,\n iconAfter: c,\n className: o,\n disabled: s = !1,\n loading: d = !1,\n round: x = !1,\n ...b\n}) => /* @__PURE__ */ e.jsx(\n \"button\",\n {\n className: g(\n \"flex gap-2 justify-center items-center disabled:pointer-events-none\",\n x ? \"rounded-full\" : \"rounded-lg\",\n P2(r),\n S2(a),\n o\n ),\n disabled: s,\n ...b,\n children: /* @__PURE__ */ e.jsx(\n L.Provider,\n {\n value: {\n size: a === \"xsmall\" ? 12 : 16,\n weight: \"regular\",\n className: g(K(r, s))\n },\n children: d ? /* @__PURE__ */ e.jsx(Z, { className: g(K(r, s), \"animate-spin\") }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n i && i,\n l && /* @__PURE__ */ e.jsx(\"span\", { className: g(K(r, s), q2(a)), children: l }),\n c && c\n ] })\n }\n )\n }\n), P2 = (r) => {\n switch (r) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-button-light dark:bg-secondary-action-button-dark hover:bg-secondary-action-button-hover-light dark:hover:bg-secondary-action-button-hover-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"tertiary\":\n return \"border border-grey-0/0 bg-tertiary-action-button-light dark:bg-tertiary-action-button-dark hover:bg-tertiary-action-button-hover-light dark:hover:bg-tertiary-action-button-hover-dark disabled:bg-tertiary-action-disabled-light dark:disabled:bg-tertiary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, K = (r, a) => {\n if (a) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (r) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"tertiary\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, S2 = (r) => {\n switch (r) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, q2 = (r) => {\n switch (r) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[16px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, j0 = (r) => {\n const { textToCopy: a, onClick: l, variant: i, ...c } = r, [o, s] = E(!1), d = () => {\n navigator.clipboard.writeText(a), s(!0), setTimeout(() => s(!1), 2e3);\n };\n return /* @__PURE__ */ e.jsx(\n n2,\n {\n variant: i || \"neutral\",\n iconAfter: o ? /* @__PURE__ */ e.jsx(P, {}) : /* @__PURE__ */ e.jsx(v2, {}),\n onClick: (x) => {\n d(), l?.(x);\n },\n ...c\n }\n );\n}, w0 = ({\n variant: r = \"primary\",\n size: a = \"medium\",\n text: l,\n iconBefore: i,\n iconAfter: c,\n className: o,\n disabled: s = !1,\n loading: d = !1,\n ...x\n}) => {\n const b = !l && (!!i || !!c), h = g(k2(r), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": s\n });\n return /* @__PURE__ */ e.jsx(\n \"button\",\n {\n className: g(\n \"flex gap-2 justify-center items-center group\",\n $2(r),\n O2(a),\n {\n \"rounded-full\": b,\n \"rounded-md\": !b\n },\n o\n ),\n disabled: s,\n ...x,\n children: /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(\n L.Provider,\n {\n value: {\n size: a === \"xsmall\" ? 12 : 16,\n weight: \"regular\",\n className: h\n },\n children: d ? /* @__PURE__ */ e.jsx(Z, { className: g(h, \"animate-spin\") }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n i && i,\n l && /* @__PURE__ */ e.jsx(\n p,\n {\n variant: a === \"xsmall\" ? \"M\" : a === \"small\" ? \"B2Button\" : \"B1Button\",\n className: g(k2(r), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": s\n }),\n children: l\n }\n ),\n c && c\n ] })\n }\n ) })\n }\n );\n}, $2 = (r) => {\n switch (r) {\n case \"primary\":\n return \"bg-danger-background-light dark:bg-danger-background-dark hover:bg-danger-hover-light dark:hover:bg-danger-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark disabled:border disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"hover:bg-danger-background-light dark:hover:bg-danger-background-dark border border-[rgba(255,255,255,0.0)] hover:border-danger-accessible-light dark:hover:border-danger-accessible-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n }\n}, k2 = (r) => {\n switch (r) {\n case \"primary\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark group-hover:text-label-quaternary-light dark:group-hover:text-label-quaternary-dark\";\n case \"subtle\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark\";\n }\n}, O2 = (r) => {\n switch (r) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, F0 = ({\n label: r,\n selectedKey: a,\n setSelectedKey: l,\n options: i,\n selectedIcon: c = !1,\n noPadding: o = !1\n}) => {\n const s = i.find((h) => h.key === a), [d, x] = E(!1), { ref: b } = i2({\n isActive: d,\n onDismiss: () => x(!1)\n });\n return /* @__PURE__ */ e.jsxs(\"div\", { ref: b, className: g(\"flex flex-col gap-3\", o ? \"\" : \"pt-4 pb-6\"), children: [\n r && /* @__PURE__ */ e.jsx(\n \"div\",\n {\n onClick: () => x(!d),\n \"aria-expanded\": d,\n \"aria-controls\": \"dropdown-menu\",\n role: \"label\",\n className: \"flex cursor-pointer\",\n children: /* @__PURE__ */ e.jsx(p, { variant: \"H4\", children: r })\n }\n ),\n /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ e.jsxs(\n \"button\",\n {\n role: \"button\",\n \"aria-expanded\": d,\n \"aria-controls\": \"dropdown-menu\",\n onClick: () => x(!d),\n className: \"flex items-center gap-2 justify-between px-2 py-3 border rounded-lg border-separator-regular-light dark:border-separator-regular-dark\",\n children: [\n /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n s?.icon,\n /* @__PURE__ */ e.jsx(p, { variant: \"B1Button\", children: s?.value })\n ] }),\n /* @__PURE__ */ e.jsx(_2, { size: 16 })\n ]\n }\n ),\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col relative\", children: d && /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col absolute w-full top-1 gap-2 px-2 py-3 shadow-lg rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark border-separator-regular-light dark:border-separator-regular-dark\", children: i.map((h) => /* @__PURE__ */ e.jsxs(\n \"button\",\n {\n role: \"option\",\n \"aria-selected\": h.key === a,\n \"aria-label\": h.value,\n \"aria-controls\": \"dropdown-menu\",\n \"aria-expanded\": d,\n className: g(\n \"flex items-center gap-2 py-1 pr-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n h.key === a && \"bg-overlay-fill-default-light dark:bg-overlay-fill-default-dark\",\n !c && \"pl-2\",\n c && h.key === a && \"pl-2\",\n c && h.key !== a && \"pl-8\"\n ),\n onClick: () => {\n l(h.key), x(!1);\n },\n children: [\n c && h.key === a && /* @__PURE__ */ e.jsx(P, { size: 16 }),\n h.icon && h.icon,\n /* @__PURE__ */ e.jsx(p, { variant: \"B2\", children: h.value })\n ]\n },\n h.key\n )) }) })\n ] })\n ] });\n}, B0 = ({\n textVariant: r = \"B1\",\n significance: a = \"primary\",\n placeholder: l,\n value: i,\n onSave: c,\n onCancel: o,\n onChange: s,\n initialState: d = \"view\",\n autoEdit: x = \"off\",\n saveOnBlur: b = !1\n}) => {\n const [h, C] = E(d === \"edit\"), v = a2(null);\n V(() => {\n h && (x === \"on\" && v.current?.focus(), x === \"mark\" && v.current?.select());\n }, [v, x, h]);\n const w = async () => {\n C(!1), await c?.();\n }, B = (F) => {\n if (F.key === \"Enter\") {\n w();\n return;\n }\n if (F.key === \"Escape\") {\n C(!1), o?.();\n return;\n }\n };\n return /* @__PURE__ */ e.jsx(\"div\", { className: \"flex grow\", children: h ? /* @__PURE__ */ e.jsx(\n \"input\",\n {\n className: g(\n N[r],\n \"outline-hidden w-full\",\n `text-label-${a}-light dark:text-label-${a}-dark bg-transparent placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark`\n ),\n value: i,\n onChange: (F) => {\n s?.(F.target.value);\n },\n onBlur: b ? w : void 0,\n onKeyUp: B,\n ref: v,\n placeholder: l\n }\n ) : /* @__PURE__ */ e.jsx(\"button\", { onClick: () => C(!0), children: /* @__PURE__ */ e.jsx(p, { variant: r, significance: a, children: i }) }) });\n}, E0 = ({ placeholder: r, value: a, onChange: l, onClear: i, disabled: c, size: o = \"medium\" }) => {\n const s = o === \"small\" ? \"p-2\" : \"py-3 px-4\", d = \"text-label-primary-light dark:text-label-primary-dark placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark disabled:text-primary-action-disabled-light dark:disabled:text-primary-action-disabled-dark\";\n return /* @__PURE__ */ e.jsxs(\n \"div\",\n {\n \"aria-disabled\": c,\n className: g(\n \"flex gap-2 rounded-lg border items-center\",\n s,\n \"border-separator-regular-light dark:border-separator-regular-dark\",\n \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: [\n /* @__PURE__ */ e.jsx(\n \"input\",\n {\n type: \"text\",\n placeholder: r,\n value: a,\n onChange: (x) => l?.(x.target.value),\n disabled: c,\n className: g(\"flex-1 bg-transparent outline-hidden\", d, {\n [N.B1Button]: o === \"medium\",\n [N.B2Button]: o === \"small\"\n })\n }\n ),\n /* @__PURE__ */ e.jsx(\"button\", { onClick: i, disabled: c, className: d, children: a && i ? /* @__PURE__ */ e.jsx(j2, { size: 16 }) : /* @__PURE__ */ e.jsx(D2, { size: 16 }) })\n ]\n }\n );\n}, T0 = ({ options: r, onChange: a, selectedValue: l, size: i = \"small\", contrast: c = \"low\" }) => {\n const o = {\n small: {\n wrapper: \"p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n xsmall: {\n wrapper: \"p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\"\n },\n xxsmall: {\n wrapper: \"p-[1.25px] rounded-[5px]\",\n icon: 12,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\"\n }\n }, s = c === \"high\" ? \"bg-secondary-action-button-light dark:bg-secondary-action-button-dark text-label-quaternary-light dark:text-label-quaternary-dark\" : \"bg-background-secondary-grouped-light dark:bg-background-secondary-grouped-dark text-label-primary-light dark:text-label-primary-dark\";\n return /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"flex bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\",\n o[i].wrapper\n ),\n children: r.map((d) => /* @__PURE__ */ e.jsx(\n \"button\",\n {\n onClick: () => a(d.value),\n className: g(\n \"flex items-center justify-center\",\n o[i].button,\n {\n [s]: d.value === l\n },\n {\n \"text-label-secondary-light dark:text-label-secondary-dark\": d.value !== l\n }\n ),\n children: /* @__PURE__ */ e.jsx(L.Provider, { value: { size: o[i].icon }, children: d.icon })\n },\n d.value\n ))\n }\n );\n}, N0 = ({\n label: r,\n description: a,\n variant: l = \"medium\",\n className: i,\n inputClassName: c,\n value: o,\n rules: s = [],\n onUpdate: d,\n onBlur: x,\n onChange: b,\n labelOnlyForScreenReaders: h,\n disabled: C,\n autoEdit: v = !1,\n ...w\n}) => {\n const B = o, [F, _] = E(!1), [D, S] = E([]), q = a2(null);\n V(() => {\n v && q.current?.focus();\n }, [v]);\n const Y = (m) => {\n const j = m.target.value;\n F && S(s.map((H) => H(j, r || \"\")).filter(Boolean));\n }, z = (m) => {\n const j = m ?? B;\n S(s.map((H) => H(j, r || \"\")).filter(Boolean)), _(!0);\n };\n return /* @__PURE__ */ e.jsxs(\"label\", { className: g(i, \"flex flex-col gap-2 grow\", h && \"sr-only\"), children: [\n r && /* @__PURE__ */ e.jsx(p, { variant: l === \"small\" ? \"B2\" : \"B1\", significance: C ? \"disabled\" : \"primary\", children: r }),\n a && /* @__PURE__ */ e.jsx(\n p,\n {\n significance: C ? \"disabled\" : \"secondary\",\n variant: l === \"small\" ? \"B2Button\" : \"B1Button\",\n children: a\n }\n ),\n /* @__PURE__ */ e.jsx(\n \"input\",\n {\n className: g(\n c,\n \"border-solid border focus:outline-hidden rounded-lg bg-background-primary-light dark:bg-background-primary-dark\",\n {\n \"px-4 py-3\": l === \"medium\",\n \"px-4 py-2\": l === \"small\",\n [N.B1Button]: l === \"medium\",\n [N.B2Button]: l === \"small\",\n \"text-label-primary-light dark:text-label-primary-dark\": !C,\n \"text-label-placeholder-light dark:text-label-placeholder-dark\": C,\n \"border-separator-opaque-light dark:border-separator-opaque-dark\": D.length === 0,\n \"border-danger-default-light dark:border-danger-default-dark\": D.length > 0\n }\n ),\n value: B,\n onChange: (m) => {\n Y(m), b?.(m);\n },\n onBlur: (m) => {\n const j = m.currentTarget.value;\n z(j), d?.(j), x?.(m);\n },\n onMouseUp: (m) => m.preventDefault(),\n ref: q,\n ...w\n }\n ),\n D.map((m, j) => /* @__PURE__ */ e.jsx(\n p,\n {\n as: \"p\",\n variant: l === \"small\" ? \"B2Button\" : \"B1Button\",\n significance: C ? \"disabled\" : \"primary\",\n children: m\n },\n j\n ))\n ] });\n}, L0 = ({ selected: r, setSelected: a, as: l = \"button\" }) => {\n const i = l, c = g(\n \"flex items-center justify-center cursor-pointer w-6 h-6 rounded-sm border\",\n !r && \"border-separator-regular-light dark:border-separator-regular-dark\",\n r && \"border-label-primary-light dark:border-label-primary-dark bg-label-primary-light dark:bg-label-primary-dark\"\n );\n return /* @__PURE__ */ e.jsx(i, { onClick: () => a?.(!r), className: c, children: /* @__PURE__ */ e.jsx(\"div\", { className: \"p-1.5\", children: /* @__PURE__ */ e.jsx(\n P,\n {\n size: 12,\n className: g(\"text-label-quaternary-light dark:text-label-quaternary-dark\", !r && \"invisible\")\n }\n ) }) });\n}, _0 = ({\n isOn: r,\n onChange: a,\n size: l = \"medium\",\n onBackgroundColor: i,\n offIcon: c,\n onIcon: o,\n ariaLabel: s,\n disabled: d,\n loading: x\n}) => {\n const b = i || \"bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\", h = {\n xxsmall: {\n wrapper: \"h-[20px] w-[32px] p-[2px] rounded-[5px]\",\n icon: 10,\n button: \"h-[16px] w-[16px] rounded-[3px]\"\n },\n xsmall: {\n wrapper: \"h-[24px] w-[40px] p-[2px] rounded-[6px]\",\n icon: 12,\n button: \"h-[20px] w-[20px] rounded-[4px]\"\n },\n small: {\n wrapper: \"h-[32px] w-[52px] p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n medium: {\n wrapper: \"h-[40px] w-[64px] p-[2px] rounded-[10px]\",\n icon: 20,\n button: \"h-[36px] w-[36px] rounded-[8px]\"\n }\n }, C = d ? \"bg-label-placeholder-light\" : \"bg-nonadaptable-text-light\";\n return /* @__PURE__ */ e.jsx(\"div\", { className: \"flex items-center\", title: s, children: /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\"flex items-center\", h[l].wrapper, {\n \"bg-background-secondary justify-start\": !r,\n [b]: r,\n \"bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\": !r,\n \"justify-end\": r\n }),\n children: /* @__PURE__ */ e.jsx(\n \"button\",\n {\n onClick: (v) => {\n v.preventDefault(), v.stopPropagation(), a(!r);\n },\n \"aria-label\": s,\n disabled: d || x,\n className: g(\n \"flex items-center justify-center text-nonadaptable-text-dark\",\n h[l].button,\n C\n ),\n children: /* @__PURE__ */ e.jsx(L.Provider, { value: { size: h[l].icon }, children: x ? /* @__PURE__ */ e.jsx(Z, { className: \"animate-spin\" }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n o && r && o,\n c && !r && c\n ] }) })\n }\n )\n }\n ) });\n}, D0 = ({\n options: r,\n selectedFirst: a,\n selectedSecond: l,\n onSelectedFirst: i,\n onSelectedSecond: c,\n onClear: o\n}) => /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex gap-3 py-3\", children: [\n a && /* @__PURE__ */ e.jsx(n2, { variant: \"neutral\", size: \"small\", iconAfter: /* @__PURE__ */ e.jsx(j2, {}), onClick: o }),\n a ? r.filter((s) => s.key === a.key).map((s) => /* @__PURE__ */ e.jsxs(l2, { children: [\n /* @__PURE__ */ e.jsx(f2, { text: s.value, active: !0 }),\n s.options.map((d) => /* @__PURE__ */ e.jsx(\n l0,\n {\n onClick: () => c(d),\n selected: l?.key == d.key,\n text: d.value,\n significance: l?.key == d.key || !l ? \"primary\" : \"secondary\"\n },\n d.key\n ))\n ] }, s.key)) : r.map((s) => /* @__PURE__ */ e.jsx(\"button\", { onClick: () => i(s), children: /* @__PURE__ */ e.jsx(f2, { text: s.value }) }, s.key))\n] }), H0 = ({ groups: r, align: a = \"left\", onDismiss: l, grow: i = !1 }) => {\n const c = r.some((s) => s.items.some((d) => d.selected)), { ref: o } = i2({\n isActive: !!l,\n onDismiss: () => l?.(),\n includeEscape: !0\n });\n return /* @__PURE__ */ e.jsx(\"div\", { ref: o, className: g(\"relative\", { \"flex flex-col grow\": i }), children: /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": a === \"right\",\n \"left-0\": a === \"left\",\n \"w-full\": i,\n \"w-max\": !i\n }\n ),\n children: /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col gap-3\", children: r.map((s, d) => /* @__PURE__ */ e.jsxs(l2, { children: [\n /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [\n s.title && /* @__PURE__ */ e.jsx(p, { variant: \"D1B\", significance: \"secondary\", children: s.title }),\n s.items.map((x, b) => /* @__PURE__ */ e.jsxs(\n \"button\",\n {\n onClick: x.onClick,\n className: \"flex items-center gap-2 py-1 px-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n children: [\n /* @__PURE__ */ e.jsxs(L.Provider, { value: { size: 16 }, children: [\n c ? /* @__PURE__ */ e.jsx(\"div\", { className: \"shrink-0\", children: x.selected ? /* @__PURE__ */ e.jsx(P, {}) : /* @__PURE__ */ e.jsx(\"div\", { className: \"w-4 shrink-0\" }) }) : null,\n x.icon\n ] }),\n /* @__PURE__ */ e.jsx(p, { variant: \"B2\", children: x.label })\n ]\n },\n `item-${d}-${b}`\n ))\n ] }),\n d < r.length - 1 && /* @__PURE__ */ e.jsx(F2, {}, `separator-${d}`)\n ] }, `group-${d}`)) })\n }\n ) });\n}, A0 = ({ children: r, className: a, variant: l = \"B1\", significance: i = \"primary\", as: c }) => {\n const o = c ?? Z2[l], s = I2[l];\n return /* @__PURE__ */ e.jsx(o, { className: g(\"font-code\", Y2[i], a, s), children: r });\n}, I2 = {\n B1B: \"text-[15px] font-bold leading-[24px]\",\n B1: \"text-[15px] leading-[24px]\",\n B1Button: \"text-[15px] leading-[16px]\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\"\n}, Z2 = {\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\"\n}, Y2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, M0 = ({ children: r, className: a, variant: l = \"MetMedMed\", significance: i = \"primary\", as: c }) => {\n const o = c ?? U2[l], s = z2[l];\n return /* @__PURE__ */ e.jsx(o, { className: g(\"font-sans\", W2[i], a, s), children: r });\n}, z2 = {\n MetMedBold: \"text-[24px] font-bold leading-[32px] -tracking-0,1\",\n MetMedMed: \"text-[24px] font-medium leading-[32px] -tracking-0,1\",\n MetMedReg: \"text-[24px] font-regular leading-[32px] -tracking-0,1\",\n MetSmBold: \"text-[20px] font-bold leading-[24px] -tracking-0,1\",\n MetSmMed: \"text-[20px] font-medium leading-[24px] -tracking-0,1\",\n MetSmReg: \"text-[20px] font-regular leading-[24px] -tracking-0,1\",\n AnnoMedBold: \"text-[24px] font-bold leading-[32px] -tracking-0,1\",\n AnnoMedMed: \"text-[24px] font-medium leading-[32px] -tracking-0,1\"\n}, U2 = {\n MetMedBold: \"p\",\n MetMedMed: \"p\",\n MetMedReg: \"p\",\n MetSmBold: \"p\",\n MetSmMed: \"p\",\n MetSmReg: \"p\",\n AnnoMedBold: \"p\",\n AnnoMedMed: \"p\"\n}, W2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, G2 = ({ children: r }) => r.split(`\n`).map((a, l) => /* @__PURE__ */ e.jsxs(l2, { children: [\n a,\n l < r.split(`\n`).length - 1 && /* @__PURE__ */ e.jsx(\"br\", {})\n] }, l)), N = {\n Di1: \"text-[72px] font-bold leading-[90px] -tracking-2,5\",\n Di2: \"text-[60px] font-bold leading-[72px] -tracking-2,0\",\n Di3: \"text-[48px] font-bold leading-[60px] -tracking-1,5\",\n T1: \"text-[40px] font-bold leading-[48px] -tracking-1,5\",\n T2: \"text-[32px] font-bold leading-[40px] -tracking-1\",\n T3: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H1: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H2: \"text-[20px] font-bold leading-[24px]\",\n H3: \"text-[15px] font-bold leading-[20px]\",\n H4: \"text-[13px] font-bold leading-[16px]\",\n B1B: \"text-[15px] font-bold leading-[24px] -tracking-0,1\",\n B1: \"text-[15px] leading-[24px] -tracking-0,1\",\n B1Button: \"text-[15px] leading-[16px] -tracking-0,1\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\",\n D1B: \"text-[12px] font-bold leading-[16px]\",\n D1: \"text-[12px] leading-[16px]\",\n M: \"text-[10px] leading-[16px]\"\n}, p = ({ children: r, className: a, variant: l = \"B1\", significance: i = \"primary\", as: c }) => {\n const o = c ?? J2[l], s = N[l];\n return /* @__PURE__ */ e.jsx(o, { className: g(\"font-sans\", X2[i], a, s), children: r });\n}, J2 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\",\n D1B: \"p\",\n D1: \"p\",\n M: \"p\"\n}, X2 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, R0 = ({ items: r }) => /* @__PURE__ */ e.jsx(\"ul\", { className: \"flex flex-col list-disc ml-4 text-label-primary-light dark:text-label-primary-dark\", children: r.map((a, l) => /* @__PURE__ */ e.jsx(\"li\", { children: /* @__PURE__ */ e.jsx(p, { as: \"span\", children: /* @__PURE__ */ e.jsx(G2, { children: a }) }) }, l)) }), V0 = ({ children: r, className: a, variant: l = \"H1B\", significance: i = \"primary\", as: c }) => {\n const o = c ?? Q2[l], s = K2[l];\n return /* @__PURE__ */ e.jsx(o, { className: g(\"font-mc\", e0[i], a, s), children: r });\n}, K2 = {\n Di1: \"text-[72px] font-medium leading-[90px] -tracking-0,1\",\n Di2: \"text-[60px] font-medium leading-[80px] -tracking-0,1\",\n Di3: \"text-[48px] font-medium leading-[72px] -tracking-0,1\",\n T1: \"text-[40px] font-medium leading-[52px]\",\n T2: \"text-[32px] font-medium leading-[48px]\",\n T3: \"text-[24px] font-medium leading-[32px]\",\n H1B: \"text-[24px] font-semibold leading-[32px]\",\n H1: \"text-[24px] font-medium leading-[32px]\",\n H2B: \"text-[20px] font-semibold leading-[28px]\",\n H2: \"text-[20px] font-medium leading-[28px]\",\n H3B: \"text-[15px] font-semibold leading-[20px]\",\n H3: \"text-[15px] font-medium leading-[20px]\"\n}, Q2 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H1B: \"h1\",\n H2: \"h2\",\n H2B: \"h2\",\n H3: \"h3\",\n H3B: \"h3\"\n}, e0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\",\n \"brand-yellow\": \"text-brand-yellow-text-big-light dark:text-brand-yellow-text-big-dark\",\n \"brand-coral\": \"text-brand-coral-text-big-light dark:text-brand-coral-text-big-dark\",\n \"brand-mint\": \"text-brand-mint-text-big-light dark:text-brand-mint-text-big-dark\"\n}, P0 = ({ href: r, text: a, variant: l = \"primary\", size: i = \"medium\", onClick: c, skipAnchor: o = !1 }) => {\n const s = l === \"primary\" ? \"text-primary-action-button-light dark:text-primary-action-button-dark hover:text-primary-action-graphical-light dark:hover:text-primary-action-graphical-dark\" : l === \"secondary\" ? \"underline text-label-primary-light dark:text-label-primary-dark hover:text-label-secondary-light dark:hover:text-laberl-secondary-dark\" : \"text-label-primary-light dark:text-label-primary-dark hover:text-label-secondary-light dark:hover:text-laberl-secondary-dark\";\n return o ? /* @__PURE__ */ e.jsx(p, { variant: i === \"medium\" ? \"B1\" : \"B2\", className: s, children: a }) : /* @__PURE__ */ e.jsx(\"a\", { href: r, onClick: c, children: /* @__PURE__ */ e.jsx(p, { variant: i === \"medium\" ? \"B1\" : \"B2\", className: s, children: a }) });\n}, S0 = ({\n href: r,\n variant: a = \"primary\",\n size: l = \"medium\",\n text: i,\n iconBefore: c,\n iconAfter: o,\n className: s,\n disabled: d = !1,\n loading: x = !1,\n round: b = !1,\n ...h\n}) => /* @__PURE__ */ e.jsx(\n \"a\",\n {\n href: r,\n className: g(\n \"flex gap-2 justify-center items-center disabled:pointer-events-none\",\n b ? \"rounded-full\" : \"rounded-lg\",\n d && \"pointer-events-none\",\n r0(a),\n t0(l),\n s\n ),\n ...h,\n children: /* @__PURE__ */ e.jsx(\n L.Provider,\n {\n value: {\n size: l === \"xsmall\" ? 12 : 16,\n weight: \"regular\",\n className: g(Q(a, d))\n },\n children: x ? /* @__PURE__ */ e.jsx(Z, { className: g(Q(a, d), \"animate-spin\") }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [\n c && c,\n i && /* @__PURE__ */ e.jsx(\"span\", { className: g(Q(a, d), a0(l)), children: i }),\n o && o\n ] })\n }\n )\n }\n), r0 = (r) => {\n switch (r) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-button-light dark:bg-secondary-action-button-dark hover:bg-secondary-action-button-hover-light dark:hover:bg-secondary-action-button-hover-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"tertiary\":\n return \"border border-grey-0/0 bg-tertiary-action-button-light dark:bg-tertiary-action-button-dark hover:bg-tertiary-action-button-hover-light dark:hover:bg-tertiary-action-button-hover-dark disabled:bg-tertiary-action-disabled-light dark:disabled:bg-tertiary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, Q = (r, a) => {\n if (a) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (r) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"tertiary\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, t0 = (r) => {\n switch (r) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, a0 = (r) => {\n switch (r) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[16px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, f2 = ({ text: r, active: a = !1, size: l = \"medium\" }) => {\n const i = l === \"medium\" ? \"B1Button\" : \"B2Button\", c = a ? \"primary\" : \"secondary\";\n return /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"flex justify-center p-2 rounded-lg hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\",\n a && \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: /* @__PURE__ */ e.jsx(p, { significance: c, variant: i, children: r })\n }\n );\n}, l0 = ({ text: r, selected: a, significance: l, onClick: i }) => /* @__PURE__ */ e.jsx(\n \"button\",\n {\n onClick: i,\n className: g(\n \"flex items-center p-2 border border-grey-0/0\",\n a && \"border-b-label-primary-light dark:border-b-label-primary-dark\"\n ),\n children: /* @__PURE__ */ e.jsx(p, { variant: \"B2Button\", significance: l, children: r })\n }\n), i0 = ({ title: r, code: a, language: l = \"tsx\", highlightedWords: i = [], maxHeight: c }) => {\n const { isDark: o } = c2(), [s, d] = E(!1), x = /* @__PURE__ */ e.jsx(\n n2,\n {\n \"aria-label\": \"Copy code block to clipboard\",\n size: \"small\",\n variant: \"neutral\",\n iconAfter: s ? /* @__PURE__ */ e.jsx(P, {}) : /* @__PURE__ */ e.jsx(v2, {}),\n onClick: () => {\n navigator.clipboard.writeText(a), d(!0), setTimeout(() => d(!1), 2e3);\n }\n }\n );\n return /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col py-2 gap-3\", children: [\n r && /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col py-2\", children: /* @__PURE__ */ e.jsx(p, { variant: \"H4\", children: r }) }),\n /* @__PURE__ */ e.jsx(\n O,\n {\n code: a,\n language: l,\n words: i,\n theme: o ? u2.nightOwl : u2.nightOwlLight,\n children: /* @__PURE__ */ e.jsxs(\"div\", { className: \"relative group\", children: [\n /* @__PURE__ */ e.jsx(\n O.Code,\n {\n className: g(\n \"bg-background-tertiary-grouped-light dark:bg-background-tertiary-grouped-dark p-4 rounded-md overflow-x-auto scrollbar-thin scrollbar-thin-dark text-[13px] font-code\",\n { [`${c} overflow-y-auto scrollbar-thin`]: c }\n ),\n children: /* @__PURE__ */ e.jsx(O.LineContent, { children: /* @__PURE__ */ e.jsx(O.Token, { children: ({ isTokenHighlighted: b, children: h }) => /* @__PURE__ */ e.jsx(\n \"span\",\n {\n className: b ? \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark rounded-md px-1 py-0.5\" : \"\",\n children: h\n }\n ) }) })\n }\n ),\n /* @__PURE__ */ e.jsx(\"div\", { className: g(\"absolute top-2 invisible group-hover:visible\", c ? \"right-4\" : \"right-2\"), children: x })\n ] })\n }\n )\n ] });\n}, q0 = ({ children: r, onExit: a }) => {\n const { ref: l } = i2({\n isActive: !0,\n onDismiss: a,\n includeEscape: !0\n });\n return V(() => {\n l.current?.focus();\n }, [l]), /* @__PURE__ */ e.jsx(\n \"div\",\n {\n ref: l,\n className: \"flex flex-col z-10 items-center justify-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark outline-hidden\",\n tabIndex: -1,\n onClick: (i) => {\n i.target === i.currentTarget && a();\n },\n children: r\n }\n );\n}, $0 = ({ title: r, texts: a }) => /* @__PURE__ */ e.jsxs(\"div\", { className: \"flex flex-col py-3 rounded-lg bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\", children: [\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex px-3 py-2\", children: /* @__PURE__ */ e.jsx(p, { variant: \"H4\", children: r }) }),\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col gap-6 px-3 py-1\", children: a.map((l, i) => /* @__PURE__ */ e.jsx(p, { children: l }, i)) })\n] }), O0 = ({ size: r = 7, animation: a = \"animate-spin\" }) => /* @__PURE__ */ e.jsx(\"div\", { className: \"flex flex-col items-center justify-center\", children: /* @__PURE__ */ e.jsx(\"div\", { className: g(\"flex items-center justify-center\", a), children: /* @__PURE__ */ e.jsx(c0, { size: r * 4 }) }) }), c0 = ({ size: r }) => {\n const { isDark: a } = c2(), l = 275;\n return a ? /* @__PURE__ */ e.jsxs(\n \"svg\",\n {\n width: r || l,\n height: r || l,\n viewBox: \"0 0 275 275\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_1096_254)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"137\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"255\", cy: \"138\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"167\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"108\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"108\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"197\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"78\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"20\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"36\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"78\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"20\", cy: \"137\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"239\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"255\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"239\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"239\", cy: \"197\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"197\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"167\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"36\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"240\", cy: \"78\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_1096_254\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\" }) }) })\n ]\n }\n ) : /* @__PURE__ */ e.jsxs(\n \"svg\",\n {\n width: r || l,\n height: r || l,\n viewBox: \"0 0 275 275\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_1096_225)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"137\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"255\", cy: \"138\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"167\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"189\", cy: \"108\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"108\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"197\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"78\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"20\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"36\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"78\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"20\", cy: \"137\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"79\", cy: \"239\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"138\", cy: \"255\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"239\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"239\", cy: \"197\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"36\", cy: \"197\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"87\", cy: \"167\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"196\", cy: \"36\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"240\", cy: \"78\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_1096_225\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\" }) }) })\n ]\n }\n );\n}, I0 = ({ width: r, height: a }) => {\n const { isDark: l } = c2(), i = 152, c = 48, o = i / c;\n return a ? r = a * o : r ? a = r / o : (a = c, r = i), l ? /* @__PURE__ */ e.jsxs(\"svg\", { width: r, height: a, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_8_5921)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.146\", cy: \"9.07914\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.146\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ e.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"white\"\n }\n )\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_8_5921\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] }) : /* @__PURE__ */ e.jsxs(\"svg\", { width: r, height: a, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ e.jsxs(\"g\", { clipPath: \"url(#clip0_8_6077)\", children: [\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.1462\", cy: \"9.07914\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"15.1462\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ e.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ e.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"black\"\n }\n )\n ] }),\n /* @__PURE__ */ e.jsx(\"defs\", { children: /* @__PURE__ */ e.jsx(\"clipPath\", { id: \"clip0_8_6077\", children: /* @__PURE__ */ e.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] });\n}, F2 = ({ className: r, vertical: a = !1, opaque: l = !1, opaqueAlternative: i = !1 }) => {\n const c = i ? \"bg-separator-opaque-alternative-light dark:bg-separator-opaque-alternative-dark\" : l ? \"bg-separator-opaque-light dark:bg-separator-opaque-dark\" : \"bg-separator-regular-light dark:bg-separator-regular-dark\";\n return /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"shrink-0\",\n c,\n {\n \"w-full h-px\": !a,\n \"w-px\": a\n },\n r\n )\n }\n );\n}, Z0 = ({ content: r, className: a }) => {\n const l = d0(r);\n return /* @__PURE__ */ e.jsx(\"div\", { className: `flex flex-col gap-2 min-w-0 ${a ?? \"\"}`, children: l.map((i, c) => /* @__PURE__ */ e.jsx(n0, { block: i }, c)) });\n}, n0 = ({ block: r }) => {\n switch (r.type) {\n case \"heading\": {\n const a = { 1: \"H1\", 2: \"H2\", 3: \"H3\", 4: \"H4\" };\n return /* @__PURE__ */ e.jsx(p, { variant: a[r.level], children: /* @__PURE__ */ e.jsx(R, { text: r.content }) });\n }\n case \"paragraph\":\n return /* @__PURE__ */ e.jsx(p, { children: /* @__PURE__ */ e.jsx(R, { text: r.content }) });\n case \"code\":\n return /* @__PURE__ */ e.jsx(i0, { code: r.content, language: r.language || \"text\" });\n case \"hr\":\n return /* @__PURE__ */ e.jsx(F2, {});\n case \"unordered-list\":\n return /* @__PURE__ */ e.jsx(e2, { items: r.items, ordered: !1 });\n case \"ordered-list\":\n return /* @__PURE__ */ e.jsx(e2, { items: r.items, ordered: !0 });\n case \"table\":\n return /* @__PURE__ */ e.jsx(s0, { headers: r.headers, alignments: r.alignments, rows: r.rows });\n }\n}, e2 = ({ items: r, ordered: a }) => {\n const l = a ? \"ol\" : \"ul\", i = a ? \"list-decimal\" : \"list-disc\";\n return /* @__PURE__ */ e.jsx(l, { className: `flex flex-col ${i} ml-4 text-label-primary-light dark:text-label-primary-dark`, children: r.map((c, o) => /* @__PURE__ */ e.jsxs(\"li\", { children: [\n /* @__PURE__ */ e.jsx(p, { as: \"span\", children: /* @__PURE__ */ e.jsx(R, { text: c.content }) }),\n c.children.length > 0 && /* @__PURE__ */ e.jsx(e2, { items: c.children, ordered: a })\n ] }, o)) });\n}, C2 = {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\"\n}, s0 = ({\n headers: r,\n alignments: a,\n rows: l\n}) => /* @__PURE__ */ e.jsx(\"div\", { className: \"overflow-x-auto\", children: /* @__PURE__ */ e.jsxs(\"table\", { className: \"w-full border-collapse text-label-primary-light dark:text-label-primary-dark\", children: [\n /* @__PURE__ */ e.jsx(\"thead\", { children: /* @__PURE__ */ e.jsx(\"tr\", { className: \"border-b border-separator-opaque-light dark:border-separator-opaque-dark\", children: r.map((i, c) => /* @__PURE__ */ e.jsx(\"th\", { className: `px-3 py-1.5 font-semibold ${C2[a[c] ?? \"left\"]}`, children: /* @__PURE__ */ e.jsx(p, { as: \"span\", variant: \"D1B\", children: /* @__PURE__ */ e.jsx(R, { text: i }) }) }, c)) }) }),\n /* @__PURE__ */ e.jsx(\"tbody\", { children: l.map((i, c) => /* @__PURE__ */ e.jsx(\"tr\", { className: \"border-b border-separator-opaque-light dark:border-separator-opaque-dark\", children: i.map((o, s) => /* @__PURE__ */ e.jsx(\"td\", { className: `px-3 py-1.5 ${C2[a[s] ?? \"left\"]}`, children: /* @__PURE__ */ e.jsx(p, { as: \"span\", children: /* @__PURE__ */ e.jsx(R, { text: o }) }) }, s)) }, c)) })\n] }) }), R = ({ text: r }) => {\n const a = o0(r);\n return /* @__PURE__ */ e.jsx(e.Fragment, { children: a });\n};\nfunction o0(r) {\n const a = [];\n let l = r, i = 0;\n for (; l.length > 0; ) {\n const c = l.match(/^`([^`]+)`/);\n if (c) {\n a.push(\n /* @__PURE__ */ e.jsx(\n \"code\",\n {\n className: \"bg-background-tertiary-grouped-light dark:bg-background-tertiary-grouped-dark rounded px-1 py-0.5 text-[13px] font-code\",\n children: c[1]\n },\n i++\n )\n ), l = l.slice(c[0].length);\n continue;\n }\n const o = l.match(/^\\*\\*\\*(.+?)\\*\\*\\*/);\n if (o) {\n a.push(\n /* @__PURE__ */ e.jsx(\"strong\", { children: /* @__PURE__ */ e.jsx(\"em\", { children: o[1] }) }, i++)\n ), l = l.slice(o[0].length);\n continue;\n }\n const s = l.match(/^\\*\\*(.+?)\\*\\*/);\n if (s) {\n a.push(/* @__PURE__ */ e.jsx(\"strong\", { children: s[1] }, i++)), l = l.slice(s[0].length);\n continue;\n }\n const d = l.match(/^\\*(.+?)\\*/);\n if (d) {\n a.push(/* @__PURE__ */ e.jsx(\"em\", { children: d[1] }, i++)), l = l.slice(d[0].length);\n continue;\n }\n const x = l.slice(1).search(/[`*]/);\n if (x === -1) {\n a.push(l);\n break;\n }\n a.push(l.slice(0, x + 1)), l = l.slice(x + 1);\n }\n return a;\n}\nfunction d0(r) {\n const a = r.split(`\n`), l = [];\n let i = 0;\n for (; i < a.length; ) {\n const c = a[i];\n if (c.trim() === \"\") {\n i++;\n continue;\n }\n const o = c.match(/^```(\\w*)/);\n if (o) {\n const x = o[1] || \"\", b = [];\n for (i++; i < a.length && !a[i].startsWith(\"```\"); )\n b.push(a[i]), i++;\n i++, l.push({ type: \"code\", language: x, content: b.join(`\n`) });\n continue;\n }\n if (/^---+$/.test(c.trim()) || /^\\*\\*\\*+$/.test(c.trim())) {\n l.push({ type: \"hr\" }), i++;\n continue;\n }\n const s = c.match(/^(#{1,4})\\s+(.+)/);\n if (s) {\n const x = s[1].length;\n l.push({ type: \"heading\", level: x, content: s[2].trim() }), i++;\n continue;\n }\n if (/^(\\s*)[-*+]\\s/.test(c)) {\n const { items: x, endIndex: b } = r2(a, i, \"unordered\");\n l.push({ type: \"unordered-list\", items: x }), i = b;\n continue;\n }\n if (/^(\\s*)\\d+\\.\\s/.test(c)) {\n const { items: x, endIndex: b } = r2(a, i, \"ordered\");\n l.push({ type: \"ordered-list\", items: x }), i = b;\n continue;\n }\n if (u0(a, i)) {\n const { table: x, endIndex: b } = b0(a, i);\n l.push(x), i = b;\n continue;\n }\n const d = [];\n for (; i < a.length && a[i].trim() !== \"\" && !x0(a[i]); )\n d.push(a[i]), i++;\n d.length > 0 && l.push({ type: \"paragraph\", content: d.join(`\n`) });\n }\n return l;\n}\nfunction x0(r) {\n return !!(/^```/.test(r) || /^#{1,4}\\s/.test(r) || /^---+$/.test(r.trim()) || /^\\*\\*\\*+$/.test(r.trim()) || /^(\\s*)[-*+]\\s/.test(r) || /^(\\s*)\\d+\\.\\s/.test(r) || /^\\|.+\\|/.test(r));\n}\nfunction m2(r) {\n const a = r.match(/^(\\s*)/);\n return a ? a[1].length : 0;\n}\nfunction r2(r, a, l) {\n const i = [];\n let c = a;\n const o = m2(r[a]), s = l === \"unordered\" ? /^(\\s*)[-*+]\\s(.*)/ : /^(\\s*)\\d+\\.\\s(.*)/;\n for (; c < r.length; ) {\n const d = r[c];\n if (d.trim() === \"\") {\n if (c + 1 < r.length && s.test(r[c + 1]) && m2(r[c + 1]) >= o) {\n c++;\n continue;\n }\n break;\n }\n const x = d.match(s);\n if (!x) break;\n const b = x[1].length;\n if (b < o) break;\n if (b > o) {\n const { items: h, endIndex: C } = r2(r, c, l);\n i.length > 0 && i[i.length - 1].children.push(...h), c = C;\n continue;\n }\n i.push({ content: x[2].trim(), children: [] }), c++;\n }\n return { items: i, endIndex: c };\n}\nfunction t2(r) {\n return r.replace(/^\\|/, \"\").replace(/\\|$/, \"\").split(\"|\").map((a) => a.trim());\n}\nfunction g0(r) {\n return /^\\|?(\\s*:?-+:?\\s*\\|)+\\s*:?-+:?\\s*\\|?$/.test(r.trim());\n}\nfunction h0(r) {\n return t2(r).map((a) => {\n const l = a.trim();\n return l.startsWith(\":\") && l.endsWith(\":\") ? \"center\" : l.endsWith(\":\") ? \"right\" : \"left\";\n });\n}\nfunction u0(r, a) {\n return a + 1 >= r.length ? !1 : /^\\|.+\\|/.test(r[a]) && g0(r[a + 1]);\n}\nfunction b0(r, a) {\n const l = t2(r[a]), i = h0(r[a + 1]), c = [];\n let o = a + 2;\n for (; o < r.length && /^\\|.+\\|/.test(r[o]); )\n c.push(t2(r[o])), o++;\n return { table: { type: \"table\", headers: l, alignments: i, rows: c }, endIndex: o };\n}\nconst Y0 = ({ content: r, align: a = \"left\" }) => /* @__PURE__ */ e.jsxs(\"div\", { className: \"group\", children: [\n /* @__PURE__ */ e.jsx(\"div\", { className: \"flex\", children: /* @__PURE__ */ e.jsx(H2, { size: 16 }) }),\n /* @__PURE__ */ e.jsx(\"div\", { className: g(\"relative\"), children: /* @__PURE__ */ e.jsx(\n \"div\",\n {\n className: g(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 min-w-36 max-w-60 backdrop-blur-xl group-hover:block hidden bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": a === \"right\",\n \"left-0\": a === \"left\"\n }\n ),\n children: /* @__PURE__ */ e.jsx(p, { variant: \"D1\", children: r })\n }\n ) })\n] }), z0 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_5921)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='9.07914'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_5921'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", U0 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_247)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='white'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_247'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", W0 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_6077)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='9.07914'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_6077'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", G0 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_218)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='black'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_218'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", t = {\n transparent: \"#00000000\",\n grey: {\n 0: \"#FFFFFF\",\n 5: \"#FBFBFD\",\n 10: \"#F2F2F7\",\n 50: \"#E5E5EA\",\n 75: \"#DEDEE1\",\n 100: \"#D1D1D6\",\n 200: \"#C7C7CC\",\n 300: \"#AEAEB2\",\n 400: \"#8E8E93\",\n 500: \"#636366\",\n 600: \"#48484A\",\n 700: \"#3A3A3C\",\n 800: \"#2C2C2E\",\n 900: \"#242426\",\n 950: \"#1C1C1E\",\n 990: \"#101011\",\n 995: \"#090909\",\n 1e3: \"#000000\"\n },\n \"strong-blue\": {\n 50: \"#A8C7FA\",\n 100: \"#6598EC\",\n 300: \"#1C73E8\",\n 400: \"#3461DA\",\n 500: \"#325FCB\",\n 600: \"#2C4DB9\",\n 950: \"#001833\"\n },\n \"banana-yellow\": {\n 5: \"#FFF8EA\",\n 10: \"#FFF1CC\",\n 50: \"#FEE085\",\n 100: \"#FECB33\",\n 400: \"#FEBE00\",\n 500: \"#F1B100\",\n 600: \"#E4A400\",\n 700: \"#D09000\",\n 800: \"#AD6D00\"\n },\n \"bright-coral\": {\n 0: \"#FFFFFF\",\n 5: \"#FFF0EE\",\n 10: \"#FFDED6\",\n 50: \"#FFBCA8\",\n 75: \"#FF936D\",\n 100: \"#FF8257\",\n 200: \"#FF794A\",\n 300: \"#FF7140\",\n 400: \"#FF6832\",\n 500: \"#F25B2A\",\n 600: \"#E54E1D\",\n 700: \"#D13A09\",\n 800: \"#C73000\",\n 900: \"#8E0000\",\n 950: \"#480000\",\n 1e3: \"#000000\"\n },\n \"minty-blue\": {\n 5: \"#EEFBF9\",\n 10: \"#DAF6F1\",\n 50: \"#99E5D5\",\n 100: \"#77DDC7\",\n 400: \"#55D4B9\",\n 500: \"#48C7B1\",\n 600: \"#3BBAA4\",\n 700: \"#27A690\",\n 800: \"#04836C\"\n },\n red: {\n 10: \"#FEF1F2\",\n 75: \"#FF8680\",\n 100: \"#FF6861\",\n 300: \"#FF453A\",\n 400: \"#FF3B2F\",\n 600: \"#D70015\",\n 800: \"#A10010\"\n },\n orange: {\n 100: \"#FFB33F\",\n 300: \"#FF9F0B\",\n 400: \"#FF9500\",\n 600: \"#C93400\"\n },\n yellow: {\n 10: \"#FFF8EB\",\n 75: \"#FFE372\",\n 100: \"#FFD426\",\n 300: \"#FED709\",\n 400: \"#FFCC02\",\n 600: \"#B25001\",\n 800: \"#873C00\"\n },\n green: {\n 10: \"#EDFDF8\",\n 75: \"#7AF299\",\n 100: \"#30DB5B\",\n 300: \"#31D158\",\n 400: \"#35C759\",\n 600: \"#248A3D\",\n 800: \"#0D5C20\"\n },\n mint: {\n 100: \"#66D5CF\",\n 300: \"#67D3CF\",\n 400: \"#04C7BE\",\n 600: \"#0D817C\"\n },\n teal: {\n 100: \"#5DE6FF\",\n 300: \"#40C8E0\",\n 400: \"#30B0C7\",\n 600: \"#008299\"\n },\n cyan: {\n 100: \"#70D7FF\",\n 300: \"#64D3FF\",\n 400: \"#31ADE6\",\n 600: \"#0171A4\"\n },\n blue: {\n 100: \"#419CFF\",\n 300: \"#0B84FF\",\n 400: \"#007AFF\",\n 600: \"#0040DD\"\n },\n indigo: {\n 100: \"#7E7AFF\",\n 300: \"#5E5CE6\",\n 400: \"#5856D7\",\n 600: \"#3634A3\"\n },\n purple: {\n 100: \"#DA8FFF\",\n 300: \"#BF5AF2\",\n 400: \"#AF52DE\",\n 600: \"#8944AB\"\n },\n pink: {\n 100: \"#FF6482\",\n 300: \"#FF375F\",\n 400: \"#FF2C55\",\n 600: \"#D20F44\"\n },\n brown: {\n 100: \"#B59469\",\n 300: \"#AC8E68\",\n 400: \"#A2845E\",\n 600: \"#7F6545\"\n },\n \"opacity-grey\": {\n 200: \"#FFFFFF24\",\n 300: \"#FFFFFF0F\",\n 600: \"#00000012\",\n 700: \"#00000024\",\n 950: \"#0000008C\",\n 990: \"#000000A6\"\n },\n \"material-grey\": {\n 5: \"#F6F6F6D6\",\n 10: \"#F6F6F6B8\",\n 50: \"#F6F6F699\",\n 75: \"#F6F6F67A\",\n 100: \"#F6F6F65C\",\n 600: \"#0000001A\",\n 800: \"#00000033\",\n 850: \"#0000004A\",\n 900: \"#00000066\",\n 950: \"#00000080\"\n }\n}, J0 = {\n background: {\n primary: {\n light: t.grey[5],\n dark: t.grey[990]\n },\n secondary: {\n light: t.grey[10],\n dark: t.grey[950]\n },\n tertiary: {\n light: t.grey[50],\n dark: t.grey[900]\n },\n \"primary-grouped\": {\n light: t.grey[50],\n dark: t.grey[990]\n },\n \"secondary-grouped\": {\n light: t.grey[5],\n dark: t.grey[950]\n },\n \"tertiary-grouped\": {\n light: t.grey[10],\n dark: t.grey[900]\n },\n \"primary-hover\": {\n light: t.grey[10],\n dark: t.grey[900]\n },\n \"secondary-hover\": {\n light: t.grey[50],\n dark: t.grey[900]\n },\n \"tertiary-hover\": {\n light: t.grey[100],\n dark: t.grey[800]\n },\n \"universal-overlay\": {\n light: t[\"opacity-grey\"][600],\n dark: t[\"opacity-grey\"][300]\n }\n },\n overlay: {\n \"fill-default\": {\n light: t[\"opacity-grey\"][600],\n dark: t[\"opacity-grey\"][300]\n },\n \"fill-alternative\": {\n light: t[\"opacity-grey\"][700],\n dark: t[\"opacity-grey\"][200]\n },\n \"background-default\": {\n light: t[\"opacity-grey\"][950],\n dark: t[\"opacity-grey\"][990]\n }\n },\n label: {\n primary: {\n light: t.grey[1e3],\n dark: t.grey[0]\n },\n secondary: {\n light: t.grey[500],\n dark: t.grey[400]\n },\n tertiary: {\n light: t.grey[400],\n dark: t.grey[500]\n },\n placeholder: {\n light: t.grey[400],\n dark: t.grey[400]\n },\n quaternary: {\n light: t.grey[0],\n dark: t.grey[1e3]\n },\n disabled: {\n light: t.grey[100],\n dark: t.grey[700]\n }\n },\n \"primary-action\": {\n graphical: {\n light: t[\"strong-blue\"][600],\n dark: t[\"strong-blue\"][300]\n },\n button: {\n light: t[\"strong-blue\"][400],\n dark: t[\"strong-blue\"][500]\n },\n \"button-hover\": {\n light: t[\"strong-blue\"][600],\n dark: t[\"strong-blue\"][600]\n },\n background: {\n light: t[\"strong-blue\"][50],\n dark: t[\"strong-blue\"][950]\n },\n \"background-2\": {\n light: t[\"strong-blue\"][950],\n dark: t[\"strong-blue\"][50]\n },\n disabled: {\n light: t.grey[100],\n dark: t.grey[700]\n }\n },\n \"secondary-action\": {\n button: {\n light: t.grey[1e3],\n dark: t.grey[0]\n },\n \"button-hover\": {\n light: t.grey[900],\n dark: t.grey[100]\n },\n complementary: {\n light: t.grey[0],\n dark: t.grey[1e3]\n },\n disabled: {\n light: t.grey[100],\n dark: t.grey[700]\n }\n },\n \"tertiary-action\": {\n button: {\n light: t[\"opacity-grey\"][600],\n dark: t[\"opacity-grey\"][300]\n },\n \"button-hover\": {\n light: t[\"opacity-grey\"][700],\n dark: t[\"opacity-grey\"][200]\n },\n disabled: {\n light: t[\"opacity-grey\"][600],\n dark: t[\"opacity-grey\"][300]\n }\n },\n \"brand-yellow\": {\n default: {\n light: t[\"banana-yellow\"][400],\n dark: t[\"banana-yellow\"][400]\n },\n alternative: {\n light: t[\"banana-yellow\"][100],\n dark: t[\"banana-yellow\"][100]\n },\n light: {\n light: t[\"banana-yellow\"][50],\n dark: t[\"banana-yellow\"][50]\n },\n lighter: {\n light: t[\"banana-yellow\"][5],\n dark: t[\"banana-yellow\"][5]\n },\n \"text-big\": {\n light: t[\"banana-yellow\"][800],\n dark: t[\"banana-yellow\"][400]\n }\n },\n \"brand-coral\": {\n default: {\n light: t[\"bright-coral\"][400],\n dark: t[\"bright-coral\"][400]\n },\n alternative: {\n light: t[\"bright-coral\"][100],\n dark: t[\"bright-coral\"][100]\n },\n light: {\n light: t[\"bright-coral\"][50],\n dark: t[\"bright-coral\"][50]\n },\n lighter: {\n light: t[\"bright-coral\"][5],\n dark: t[\"bright-coral\"][5]\n },\n \"text-big\": {\n light: t[\"bright-coral\"][600],\n dark: t[\"bright-coral\"][400]\n }\n },\n \"brand-mint\": {\n default: {\n light: t[\"minty-blue\"][400],\n dark: t[\"minty-blue\"][400]\n },\n alternative: {\n light: t[\"minty-blue\"][100],\n dark: t[\"minty-blue\"][100]\n },\n light: {\n light: t[\"minty-blue\"][50],\n dark: t[\"minty-blue\"][50]\n },\n lighter: {\n light: t[\"minty-blue\"][5],\n dark: t[\"minty-blue\"][5]\n },\n \"text-big\": {\n light: t[\"minty-blue\"][800],\n dark: t[\"minty-blue\"][400]\n }\n },\n separator: {\n regular: {\n light: t.grey[300],\n dark: t.grey[600]\n },\n opaque: {\n light: t.grey[50],\n dark: t.grey[900]\n },\n \"opaque-alternative\": {\n light: t.grey[100],\n dark: t.grey[800]\n }\n },\n \"system-fill\": {\n primary: {\n light: t.grey[100],\n dark: t.grey[700]\n },\n secondary: {\n light: t.grey[10],\n dark: t.grey[900]\n },\n tertiary: {\n light: t.grey[5],\n dark: t.grey[990]\n }\n },\n \"nonadaptable-text\": {\n light: t.grey[0],\n dark: t.grey[1e3]\n },\n success: {\n background: {\n light: t.green[10],\n dark: t.green[800]\n },\n default: {\n light: t.green[400],\n dark: t.green[300]\n },\n hover: {\n light: t.green[600],\n dark: t.green[75]\n },\n accessible: {\n light: t.green[800],\n dark: t.green[10]\n }\n },\n warning: {\n background: {\n light: t.yellow[10],\n dark: t.yellow[800]\n },\n default: {\n light: t.yellow[400],\n dark: t.yellow[300]\n },\n hover: {\n light: t.yellow[600],\n dark: t.yellow[75]\n },\n accessible: {\n light: t.yellow[800],\n dark: t.yellow[10]\n }\n },\n danger: {\n background: {\n light: t.red[10],\n dark: t.red[800]\n },\n default: {\n light: t.red[400],\n dark: t.red[300]\n },\n hover: {\n light: t.red[600],\n dark: t.red[75]\n },\n accessible: {\n light: t.red[800],\n dark: t.red[10]\n }\n },\n \"system-neutral\": {\n \"grey-0\": {\n light: t.grey[0],\n dark: t.grey[1e3]\n },\n \"grey-1\": {\n light: t.grey[10],\n dark: t.grey[950]\n },\n \"grey-2\": {\n light: t.grey[100],\n dark: t.grey[900]\n },\n \"grey-3\": {\n light: t.grey[300],\n dark: t.grey[800]\n },\n \"grey-4\": {\n light: t.grey[400],\n dark: t.grey[700]\n },\n \"grey-5\": {\n light: t.grey[600],\n dark: t.grey[600]\n },\n \"grey-6\": {\n light: t.grey[700],\n dark: t.grey[400]\n },\n \"grey-7\": {\n light: t.grey[800],\n dark: t.grey[300]\n },\n \"grey-8\": {\n light: t.grey[900],\n dark: t.grey[100]\n },\n \"grey-9\": {\n light: t.grey[950],\n dark: t.grey[10]\n },\n \"grey-10\": {\n light: t.grey[1e3],\n dark: t.grey[0]\n }\n },\n red: {\n default: {\n light: t.red[400],\n dark: t.red[300]\n },\n accessible: {\n light: t.red[600],\n dark: t.red[100]\n }\n },\n orange: {\n default: {\n light: t.orange[400],\n dark: t.orange[300]\n },\n accessible: {\n light: t.orange[600],\n dark: t.orange[100]\n }\n },\n yellow: {\n default: {\n light: t.yellow[400],\n dark: t.yellow[300]\n },\n accessible: {\n light: t.yellow[600],\n dark: t.yellow[100]\n }\n },\n green: {\n default: {\n light: t.green[400],\n dark: t.green[300]\n },\n accessible: {\n light: t.green[600],\n dark: t.green[100]\n }\n },\n mint: {\n default: {\n light: t.mint[400],\n dark: t.mint[300]\n },\n accessible: {\n light: t.mint[600],\n dark: t.mint[100]\n }\n },\n teal: {\n default: {\n light: t.teal[400],\n dark: t.teal[300]\n },\n accessible: {\n light: t.teal[600],\n dark: t.teal[100]\n }\n },\n cyan: {\n default: {\n light: t.cyan[400],\n dark: t.cyan[300]\n },\n accessible: {\n light: t.cyan[600],\n dark: t.cyan[100]\n }\n },\n blue: {\n default: {\n light: t.blue[400],\n dark: t.blue[300]\n },\n accessible: {\n light: t.blue[600],\n dark: t.blue[100]\n }\n },\n indigo: {\n default: {\n light: t.indigo[400],\n dark: t.indigo[300]\n },\n accessible: {\n light: t.indigo[600],\n dark: t.indigo[100]\n }\n },\n purple: {\n default: {\n light: t.purple[400],\n dark: t.purple[300]\n },\n accessible: {\n light: t.purple[600],\n dark: t.purple[100]\n }\n },\n pink: {\n default: {\n light: t.pink[400],\n dark: t.pink[300]\n },\n accessible: {\n light: t.pink[600],\n dark: t.pink[100]\n }\n },\n brown: {\n default: {\n light: t.brown[400],\n dark: t.brown[300]\n },\n accessible: {\n light: t.brown[600],\n dark: t.brown[100]\n }\n }\n}, X0 = () => {\n};\nexport {\n n2 as Button,\n A0 as CText,\n i0 as CodeBlock,\n j0 as CopyButton,\n M0 as DataText,\n F0 as Dropdown,\n q0 as FullScreenModal,\n P0 as Hyperlink,\n $0 as InfoBox,\n B0 as InplaceInput,\n G2 as LineBreakText,\n S0 as LinkButton,\n R0 as List,\n O0 as Loader,\n c0 as Logo,\n I0 as LogoText,\n V0 as MCText,\n Z0 as Markdown,\n H0 as MenuGroupModal,\n p as NText,\n f2 as NavPill,\n l0 as NavTab,\n E0 as Search,\n T0 as Select,\n F2 as Separator,\n w0 as SignalButton,\n N0 as TextInput,\n _0 as Toggle,\n L0 as ToggleSimple,\n Y0 as Tooltip,\n D0 as TwoLevelSelector,\n m0 as capitalize,\n t as colors,\n g as cx,\n X0 as includeGlobalStyles,\n U0 as nemmeDark,\n z0 as nemmeDarkText,\n G0 as nemmeLight,\n W0 as nemmeLightText,\n C0 as range,\n J0 as semanticColors,\n v0 as splitDotSpaceKeepDot,\n c2 as useColorScheme,\n i2 as useDismissable,\n N as variantToClassName\n};\n//# sourceMappingURL=index.es.js.map\n","import { Button, cx, NText } from '@nemme/ui-kit';\nimport { CaretLeftIcon, CaretRightIcon, XIcon } from '@phosphor-icons/react';\nimport { FC, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n children: ReactNode;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\nexport const QuestionWrapper: FC<Props> = ({\n title,\n icon,\n description,\n image,\n children,\n onPrevious,\n onNext,\n onQuit,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border relative',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick'\n )}\n >\n <div className=\"flex flex-col justify-between order-2 md:order-1\">\n <div className=\"flex flex-col\">\n <div className=\"flex flex-col gap-1 md:gap-2 pb-3\">\n {icon && (\n <div\n className={cx('h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2', !image ? 'block' : 'hidden md:block')}\n >\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => (\n <NText significance=\"secondary\" key={index}>\n {text.trim()}\n </NText>\n ))}\n </div>\n {children}\n </div>\n <div className=\"flex justify-end pt-4 gap-2\">\n {hasPreviousStep && (\n <Button\n variant=\"subtle\"\n onClick={onPrevious}\n iconBefore={<CaretLeftIcon />}\n disabled={!onPrevious}\n text={t('Previous')}\n />\n )}\n <Button\n variant=\"subtle\"\n onClick={onNext}\n iconAfter={<CaretRightIcon />}\n disabled={!onNext || !isValid}\n text={hasNextStep ? t('Next') : t('Submit')}\n />\n </div>\n {onQuit && (\n <Button\n className=\"absolute -top-2 -right-2\"\n variant=\"secondary\"\n size=\"xsmall\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Alternatives = {\n id: number;\n text: string;\n};\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n alternatives: Alternatives[];\n onAlternativeSelect: (id: number) => void;\n selectedAlternatives: number[];\n maxAlternatives?: number;\n verticalAlignment?: boolean;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionChoice: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n alternatives = [],\n onAlternativeSelect,\n selectedAlternatives,\n maxAlternatives,\n verticalAlignment,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto scrollbar-thin\">\n {maxAlternatives === 1 ? (\n <div\n className={cx(\n 'flex py-3 md:py-4 gap-2 items-end md:items-start justify-end md:justify-start',\n verticalAlignment ? 'flex-col' : 'flex-wrap'\n )}\n >\n {alternatives.map(alternative => (\n <div key={alternative.id}>\n <button\n onClick={() => onAlternativeSelect(alternative.id)}\n className=\"flex md:flex-row-reverse items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark\"\n >\n <NText variant=\"B1Button\">{alternative.text}</NText>\n <Option size={20} selected={selectedAlternatives.includes(alternative.id)} />\n </button>\n </div>\n ))}\n </div>\n ) : (\n <div\n className={cx(\n 'flex py-3 md:py-4 gap-2 justify-end md:justify-start items-end md:items-start',\n verticalAlignment ? 'flex-col' : 'flex-wrap'\n )}\n >\n {alternatives.map(alternative => (\n <div key={alternative.id}>\n <button\n onClick={() => onAlternativeSelect(alternative.id)}\n className={cx(\n 'flex items-center gap-2 p-3 justify-end rounded-lg border shrink',\n selectedAlternatives.includes(alternative.id)\n ? 'text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-button-light dark:bg-secondary-action-button-dark'\n : 'text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark'\n )}\n >\n <NText\n variant=\"B1Button\"\n significance={selectedAlternatives.includes(alternative.id) ? 'quaternary' : 'primary'}\n >\n {alternative.text}\n </NText>\n </button>\n </div>\n ))}\n </div>\n )}\n </div>\n </QuestionWrapper>\n );\n};\n\ntype OptionProps = {\n size?: number;\n strokeColor?: string;\n fillColor?: string;\n selected?: boolean;\n};\n\nconst Option: FC<OptionProps> = ({ size = 16, strokeColor = 'currentColor', fillColor = 'none', selected = false }) => {\n const viewBoxSize = size + 1; // Adding 1 for padding\n const center = viewBoxSize / 2;\n const radius = (size - 2) / 2; // Slightly smaller to account for stroke\n\n return (\n <svg\n className=\"shrink-0\"\n width={size}\n height={size}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n fill={selected ? fillColor : 'none'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n stroke={strokeColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n {selected && (\n <circle\n cx={center}\n cy={center}\n r={radius - 3} // Inner circle for selected state\n fill={strokeColor}\n />\n )}\n </svg>\n );\n};\n","import { cx, NText, variantToClassName } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n\n inputText: string;\n setInputText: (text: string) => void;\n maxCharacters?: number;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionText: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n inputText,\n setInputText,\n maxCharacters,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col py-3 gap-2\">\n {maxCharacters && (\n <div className=\"flex items-center justify-between\">\n <NText significance=\"secondary\">{t('Max {{maxCharacters}} characters', { maxCharacters })}</NText>\n <NText significance=\"secondary\">{`${inputText.length}/${maxCharacters}`}</NText>\n </div>\n )}\n <div className=\"flex flex-col relative\">\n <NText\n as=\"div\"\n className={cx(\n 'overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark'\n )}\n >\n {inputText}\n </NText>\n <textarea\n id=\"primary\"\n placeholder={t('Type your answer here')}\n className={cx(\n 'absolute inset-0 resize-none',\n 'overflow-hidden break-words outline-hidden resize-none material-medium',\n 'rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark',\n `text-label-primary-light dark:text-label-primary-dark`,\n variantToClassName['B1']\n )}\n value={inputText}\n onChange={e => setInputText(e.target.value)}\n />\n </div>\n </div>\n </QuestionWrapper>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n /** This is the button section and the absolute exit button in top right. */\n children: ReactNode;\n wrapperClassName?: string;\n};\nexport const TransitionWrapper: FC<Props> = ({ title, icon, description, image, children, wrapperClassName }) => {\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick',\n wrapperClassName\n )}\n >\n <div className=\"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1\">\n <div className=\"flex flex-col gap-6 md:gap-8\">\n <div className=\"flex flex-col gap-2 md:gap-4\">\n {icon && (\n <div className={cx('h-8 w-8 rounded-lg overflow-hidden', !image ? 'block' : 'hidden md:block')}>\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n </div>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => <NText key={index}>{text.trim()}</NText>)}\n </div>\n {children}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { ArrowSquareOutIcon, XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit: () => void;\n externalLink?: string;\n};\n\nexport const TransitionEnd: FC<Props> = ({ title, icon, description, image, quitText, onQuit, externalLink }) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image}>\n <div className=\"flex justify-end gap-2\">\n {externalLink ? (\n <Button\n variant=\"secondary\"\n text={quitText}\n iconAfter={<ArrowSquareOutIcon />}\n onClick={() => {\n window.open(externalLink, '_blank');\n onQuit();\n }}\n />\n ) : (\n <Button variant=\"secondary\" onClick={onQuit} text={quitText} />\n )}\n </div>\n {externalLink && (\n <Button\n className=\"absolute -top-2 -right-2 md:-top-4 md:-right-4\"\n variant=\"secondary\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n startText?: string;\n onStart?: () => void;\n};\n\nexport const TransitionStart: FC<Props> = ({\n title,\n icon,\n description,\n image,\n quitText,\n onQuit,\n startText,\n onStart\n}) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image} wrapperClassName=\"relative\">\n <div className=\"flex justify-end gap-2\">\n {onQuit && quitText && <Button variant=\"subtle\" text={quitText} onClick={onQuit} />}\n <Button variant=\"secondary\" text={startText} onClick={onStart} />\n </div>\n {onQuit && (\n <Button\n className=\"absolute -top-2 -right-2\"\n variant=\"secondary\"\n size=\"xsmall\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import {\n getDefaultOptions,\n setDefaultOptions as setInternalDefaultOptions,\n} from \"./_lib/defaultOptions.js\";\n\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param options - An object with options\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport function setDefaultOptions(options) {\n const result = {};\n const defaultOptions = getDefaultOptions();\n\n for (const property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n // [TODO] I challenge you to fix the type\n result[property] = defaultOptions[property];\n }\n }\n\n for (const property in options) {\n if (Object.prototype.hasOwnProperty.call(options, property)) {\n if (options[property] === undefined) {\n // [TODO] I challenge you to fix the type\n delete result[property];\n } else {\n // [TODO] I challenge you to fix the type\n result[property] = options[property];\n }\n }\n }\n\n setInternalDefaultOptions(result);\n}\n\n// Fallback for modularized imports:\nexport default setDefaultOptions;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\nimport { formatLong } from \"./en-GB/_lib/formatLong.js\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n code: \"en-GB\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import { setDefaultOptions } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport { config } from './config';\nimport en from './translations/en.json';\nimport nb from './translations/nb.json';\nsetDefaultOptions({ locale: enGB });\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n debug: config.debug,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n resources: {\n en: {\n translation: en\n },\n nb: {\n tranlation: nb\n }\n }\n });\n\nexport default i18n;\n","export type FormErrorType = 'FETCH_ERROR' | 'SUBMISSION_ERROR';\n\nexport class FormError extends Error {\n errorType: FormErrorType;\n\n constructor(errorType: FormErrorType, message?: string) {\n super(message);\n this.name = 'FormError';\n this.errorType = errorType;\n }\n}\n\nexport type FormConfig = {\n zIndex?: number;\n theme?: 'light' | 'dark';\n onFormError?: (error: FormError) => void;\n};\n\nexport type ProductType = 'FRM' | 'TRK';\n\nexport type QuestionType = 'choice' | 'score' | 'text' | 'ranking';\n\nexport type StartTransition = {\n title: string;\n description?: string;\n image?: string;\n includeOptOut: boolean;\n customStartButton: boolean;\n startButtonText?: string;\n customOptOutButton: boolean;\n optOutButtonText?: string;\n};\n\nexport type EndTransition = {\n title: string;\n description?: string;\n image?: string;\n customEndButton: boolean;\n endButtonText?: string;\n customEndButtonLink: boolean;\n endButtonLink?: string;\n};\n\nexport type BaseQuestion = {\n id: number;\n questionType: QuestionType;\n title: string;\n description?: string;\n image?: string;\n required: boolean;\n order: number;\n};\n\nexport type TextQuestion = BaseQuestion & {\n limited: boolean;\n maxChars?: number;\n};\n\nexport type ChoiceQuestion = BaseQuestion & {\n maxSelections: number;\n verticalAlignment: boolean;\n alternatives: ChoiceQuestionAlternative[];\n};\n\nexport type ChoiceQuestionAlternative = {\n id: number;\n text: string;\n order: number;\n};\n\nexport type Question = TextQuestion | ChoiceQuestion;\n\nexport type Form = {\n name: string;\n slug: string;\n icon?: string;\n startTransition?: StartTransition;\n endTransition?: EndTransition;\n questions: Question[];\n};\n","import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { I18nextProvider } from 'react-i18next';\nimport { FormWrapper } from '.';\nimport i18n from '../i18n';\nimport { httpClient } from '../networking';\nimport { Form, FormConfig, FormError } from '../types/forms';\nimport { Logger } from '../utils';\nimport { FormState } from './form-wrapper/form-wrapper';\n\nexport type FormResponse = {\n id: number;\n questions: QuestionResponse[];\n};\n\ntype QuestionResponse = {\n id: number;\n answer: string | number | number[];\n};\n\nexport class FormManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private config: FormConfig;\n\n constructor(logger: Logger, headers: Record<string, string>, config: FormConfig = {}) {\n this.logger = logger;\n this.headers = headers;\n this.config = config;\n }\n\n public async fetchAndDisplayForm(\n productSlug: string,\n onDismiss: () => Promise<void>,\n onComplete: (formState?: FormState) => Promise<void>\n ): Promise<void> {\n this.logger.debug(`Fetching form config for: ${productSlug}`);\n\n try {\n const response = await httpClient.get<Form>(`/external/forms/${productSlug}`, {\n headers: this.headers\n });\n\n if (!response.ok && this.config.onFormError) {\n const error = new FormError('FETCH_ERROR', response.error?.message);\n this.config.onFormError(error);\n }\n\n if (response.ok && response.data) {\n this.logger.info(`Form config loaded for: ${productSlug}`, response.data);\n this.displayForm(response.data, onDismiss, onComplete);\n } else {\n this.logger.warn(`No form config found for: ${productSlug}`);\n }\n } catch (err) {\n this.logger.error(`Failed to fetch form config for: ${productSlug}`, err);\n if (this.config.onFormError) {\n const error = new FormError('FETCH_ERROR');\n this.config.onFormError(error);\n }\n }\n }\n\n private displayForm(form: Form, onDismiss: () => Promise<void>, onComplete: () => Promise<void>) {\n // Create a container div for the form\n const container = document.createElement('div');\n container.id = 'nm';\n document.body.appendChild(container);\n\n // Create React root and render the component\n const root = createRoot(container);\n const formElement = createElement(\n I18nextProvider,\n { i18n },\n createElement(FormWrapper, {\n form,\n onDismiss: async (formState: FormState) => {\n await onDismiss();\n root.unmount();\n container.remove();\n this.logger.info('Form dismissed', formState);\n },\n onComplete: async (formState: FormState) => {\n await onComplete();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form completed', formState);\n },\n zIndex: this.config.zIndex\n })\n );\n\n root.render(formElement);\n }\n\n private async postFormResponse(form: Form, formState: FormState) {\n this.logger.info('Posting form response', formState);\n const response = await httpClient.post<FormResponse>(`/external/forms/${form.slug}`, formState, {\n headers: this.headers\n });\n if (!response.ok && this.config.onFormError) {\n const error = new FormError('SUBMISSION_ERROR', response.error?.message);\n this.config.onFormError(error);\n } else {\n this.logger.info('Form response posted', response.data);\n }\n }\n}\n"],"names":["isString","obj","defer","res","rej","promise","resolve","reject","makeString","object","copy","a","s","t","m","lastOfPathSeparatorRegExp","cleanKey","key","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","k","e","p","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","value","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","pattern","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","c","r","matched","ki","deepFind","tokens","current","i","next","nextPath","j","getCleanedCode","code","consoleLogger","args","type","Logger","concreteLogger","options","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","ResourceStore","ns","index","lng","ignoreJSONStructure","result","resources","deep","pack","v","postProcessor","module","processors","translator","processor","PATH_KEY","createProxy","state","handler","proxy","keysFromSelector","selector","opts","checkedLoadedFor","shouldHandleAsObject","Translator","services","o","opt","resolved","isObject","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","l","specificDefaultValue","defaultForMissing","language","suffixes","suffix","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngScOnly","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","count","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","match","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","keyEndIndex","elem","f","parseFormatStr","formatStr","formatName","formatOptions","optStr","rest","trimmedKey","createCachedFormatter","fn","cache","optForCache","frm","createNonCachedFormatter","Formatter","cf","formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","q","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","n","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","get","ret","transformOptions","noop","bindMemberFunctions","inst","supportNoticeShown","usesLocize","b","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","done","setLng","fl","keyPrefix","fixedT","resultKey","fallbackLng","lastLng","loadNotPending","loadState","preResult","preloaded","newLngs","ti","rtlLngs","instance","forkResourceStore","mergedOptions","clone","clonedData","prev","acc","mergedInterpolation","mergedForInterpolator","warn","i18n","msg","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","loadLanguages","hasLoadedNamespace","i18nInstance","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","unescape","text","defaultOptions","setDefaults","getDefaults","setI18n","getI18n","initReactI18next","I18nContext","createContext","ReportNamespaces","React","require$$0","is","x","y","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","shimModule","notReadyT","optsOrDefaultValue","notReadySnapshot","dummySubscribe","useTranslation","props","i18nFromProps","i18nFromContext","defaultNSFromContext","useContext","i18nOptions","useMemo","useSuspense","nsOrContext","unstableNamespaces","revisionRef","useRef","useCallback","bindI18n","bindI18nStore","wrappedCallback","snapshotRef","calculatedReady","currentLng","currentRevision","lastSnapshot","newSnapshot","loadCount","setLoadCount","ready","useSyncExternalStore","onLoaded","finalI18n","wrapperRef","wrapperLangRef","createI18nWrapper","original","descriptors","wrapper","lang","i18nWrapper","arr","I18nextProvider","defaultNS","children","createElement","Step","step","form","formState","onDismiss","onNextStep","onPreviousStep","onUpdateResponse","stepInfo","stepOrder","currentOrder","questionIndex","title","description","image","includeOptOut","customStartButton","startButtonText","customOptOutButton","optOutButtonText","jsx","TransitionStart","customEndButton","endButtonText","customEndButtonLink","endButtonLink","TransitionEnd","question","alternatives","maxSelections","required","verticalAlignment","selectedAlternatives","isValid","QuestionChoice","alternativeIndex","updated","maxChars","limited","inputText","QuestionText","FormWrapper","onComplete","zIndex","lastStepIndex","setFormState","updateResponse","questionId","answer","navigateToStep","nextStep","completedFormState","previousStep","d","g","w","h","clsx","__create","__defProp","__defProps","__getOwnPropDesc","__getOwnPropDescs","__getOwnPropNames","__getOwnPropSymbols","__getProtoOf","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","__objRest","exclude","__commonJS","mod","__export","all","__copyProps","to","from","except","desc","__toESM","isNodeMode","require_prism","exports","Prism2","uniqueId","plainTextGrammar","_","encode","Token","deepClone","visited","id","element","className","defaultActivation","no","classList","redef","lang2","inside","before","insert","root","grammar","token","newToken","old","DFS","objId","property","propertyType","env","tokenList","LinkedList","addAfter","matchGrammar","toArray","hooks2","callbacks","content","alias","matchedStr","stringify","aliases","attributes","matchPattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","patternObj","greedy","flags","currentNode","removeCount","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","node","newNode","array","Prism","e2","e3","e4","n2","t2","a2","r2","n3","t3","u","s2","a3","l2","u2","themes_exports","dracula_default","duotoneDark_default","duotoneLight_default","github_default","gruvboxMaterialDark_default","gruvboxMaterialLight_default","jettwaveDark_default","jettwaveLight_default","nightOwl_default","nightOwlLight_default","oceanicNext_default","okaidia_default","oneDark_default","oneLight_default","palenight_default","shadesOfPurple_default","synthwave84_default","ultramin_default","vsDark_default","vsLight_default","theme","theme2","theme3","theme4","theme5","theme6","colors","theme7","theme8","theme9","theme10","theme11","theme12","theme13","theme14","theme15","theme16","theme17","theme18","theme19","theme20","useGetLineProps","themeDictionary","_a","_b","style","line","output","useGetTokenProps","styleForToken","useCallback2","types","empty","clsx2","newlineRe","normalizeEmptyLines","appendTypes","add","typesSize","normalizeTokens","typeArrStack","tokenArrStack","tokenArrIndexStack","tokenArrSizeStack","currentLine","splitByNewlines","newlineCount","i2","normalizeTokens_default","useTokenize","prism","prismConfig","themeToDict","theme21","plain","themeDict","themeEntry","languages2","accStyle","themeToDict_default","Highlight","_language","getLineProps","getTokenProps","Highlight2","shouldHighlightLine","highlights","highlight","min","max","shouldHighlightToken","word","highlightWord","splitStringByWords","words","createUseContext","context","errMessage","ctx","forwardRef","component","reactForwardRef","RootContext","LineContext","useRootContext","useLineContext","Code","as","ref","lines","highlightProps","Tag","_jsx","lineNumber","isLineHighlighted","LineContent","contentWithSpaces","LineNumber","I","A","b2","A2","y2","R2","w2","V2","P2","S2","L","K","Z","q2","N","J2","X2","QuestionWrapper","icon","onPrevious","onNext","onQuit","hasPreviousStep","hasNextStep","jsxs","cx","NText","Button","CaretLeftIcon","CaretRightIcon","XIcon","onAlternativeSelect","maxAlternatives","alternative","Option","size","strokeColor","fillColor","selected","viewBoxSize","center","radius","setInputText","maxCharacters","variantToClassName","TransitionWrapper","wrapperClassName","quitText","externalLink","ArrowSquareOutIcon","startText","onStart","getDefaultOptions","setDefaultOptions","newOptions","formatDistanceLocale","formatDistance","tokenValue","buildFormatLongFn","width","formatRelativeLocale","formatRelative","_date","_baseDate","_options","buildLocalizeFn","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","rem100","localize","quarter","buildMatchFn","string","matchResult","matchedString","parsePatterns","findIndex","findKey","predicate","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","setInternalDefaultOptions","dateFormats","timeFormats","dateTimeFormats","formatLong","enGB","slice","forEach","defaults","hasXSS","input","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","ca","cookie$1","_ref","lookupCookie","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","hash","lookupHash","lookupFromHashIndex","query","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","Browser","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","LanguageDetector","config","en","FormError","errorType","message","FormManager","logger","headers","productSlug","response","httpClient","container","createRoot","formElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,43,44,45,46,47,48,49]}
|