{"version":3,"file":"vue-i18n-CXYFgL9H.js","sources":["../../../node_modules/vue-i18n/node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@intlify/core-base/node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs"],"sourcesContent":["/*!\n * shared v9.14.2\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;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\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 : create()));\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 // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[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, create, 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 * shared v9.14.2\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;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\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 : create()));\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 // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[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, create, 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.14.2\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.14.2\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, create, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, hasOwn, 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$1(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 || create();\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(create(), _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.14.2';\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 : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\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}\nconst createResources = (locale) => ({ [locale]: create() });\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 = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\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}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\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 = create();\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 = create();\n}\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\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] || create()\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 = create();\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] || create();\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 = create();\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 = create();\n let overrides = create();\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 = create();\n let overrides = create();\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$1 as resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.14.2\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, create, 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.14.2';\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]] = create();\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 ? create()\n : { [locale]: create() });\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] || create();\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)\n ? options.messages\n : create();\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 }, create());\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 = create();\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(create(), 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 = create();\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(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\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(create(), 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":["inBrowser","makeSymbol","name","shareable","isNumber","val","isRegExp","toTypeString","isEmptyObject","isPlainObject","assign","_create","create","obj","_globalThis","getGlobalThis","hasOwnProperty","hasOwn","key","isArray","isFunction","isString","isBoolean","isObject","objectToString","value","proto","incrementer","code","current","isNotObjectOrIsArray","deepCopy","src","des","stack","generateFormatCacheKey","locale","source","friendlyJSONstringify","json","isDate","escapeHtml","rawText","isPromise","toDisplayString","join","items","separator","str","item","index","warn","msg","err","createPosition","line","column","offset","createLocation","start","end","RE_ARGS","format","message","args","match","identifier","CompileWarnCodes","warnMessages","createCompileWarn","loc","CompileErrorCodes","errorMessages","createCompileError","options","domain","messages","error","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","i","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","pathStateMachine","literalValueRE","exp","stripQuotes","a","b","getPathCharType","formatSubPath","path","trimmed","keys","subPathDepth","newChar","transition","action","typeMap","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","resolveValue$1","hit","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","props","createMessageContext","pluralRule","orgPluralRule","_list","_named","_modifier","normalize","interpolate","arg1","arg2","modifier","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","inc","CoreErrorCodes","createCoreError","getLocale","resolveLocale","_resolveLocale","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","resolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","createResources","datetimeFormats","numberFormats","modifiers","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","formatParts","resolveBody","createUnhandleNodeError","resolveType","resolveCases","formatMessageParts","PROPS_BODY","resolveProps","PROPS_CASES","static_","resolveStatic","resolveItems","acm","formatMessagePart","PROPS_STATIC","PROPS_ITEMS","resolveValue","resolveLinkedModifier","resolveLinkedKey","PROPS_TYPE","PROPS_VALUE","resolved","PROPS_MODIFIER","PROPS_KEY","defaultValue","prop","defaultOnCacheKey","compileCache","isMessageAST","detectError","baseCompile$1","compileToFunction","cacheKey","cached","compile","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","missingRet","getCompileContext","msgCtx","arg3","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","clearDateTimeFormat","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","instance","adjustI18nResources","gl","componentOptions","createTextNode","createVNode","Text","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getCurrentInstance","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","_ref","ref","shallowRef","translateExistCompatible","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","computed","getPostTranslationHandler","setPostTranslationHandler","handler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","t","root","rt","d","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","watch","composer","convertComposerOptions","fallbackRoot","pluralizationRules","inheritLocale","sharedMessages","createVueI18n","__extender","vueI18n","baseFormatProps","getInterpolateArg","slots","slot","Fragment","arg","getFragmentableTag","tag","TranslationImpl","defineComponent","attrs","useI18n","children","assignedAttrs","h","Translation","isVNode","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","NumberFormat","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","vTDirective","_process","binding","parsedValue","parseValue","makeParams","el","textContent","apply","app","pluginOptions","useI18nComponentName","defineMixin","vuei18n","optionsI18n","mergeToGlobal","_vueI18n","g","I18nInjectionKey","createI18n","__legacyMode","__globalInjection","__allowComposition","__instances","globalScope","__global","createGlobal","symbol","__getInstance","component","__setInstance","__deleteInstance","opts","globalReleaseHandler","injectGlobalFields","unmountApp","getI18nInstance","getGlobalComposer","scope","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","effectScope","inject","useComponent","getParentComponentInstance","onMounted","onUnmounted","_composer","dispose","isLocalScope","warpWithDeps","wrapper","sync","onBeforeMount","globalExportProps","globalExportMethods","desc","wrap","isRef","method"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}