{"version":3,"file":"5828.5f0dcf9a609a045b1f8b.js","mappings":"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","sources":["webpack://skagenfondene.no/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://skagenfondene.no/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://skagenfondene.no/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://skagenfondene.no/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://skagenfondene.no/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://skagenfondene.no/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://skagenfondene.no/./node_modules/@intlify/shared/dist/shared.mjs","webpack://skagenfondene.no/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","webpack://skagenfondene.no/./node_modules/@intlify/core-base/dist/core-base.mjs","webpack://skagenfondene.no/./node_modules/vue-i18n/dist/vue-i18n.mjs"],"sourcesContent":["export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-expect-error navigator and windows are not available in all environments\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof globalThis !== 'undefined' && ((_a = globalThis.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = globalThis.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise((resolve) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","import { getDevtoolsGlobalHook, getTarget, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy) {\n setupFn(proxy.proxiedTarget);\n }\n }\n}\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","/*!\n * shared v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n if (!isObject(val))\n return false;\n const proto = Object.getPrototypeOf(val);\n return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\nfunction incrementer(code) {\n let current = code;\n return () => ++current;\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n Object.keys(src).forEach(key => {\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = format(warnMessages[code] || '', ...(args || [])) ;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n","/*!\n * core-base v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileWarnCodes, CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || {};\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign({}, _list, _named)\n };\n return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst code$1 = CompileWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: code$1, // 2\n FALLBACK_TO_TRANSLATE: inc$1(), // 3\n CANNOT_FORMAT_NUMBER: inc$1(), // 4\n FALLBACK_TO_NUMBER_FORMAT: inc$1(), // 5\n CANNOT_FORMAT_DATE: inc$1(), // 6\n FALLBACK_TO_DATE_FORMAT: inc$1(), // 7\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1(), // 8\n __EXTEND_POINT__: inc$1() // 9\n};\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: code, // 17\n INVALID_DATE_ARGUMENT: inc(), // 18\n INVALID_ISO_DATE_ARGUMENT: inc(), // 19\n NOT_SUPPORT_NON_STRING_MESSAGE: inc(), // 20\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(), // 21\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(), // 22\n NOT_SUPPORT_LOCALE_TYPE: inc(), // 23\n __EXTEND_POINT__: inc() // 24\n};\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.13.1';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : { [_locale]: {} };\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale]: {} }\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale]: {} }\n ;\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || {};\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = ast.b || ast.body;\n if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = plural.c || plural.cases;\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const _static = node.s || node.static;\n if (_static) {\n return ctx.type === 'text'\n ? _static\n : ctx.normalize([_static]);\n }\n else {\n const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = node.t || node.type;\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n const text = node;\n return (text.v || text.value);\n }\n case 9 /* NodeTypes.Literal */: {\n const literal = node;\n return (literal.v || literal.value);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n return ctx.interpolate(ctx.named(named.k || named.key));\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = linked.m || linked.modifier;\n return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n const linkedKey = node;\n return (linkedKey.v || linkedKey.value);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n const linkedModifier = node;\n return (linkedModifier.v || linkedModifier.value);\n }\n default:\n throw new Error(`unhandled node type on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = Object.create(null);\nfunction onCompileWarn(_warn) {\n if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) {\n warn(`The use of named interpolation with modulo syntax is deprecated. ` +\n `It will be removed in v10.\\n` +\n `reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format \\n` +\n `(message compiler warning message: ${_warn.message})`);\n }\n}\nfunction clearCompileCache() {\n compileCache = Object.create(null);\n}\nconst isMessageAST = (val) => isObject(val) &&\n (val.t === 0 || val.type === 0) &&\n ('b' in val || 'body' in val);\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n if (!isString(message)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n }\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile\n const { code, detectError } = baseCompile(message, context);\n // evaluate function\n const msg = new Function(`return ${code}`)();\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n};\nfunction compile(message, context) {\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : '';\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || {}\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || {};\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key) => {\n let val = resolveValue(message, key);\n // fallback to root context\n if (val == null && fallbackContext) {\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch (e) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, deepCopy, isString, hasOwn, isObject, warn, warnOnce, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CoreErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '9.13.1';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst code$1 = CoreWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: code$1, // 9\n NOT_SUPPORTED_PRESERVE: inc$1(), // 10\n NOT_SUPPORTED_FORMATTER: inc$1(), // 11\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), // 12\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), // 13\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), // 14\n NOT_FOUND_PARENT_SCOPE: inc$1(), // 15\n IGNORE_OBJ_FLATTEN: inc$1(), // 16\n NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), // 17\n NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() // 18\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`,\n [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst code = CoreErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: code, // 24\n // legacy module errors\n INVALID_ARGUMENT: inc(), // 25\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: inc(), // 26\n NOT_INSTALLED: inc(), // 27\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(), // 28\n // directive module errors\n REQUIRED_VALUE: inc(), // 29\n INVALID_VALUE: inc(), // 30\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), // 31\n NOT_INSTALLED_WITH_PROVIDE: inc(), // 32\n // unexpected error\n UNEXPECTED_ERROR: inc(), // 33\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), // 34\n // bridge support vue 2.x only\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(), // 35\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), // 36\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), // 37\n // for enhancement\n __EXTEND_POINT__: inc() // 38\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getComponentOptions(instance) {\n return instance.type ;\n}\nfunction adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n let messages = isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0)\n ;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createComposer(options = {}, VueI18nLegacy) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n const translateExistCompatible = !!options.translateExistCompatible;\n if ((process.env.NODE_ENV !== 'production')) {\n if (translateExistCompatible && !false) {\n warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG));\n }\n }\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return !translateExistCompatible\n ? isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)\n : resolved != null;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n }\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n }\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n const translateExistCompatible = options\n .translateExistCompatible;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n translateExistCompatible,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createVueI18n(options = {}, VueI18nLegacy) {\n {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // formatter\n get formatter() {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n // dummy\n return {\n interpolate() {\n return [];\n }\n };\n },\n set formatter(val) {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // preserveDirectiveContent\n get preserveDirectiveContent() {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n return true;\n },\n set preserveDirectiveContent(val) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n },\n // getChoiceIndex\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getChoiceIndex(choice, choicesLength) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\n return -1;\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current]\n )\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag(tag) {\n return Fragment ;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$2(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, modifiers, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$2(i18n, instance.$);\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\n }\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\n name: Translation.name\n }));\n }\n if (globalInstall) {\n [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\nconst VueDevToolsLabels = {\n [\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19\n};\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: \"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */,\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */],\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$1(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === \"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */\n ? 'error'\n : event === \"fallback\" /* VueDevToolsTimelineEvents.FALBACK */ ||\n event === \"missing\" /* VueDevToolsTimelineEvents.MISSING */\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n // prettier-ignore\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\n ? !!options.allowComposition\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n if ((process.env.NODE_ENV !== 'production')) {\n if (__legacyMode && __allowComposition && !false) {\n warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));\n }\n }\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n {\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // allowComposition\n get allowComposition() {\n return __allowComposition;\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (__VUE_I18N_LEGACY_API__) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (i18n.mode === 'legacy' && !options.__useComponent) {\n if (!i18n.allowComposition) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\n }\n return useI18nForLegacy(instance, scope, gl, options);\n }\n }\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\n/**\n * Cast to VueI18n legacy compatible type\n *\n * @remarks\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\n *\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\n *\n * @param i18n - An instance of {@link I18n}\n * @returns A i18n instance which is casted to {@link VueI18n} type\n *\n * @VueI18nTip\n * :new: provided by **vue-i18n-bridge only**\n *\n * @VueI18nGeneral\n */\n/* #__NO_SIDE_EFFECTS__ */\nconst castToVueI18n = (i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\n }\n return i18n;\n};\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n {\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n }\n}\nfunction getI18nInstance(instance) {\n {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer\n ;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n {\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n {\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n }\n}\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const isLocalScope = scope === 'local';\n const _composer = shallowRef(null);\n if (isLocalScope &&\n instance.proxy &&\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\n }\n const _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : !isString(options.locale);\n const _locale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _numberFormats = ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _missingWarn = isLocalScope\n ? root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n const _fallbackWarn = isLocalScope\n ? root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n const _fallbackRoot = isLocalScope\n ? root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n const _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n const _missing = isFunction(options.missing) ? options.missing : null;\n // postTranslation handler\n const _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n const _warnHtmlMessage = isLocalScope\n ? root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const _escapeParameter = !!options.escapeParameter;\n // prettier-ignore\n const _modifiers = isLocalScope\n ? root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ];\n }\n // locale\n const locale = computed({\n get: () => {\n return _composer.value ? _composer.value.locale.value : _locale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.locale.value = val;\n }\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => {\n return _composer.value\n ? _composer.value.fallbackLocale.value\n : _fallbackLocale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.fallbackLocale.value = val;\n }\n _fallbackLocale.value = val;\n }\n });\n // messages\n const messages = computed(() => {\n if (_composer.value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _composer.value.messages.value;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _messages.value;\n }\n });\n const datetimeFormats = computed(() => _datetimeFormats.value);\n const numberFormats = computed(() => _numberFormats.value);\n function getPostTranslationHandler() {\n return _composer.value\n ? _composer.value.getPostTranslationHandler()\n : _postTranslation;\n }\n function setPostTranslationHandler(handler) {\n if (_composer.value) {\n _composer.value.setPostTranslationHandler(handler);\n }\n }\n function getMissingHandler() {\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\n }\n function setMissingHandler(handler) {\n if (_composer.value) {\n _composer.value.setMissingHandler(handler);\n }\n }\n function warpWithDeps(fn) {\n trackReactivityValues();\n return fn();\n }\n function t(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\n : warpWithDeps(() => '');\n }\n function rt(...args) {\n return _composer.value\n ? Reflect.apply(_composer.value.rt, null, [...args])\n : '';\n }\n function d(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\n : warpWithDeps(() => '');\n }\n function n(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\n : warpWithDeps(() => '');\n }\n function tm(key) {\n return _composer.value ? _composer.value.tm(key) : {};\n }\n function te(key, locale) {\n return _composer.value ? _composer.value.te(key, locale) : false;\n }\n function getLocaleMessage(locale) {\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\n }\n function setLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.setLocaleMessage(locale, message);\n _messages.value[locale] = message;\n }\n }\n function mergeLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.mergeLocaleMessage(locale, message);\n }\n }\n function getDateTimeFormat(locale) {\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\n }\n function setDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setDateTimeFormat(locale, format);\n _datetimeFormats.value[locale] = format;\n }\n }\n function mergeDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeDateTimeFormat(locale, format);\n }\n }\n function getNumberFormat(locale) {\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\n }\n function setNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setNumberFormat(locale, format);\n _numberFormats.value[locale] = format;\n }\n }\n function mergeNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeNumberFormat(locale, format);\n }\n }\n const wrapper = {\n get id() {\n return _composer.value ? _composer.value.id : -1;\n },\n locale,\n fallbackLocale,\n messages,\n datetimeFormats,\n numberFormats,\n get inheritLocale() {\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\n },\n set inheritLocale(val) {\n if (_composer.value) {\n _composer.value.inheritLocale = val;\n }\n },\n get availableLocales() {\n return _composer.value\n ? _composer.value.availableLocales\n : Object.keys(_messages.value);\n },\n get modifiers() {\n return (_composer.value ? _composer.value.modifiers : _modifiers);\n },\n get pluralRules() {\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\n },\n get isGlobal() {\n return _composer.value ? _composer.value.isGlobal : false;\n },\n get missingWarn() {\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\n },\n set missingWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackWarn() {\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\n },\n set fallbackWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackRoot() {\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\n },\n set fallbackRoot(val) {\n if (_composer.value) {\n _composer.value.fallbackRoot = val;\n }\n },\n get fallbackFormat() {\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\n },\n set fallbackFormat(val) {\n if (_composer.value) {\n _composer.value.fallbackFormat = val;\n }\n },\n get warnHtmlMessage() {\n return _composer.value\n ? _composer.value.warnHtmlMessage\n : _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n if (_composer.value) {\n _composer.value.warnHtmlMessage = val;\n }\n },\n get escapeParameter() {\n return _composer.value\n ? _composer.value.escapeParameter\n : _escapeParameter;\n },\n set escapeParameter(val) {\n if (_composer.value) {\n _composer.value.escapeParameter = val;\n }\n },\n t,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n rt,\n d,\n n,\n tm,\n te,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getDateTimeFormat,\n setDateTimeFormat,\n mergeDateTimeFormat,\n getNumberFormat,\n setNumberFormat,\n mergeNumberFormat\n };\n function sync(composer) {\n composer.locale.value = _locale.value;\n composer.fallbackLocale.value = _fallbackLocale.value;\n Object.keys(_messages.value).forEach(locale => {\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\n });\n Object.keys(_datetimeFormats.value).forEach(locale => {\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\n });\n Object.keys(_numberFormats.value).forEach(locale => {\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\n });\n composer.escapeParameter = _escapeParameter;\n composer.fallbackFormat = _fallbackFormat;\n composer.fallbackRoot = _fallbackRoot;\n composer.fallbackWarn = _fallbackWarn;\n composer.missingWarn = _missingWarn;\n composer.warnHtmlMessage = _warnHtmlMessage;\n }\n onBeforeMount(() => {\n if (instance.proxy == null || instance.proxy.$i18n == null) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const composer = (_composer.value = instance.proxy.$i18n\n .__composer);\n if (scope === 'global') {\n _locale.value = composer.locale.value;\n _fallbackLocale.value = composer.fallbackLocale.value;\n _messages.value = composer.messages.value;\n _datetimeFormats.value = composer.datetimeFormats.value;\n _numberFormats.value = composer.numberFormats.value;\n }\n else if (isLocalScope) {\n sync(composer);\n }\n });\n return wrapper;\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nif (__INTLIFY_JIT_COMPILATION__) {\n registerMessageCompiler(compile);\n}\nelse {\n registerMessageCompiler(compileToFunction);\n}\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n"],"names":["getTarget","navigator","window","globalThis","isProxyAvailable","Proxy","supported","perf","now","undefined","performance","_a","perf_hooks","Date","ApiProxy","constructor","plugin","hook","this","target","targetQueue","onQueue","defaultSettings","settings","id","item","defaultValue","localSettingsSaveId","currentSettings","Object","assign","raw","localStorage","getItem","data","JSON","parse","e","fallbacks","getSettings","setSettings","value","setItem","stringify","on","pluginId","proxiedOn","get","_target","prop","args","push","method","proxiedTarget","keys","includes","resolve","Promise","async","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","__VUE_DEVTOOLS_GLOBAL_HOOK__","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","__VUE_DEVTOOLS_PLUGINS__","emit","module","exports","url","options","String","__esModule","default","test","slice","hash","needQuotes","concat","replace","inBrowser","makeSymbol","name","shareable","Symbol","for","friendlyJSONstringify","json","isNumber","val","isFinite","isRegExp","toTypeString","isEmptyObject","isPlainObject","length","_globalThis","getGlobalThis","self","global","escapeHtml","rawText","prototype","hasOwnProperty","hasOwn","obj","key","call","isArray","Array","isFunction","isBoolean","isObject","objectToString","toString","proto","getPrototypeOf","incrementer","code","current","msg","err","console","warn","stack","createEmitter","events","Map","event","handler","handlers","set","off","splice","indexOf","payload","map","isNotObjectOrIsArray","deepCopy","src","des","Error","pop","forEach","createLocation","start","end","source","loc","message","match","identifier","items","separator","reduce","str","index","warnMessages","CompileErrorCodes","errorMessages","createCompileError","domain","messages","error","SyntaxError","location","defaultOnError","CHAR_SP","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isPS","isLS","isLineEnd","isLF","charAt","offset","next","line","column","peekOffset","currentChar","currentPeek","peek","reset","resetPeek","skipToPeek","EOF","createTokenizer","_scnr","currentOffset","currentPosition","createPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","text","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isListIdentifierStart","ret","isNumberStart","isPluralStart","isTextStart","fn","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readText","isLiteral","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","i","isInvalidIdentifier","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isNamedIdentifierStart","readNamedIdentifier","readListIdentifier","isLiteralStart","literal","readLiteral","identifiers","readInvalidIdentifier","isLinkedDotStart","isLinkedDelimiterStart","isLinkedModifierStart","readLinkedModifier","isLinkedReferStart","readLinkedRefer","isModulo","spaces","detectModuloStart","readModulo","nextToken","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","parseInt","fromCodePoint","createParser","onWarn","tokenzer","emitWarn","createCompileWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinked","linkedNode","parsed","nextConsumeToken","getTokenCaption","parseLinkedModifier","modifier","parseLinkedKey","nextContext","emptyLinkedKeyNode","parseMessage","parseResource","msgNode","hasEmptyMessage","cases","parsePlural","body","onCacheKey","cacheKey","traverseNodes","nodes","transformer","traverseNode","helper","transform","ast","helpers","Set","add","createTransformer","from","optimizeMessageNode","static","values","minify","t","resource","b","c","s","valueNode","v","linked","k","m","list","named","generateNode","generator","generateResource","needIndent","indent","deindent","generatePluralNode","generateMessageNode","generateLinkedNode","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","optimize","mode","filename","sourceMap","breakLineCode","_needIndent","indentLevel","_newline","n","withBreakLine","_breakLineCode","repeat","withNewLine","level","newline","createCodeGenerator","toJSON","generate","pathStateMachine","literalValueRE","getPathCharType","formatSubPath","path","trimmed","trim","isNaN","exp","a","stripQuotes","cache","resolveWithKeyValue","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_NORMALIZE","join","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","Math","abs","min","createMessageContext","locale","pluralIndex","count","getPluralIndex","pluralRule","pluralRules","orgPluralRule","_list","_named","props","normalizeNamed","parent","normalize","processor","interpolate","arg1","arg2","modifiers","devtools","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER","__EXTEND_POINT__","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","NOT_SUPPORT_NON_STRING_MESSAGE","NOT_SUPPORT_LOCALE_PROMISE_VALUE","NOT_SUPPORT_LOCALE_ASYNC_FUNCTION","NOT_SUPPORT_LOCALE_TYPE","createCoreError","getLocale","resolveLocale","_resolveLocale","resolvedOnce","then","catch","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","split","appendItemToChain","capitalize","toLocaleUpperCase","substr","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","_additionalMeta","setAdditionalMeta","meta","_fallbackContext","setFallbackContext","_cid","createCoreContext","version","_locale","fallbackLocale","datetimeFormats","numberFormats","upper","toUpperCase","children","lower","toLowerCase","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","i18n","timestamp","initI18nDevTools","handleMissing","updateFallbackLocale","isImplicitFallback","targetLocale","locales","compareLocale","formatMessageParts","formatParts","_static","acm","formatMessagePart","linkedKey","linkedModifier","defaultOnCacheKey","compileCache","create","isMessageAST","detectError","compileToFunction","cached","Function","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","format","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","resolveValue","resolveMessage","getMessageContextOptions","messaged","msgCtx","evaluateMessage","to","missingRet","l","generateFormatCacheKey","getCompileContext","arg3","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","startsWith","toISOString","getTime","clearDateTimeFormat","has","delete","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","__INTLIFY_JIT_COMPILATION__","__INTLIFY_DROP_MESSAGE_COMPILER__","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSTALLED","NOT_AVAILABLE_IN_LEGACY_MODE","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSTALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","BRIDGE_SUPPORT_VUE_2_ONLY","MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","EnableEmitter","DisableEmitter","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","instance","adjustI18nResources","gl","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","createTextNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","_ref","translateExistCompatible","_inheritLocale","inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","framework","getCoreContext","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","getMetaInfo","Reflect","apply","root","getLocaleMessage","composer","availableLocales","sort","isGlobal","setLocaleMessage","_message","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","rules","rt","te","resolved","tm","targetLocaleMessages","messageValue","resolveMessages","d","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","createVueI18n","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","convertComposerOptions","__extender","vueI18n","preserveDirectiveContent","__composer","tc","getChoiceIndex","baseFormatProps","tag","scope","validator","getFragmentableTag","Translation","keypath","required","Number","setup","slots","attrs","useI18n","useScope","__useComponent","filter","arg","slot","getInterpolateArg","assignedAttrs","h","renderFormatter","slotKeys","partFormatter","parts","DatetimeFormat","parseValue","makeParams","app","pluginOptions","useI18nComponentName","globalInstall","component","directive","_process","binding","$","i18nInternal","__getInstance","getComposer$2","parsedValue","created","el","textContent","__i18nWatcher","$forceUpdate","unmounted","beforeUpdate","getSSRProps","vTDirective","VueDevToolsLabels","VueDevToolsPlaceholders","VueDevToolsTimelineColors","VUE_I18N_COMPONENT_TYPES","devtoolsApi","enableDevTools","reject","label","packageName","homepage","logo","componentStateTypes","api","visitComponentTree","componentInstance","treeNode","vnode","__VUE_I18N__","getI18nScopeLable","textColor","backgroundColor","tags","updateComponentTreeTags","inspectComponent","instanceData","inspectComposer","addInspector","icon","treeFilterPlaceholder","getInspectorTree","inspectorId","rootNodes","keyInstance","__instances","registerScope","roots","getInspectorState","unhighlightElement","getComposer$1","nodeId","state","localeType","localeStates","editable","localeMessagesType","localeMessagesStates","getLocaleMessageValue","datetimeFormatsType","datetimeFormatsStates","numberFormatsType","numberFormatsStates","makeScopeInspectState","inspectScope","getComponentInstances","highlightElement","entries","getComponentInstance","editInspectorState","field","editScope","addTimelineLayer","color","displayName","__file","func","_custom","display","ESC","escapeChar","find","addTimelineEvent","groupId","layerId","title","time","logType","mergeToGlobal","g","I18nInjectionKey","createI18n","__legacyMode","__VUE_I18N_LEGACY_API__","legacy","__globalInjection","globalInjection","__allowComposition","allowComposition","globalScope","__global","legacyMode","run","createGlobal","symbol","__VUE_PROD_DEVTOOLS__","__VUE_I18N_SYMBOL__","provide","opts","__composerExtend","__vueI18nExtend","globalReleaseHandler","globalExportProps","desc","getOwnPropertyDescriptor","wrap","defineProperty","config","globalProperties","$i18n","globalExportMethods","dispose","injectGlobalFields","__VUE_I18N_FULL_INSTALL__","mixin","vuei18n","beforeCreate","$options","optionsI18n","$root","_vueI18n","__disposer","$t","$rt","$tc","$te","$d","$n","$tm","__setInstance","mounted","$el","emitter","__v_emitter","__enableEmitter","__disableEmitter","__deleteInstance","defineMixin","unmountApp","unmount","_composer","stop","isCE","appContext","getI18nInstance","getGlobalComposer","getScope","isLocalScope","trackReactivityValues","warpWithDeps","wrapper","useI18nForLegacy","useComponent","getParentComponentInstance","getComposer","composerOptions","setupLifeCycle","hit","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","len","last","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__"],"sourceRoot":""}