{"version":3,"file":"js/chunk-vendors-bdb47e33.1acd3b1c.js","mappings":"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","sources":["webpack://vultan/./node_modules/@intlify/shared/dist/shared.mjs","webpack://vultan/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","webpack://vultan/./node_modules/@intlify/core-base/dist/core-base.mjs"],"sourcesContent":["/*!\n * shared v9.14.3\n * (c) 2025 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 .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.3\n * (c) 2025 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/// <reference types=\"source-map-js\" />\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.3\n * (c) 2025 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.3';\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"],"names":["inBrowser","window","makeSymbol","name","shareable","Symbol","for","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","l","k","s","json","JSON","stringify","replace","isNumber","val","isFinite","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","Object","keys","length","assign","_create","create","obj","_globalThis","getGlobalThis","globalThis","self","global","escapeHtml","rawText","hasOwnProperty","prototype","hasOwn","call","isArray","Array","isFunction","isString","isBoolean","isObject","isPromise","then","catch","objectToString","toString","value","proto","getPrototypeOf","constructor","toDisplayString","String","join","items","separator","reduce","str","item","index","incrementer","code","current","warn","msg","err","console","stack","isNotObjectOrIsArray","deepCopy","src","des","Error","pop","forEach","push","createPosition","line","column","offset","createLocation","start","end","loc","RE_ARGS","format","message","args","match","identifier","CompileWarnCodes","USE_MODULO_SYNTAX","__EXTEND_POINT__","warnMessages","createCompileWarn","location","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","UNHANDLED_CODEGEN_NODE_TYPE","UNHANDLED_MINIFIER_NODE_TYPE","errorMessages","createCompileError","options","domain","messages","error","SyntaxError","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","undefined","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","text","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","isModulo","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","nextToken","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","parseInt","fromCodePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","modifier","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","parse","body","onCacheKey","cacheKey","slice","createTransformer","ast","helpers","Set","helper","add","traverseNodes","nodes","transformer","traverseNode","linked","transform","from","optimize","optimizeMessageNode","c","static","values","ERROR_DOMAIN$1","minify","t","resource","b","valueNode","v","m","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","map","indentLevel","_newline","n","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","mode","toJSON","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","parser","initFeatureFlags","__INTLIFY_PROD_DEVTOOLS__","__INTLIFY_JIT_COMPILATION__","__INTLIFY_DROP_MESSAGE_COMPILER__","pathStateMachine","literalValueRE","exp","test","stripQuotes","a","getPathCharType","formatSubPath","path","trimmed","trim","isNaN","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","cache","Map","resolveWithKeyValue","resolveValue$1","hit","get","set","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","Math","abs","min","getPluralIndex","pluralIndex","count","normalizeNamed","props","createMessageContext","pluralRule","pluralRules","orgPluralRule","_list","_named","parent","_modifier","modifiers","normalize","processor","interpolate","arg1","arg2","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","emit","timestamp","Date","now","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","NOT_SUPPORT_NON_STRING_MESSAGE","NOT_SUPPORT_LOCALE_PROMISE_VALUE","NOT_SUPPORT_LOCALE_ASYNC_FUNCTION","NOT_SUPPORT_LOCALE_TYPE","createCoreError","getLocale","resolveLocale","_resolveLocale","resolvedOnce","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","split","appendItemToChain","splice","includes","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","toUpperCase","children","lower","toLowerCase","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","createResources","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","indexOf","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","compileToFunction","cached","Function","compile","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","to","missingRet","getCompileContext","msgCtx","arg3","resolveMessage","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","startsWith","toISOString","e","getTime","clearDateTimeFormat","has","delete","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat"],"sourceRoot":""}