{"version":3,"sources":["webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm.js"],"names":["numberFormatKeys","warn","msg","err","console","stack","isArray","Array","isObject","obj","isString","val","toString","Object","prototype","isPlainObject","call","isNull","isFunction","parseArgs","args","len","arguments","length","locale","params","looseClone","JSON","parse","stringify","includes","arr","item","indexOf","hasOwnProperty","hasOwn","key","merge","target","arguments$1","output","i","source","looseEqual","a","b","isObjectA","isObjectB","String","isArrayA","isArrayB","every","e","keysA","keys","keysB","escapeParams","forEach","replace","interpolationComponent","name","functional","props","tag","type","Boolean","default","path","required","places","render","h","ref","data","parent","slots","$i18n","children","prop","onlyHasDefaultPlace","reduce","assignChildIndex","assign","createParamsFromPlaces","everyPlace","filter","child","text","trim","vnodeHasPlaceAttribute","assignChildPlace","useLegacyPlaces","attrs","place","index","vnode","Vue","numberComponent","value","Number","format","i18n","options","acc","parts","_ntp","values","map","part","slot","scopedSlots","staticClass","bind","el","binding","assert","t","update","oldVNode","context","vm","_locale","localeEqual","oldValue","_localeMessage","getLocaleMessage","unbind","modifiers","preserve","preserveDirectiveContent","textContent","_vt","undefined","ref$1","ref$2","choice","parseValue","tc","apply","concat","makeParams","push","install","_Vue","bridge","installed","version","split","defineProperty","get","this","_i18n","$t","_t","_getMessages","$tc","_tc","$te","_te","$d","d","$n","n","extend","mixin","mounted","$root","$options","__INTLIFY_META__","$el","setAttribute","beforeCreate","__i18nBridge","__i18n","VueI18n","localeMessages","messages","resource","mergeLocaleMessage","_i18nWatcher","watchI18nData","rootI18n","root","formatter","fallbackLocale","formatFallbackMessages","silentTranslationWarn","silentFallbackWarn","pluralizationRules","localeMessages$1","sharedMessages","sync","_localeWatcher","watchLocale","onComponentInstanceCreated","beforeMount","subscribeDataChanging","_subscribing","beforeDestroy","self","$nextTick","unsubscribeDataChanging","destroyVM","defineMixin","directive","component","config","optionMergeStrategies","parentVal","childVal","BaseFormatter","_caches","create","interpolate","message","tokens","position","char","sub","isClosed","RE_TOKEN_LIST_VALUE","test","RE_TOKEN_NAMED_VALUE","compiled","mode","token","parseInt","compile","pathStateMachine","literalValueRE","getPathCharType","ch","charCodeAt","formatSubPath","str","exp","trimmed","charAt","isNaN","slice","I18nPath","_cache","parsePath","hit","c","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","parse$1","getPathValue","paths","last","availabilities","htmlTagMatcher","linkKeyMatcher","linkKeyPrefixMatcher","bracketsMatcher","defaultModifiers","toLocaleUpperCase","toLocaleLowerCase","substr","defaultFormatter","this$1","window","dateTimeFormats","datetimeFormats","numberFormats","_vm","_formatter","_modifiers","_missing","missing","_root","_sync","_fallbackRoot","fallbackRoot","_formatFallbackMessages","_silentTranslationWarn","_silentFallbackWarn","_dateTimeFormatters","_numberFormatters","_path","_dataListeners","Set","_componentInstanceCreatedListener","componentInstanceCreatedListener","_preserveDirectiveContent","_warnHtmlInMessage","warnHtmlInMessage","_postTranslation","postTranslation","_escapeParameterHtml","escapeParameterHtml","__VUE_I18N_BRIDGE__","getChoiceIndex","choicesLength","thisPrototype","getPrototypeOf","_choice","_choicesLength","Math","abs","min","_exist","_checkLocaleMessage","_initVM","prototypeAccessors","configurable","availableLocales","level","fn","pop","join","error","silent","__VUE18N__INSTANCE__","$destroy","add","delete","remove","$watch","ret","listeners","nextTick","$forceUpdate","deep","composer","target$1","$set","immediate","newI18n","_getDateTimeFormats","_getNumberFormats","sort","set","_localeChainCache","fallback","handler","orgLevel","_warnDefault","result","interpolateMode","missingRet","parsedArgs","_render","_isFallbackRoot","_isSilentFallbackWarn","RegExp","_isSilentFallback","_isSilentTranslationWarn","_interpolate","host","visitedLinkStack","pathRet","_link","matches","match","idx","link","linkKeyPrefixMatches","linkPrefix","formatterName","linkPlaceholder","translated","Error","_translate","_createMessageContext","_list","_named","list","named","linked","linkedKey","_appendItemToChain","chain","blocks","follow","_appendLocaleToChain","splice","_appendBlockToChain","block","_getLocaleChain","start","defaults","res","step","_i","predefined","fetchChoice","choices","te","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","_clearDateTimeFormat","mergeDateTimeFormat","id","_localizeDateTime","formats","Intl","DateTimeFormat","_d","getNumberFormat","setNumberFormat","_clearNumberFormat","mergeNumberFormat","_getNumberFormatter","NumberFormat","_n","numberFormat","formatToParts","defineProperties","intlDefined","dateTimeFormat"],"mappings":"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","file":"vendors-pkg-vue-i18n.997d8282.js","sourcesContent":["/*!\n * vue-i18n v8.26.7 \n * (c) 2021 kazuya kawaguchi\n * Released under the MIT License.\n */\n/* */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n 'compactDisplay',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'localeMatcher',\n 'notation',\n 'numberingSystem',\n 'signDisplay',\n 'style',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error (msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n return val === null || val === undefined\n}\n\nfunction isFunction (val) {\n return typeof val === 'function'\n}\n\nfunction parseArgs () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var locale = null;\n var params = null;\n if (args.length === 1) {\n if (isObject(args[0]) || isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n if (isObject(args[1]) || isArray(args[1])) {\n params = args[1];\n }\n }\n\n return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n if (arr.delete(item)) {\n return arr\n }\n}\n\nfunction arrayFrom (arr) {\n var ret = [];\n arr.forEach(function (a) { return ret.push(a); });\n return ret\n}\n\nfunction includes (arr, item) {\n return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n var arguments$1 = arguments;\n\n var output = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n var key = (void 0);\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n return output\n}\n\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.\n * @param rawText The raw input from the user that should be escaped.\n */\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n}\n\n/**\n * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.\n * This method performs an in-place operation on the params object.\n *\n * @param {any} params Parameters as provided from `parseArgs().params`.\n * May be either an array of strings or a string->any map.\n *\n * @returns The manipulated `params` object.\n */\nfunction escapeParams(params) {\n if(params != null) {\n Object.keys(params).forEach(function (key) {\n if(typeof(params[key]) == 'string') {\n params[key] = escapeHtml(params[key]);\n }\n });\n }\n return params\n}\n\n/* */\n\nfunction extend (Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get () { return this._i18n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n };\n}\n\n/* */\n\n/**\n * Mixin\n * \n * If `bridge` mode, empty mixin is returned,\n * else regulary mixin implementation is returned.\n */\nfunction defineMixin (bridge) {\n if ( bridge === void 0 ) bridge = false;\n\n function mounted () {\n if (this !== this.$root && this.$options.__INTLIFY_META__ && this.$el) {\n this.$el.setAttribute('data-intlify', this.$options.__INTLIFY_META__);\n }\n }\n\n return bridge\n ? { mounted: mounted } // delegate `vue-i18n-bridge` mixin implementation\n : { // regulary \n beforeCreate: function beforeCreate () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n = options.__i18nBridge || options.__i18n;\n _i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n ? this.$root.$i18n\n : null;\n // component local i18n\n if (rootI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = rootI18n.formatter;\n options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n }\n\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n$1 = options.__i18nBridge || options.__i18n;\n _i18n$1.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n\n if (rootI18n) {\n rootI18n.onComponentInstanceCreated(this._i18n);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n\n beforeMount: function beforeMount () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n }\n },\n\n mounted: mounted,\n\n beforeDestroy: function beforeDestroy () {\n if (!this._i18n) { return }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n self._i18n.destroyVM();\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n delete self._localeWatcher;\n }\n });\n }\n }\n}\n\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render (h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n\n var $i18n = parent.$i18n;\n if (!$i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(\n path,\n locale,\n onlyHasDefaultPlace(params) || places\n ? useLegacyPlaces(params.default, places)\n : params\n );\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, data, children) : children\n }\n};\n\nfunction onlyHasDefaultPlace (params) {\n var prop;\n for (prop in params) {\n if (prop !== 'default') { return false }\n }\n return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) { return params }\n\n // Filter empty text nodes\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== ''\n });\n\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n if (process.env.NODE_ENV !== 'production' && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(\n everyPlace ? assignChildPlace : assignChildIndex,\n params\n )\n}\n\nfunction createParamsFromPlaces (places) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places)\n ? places.reduce(assignChildIndex, {})\n : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n return params\n}\n\nfunction assignChildIndex (params, child, index) {\n params[index] = child;\n return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/* */\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render (h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return null\n }\n\n var key = null;\n var options = null;\n\n if (isString(props.format)) {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n }\n\n // Filter out number format options only\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (includes(numberFormatKeys, prop)) {\n return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n }\n return acc\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n });\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag\n ? h(tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values)\n : values\n }\n};\n\n/* */\n\nfunction bind (el, binding, vnode) {\n if (!assert(el, vnode)) { return }\n\n t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) { return }\n\n var i18n = vnode.context.$i18n;\n if (localeEqual(el, vnode) &&\n (looseEqual(binding.value, binding.oldValue) &&\n looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return\n }\n\n var i18n = vnode.context.$i18n || {};\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false\n }\n\n return true\n}\n\nfunction localeEqual (el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n var ref$1, ref$2;\n\n var value = binding.value;\n\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n if (!path && !locale && !args) {\n warn('value type not supported');\n return\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return\n }\n\n var vm = vnode.context;\n if (choice != null) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n }\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (isString(value)) {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n var params = [];\n\n locale && params.push(locale);\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params\n}\n\nvar Vue;\n\nfunction install (_Vue, options) {\n if ( options === void 0 ) options = { bridge: false };\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n warn('already installed.');\n return\n }\n install.installed = true;\n\n Vue = _Vue;\n\n var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && version < 2) {\n warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n return\n }\n\n extend(Vue);\n Vue.mixin(defineMixin(options.bridge));\n Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent);\n\n // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n var strats = Vue.config.optionMergeStrategies;\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n}\n\n/* */\n\nvar BaseFormatter = function BaseFormatter () {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n if (!values) {\n return [message]\n }\n var tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n var tokens = [];\n var position = 0;\n\n var text = '';\n while (position < format.length) {\n var char = format[position++];\n if (char === '{') {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n var isClosed = char === '}';\n\n var type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type: type });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[(position)] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({ type: 'text', value: text });\n\n return tokens\n}\n\nfunction compile (tokens, values) {\n var compiled = [];\n var index = 0;\n\n var mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') { return compiled }\n\n while (index < tokens.length) {\n var token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break\n case 'named':\n if (mode === 'named') {\n compiled.push((values)[token.value]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n }\n }\n break\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Detect 'unknown' type of token!\");\n }\n break\n }\n index++;\n }\n\n return compiled\n}\n\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27)\n ? str.slice(1, -1)\n : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n if (ch === undefined || ch === null) { return 'eof' }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n return ch\n\n case 0x5F: // _\n case 0x24: // $\n case 0x2D: // -\n return 'ident'\n\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029: // Paragraph Separator\n return 'ws'\n }\n\n return 'ident'\n}\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 */\n\nfunction formatSubPath (path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n if (key === undefined) { return false }\n key = formatSubPath(key);\n if (key === false) {\n return false\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote () {\n var nextChar = path[index + 1];\n if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined\n ? c\n : newChar;\n if (action() === false) {\n return\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys\n }\n }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n var hit = this._cache[path];\n if (!hit) {\n hit = parse$1(path);\n if (hit) {\n this._cache[path] = hit;\n }\n }\n return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n if (!isObject(obj)) { return null }\n\n var paths = this.parsePath(path);\n if (paths.length === 0) {\n return null\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n while (i < length) {\n var value = last[paths[i]];\n if (value === undefined || value === null) {\n return null\n }\n last = value;\n i++;\n }\n\n return last\n }\n};\n\n/* */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|./]+|\\([\\w\\-_|./]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) { return str.toLocaleUpperCase(); },\n 'lower': function (str) { return str.toLocaleLowerCase(); },\n 'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n /* istanbul ignore if */\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale === false\n ? false\n : options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || options.datetimeFormats || {};\n var numberFormats = options.numberFormats || {};\n\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined\n ? true\n : !!options.fallbackRoot;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined\n ? false\n : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined\n ? false\n : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined\n ? false\n : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = new Set();\n this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n ? false\n : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n this._postTranslation = options.postTranslation || null;\n this._escapeParameterHtml = options.escapeParameterHtml || false;\n\n if ('__VUE_I18N_BRIDGE__' in options) {\n this.__VUE_I18N_BRIDGE__ = options.__VUE_I18N_BRIDGE__;\n }\n\n /**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n */\n this.getChoiceIndex = function (choice, choicesLength) {\n var thisPrototype = Object.getPrototypeOf(this$1);\n if (thisPrototype && thisPrototype.getChoiceIndex) {\n var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n }\n\n // Default (old) getChoiceIndex implementation - english-compatible\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice\n ? _choice > 1\n ? 1\n : 0\n : 1\n }\n\n return _choice ? Math.min(_choice, 2) : 0\n };\n\n if (this$1.locale in this$1.pluralizationRules) {\n return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n } else {\n return defaultImpl(choice, choicesLength)\n }\n };\n\n\n this._exist = function (message, key) {\n if (!message || !key) { return false }\n if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n // fallback for flat key\n if (message[key]) { return true }\n return false\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true },sync: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push((\"[\" + index + \"]\"));\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push((\"[\" + index + \"]\"));\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (isString(message)) {\n var ret = htmlTagMatcher.test(message);\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({ data: data, __VUE18N__INSTANCE__: true });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n this._dataListeners.add(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n var this$1 = this;\n return this._vm.$watch('$data', function () {\n var listeners = arrayFrom(this$1._dataListeners);\n var i = listeners.length;\n while(i--) {\n Vue.nextTick(function () {\n listeners[i] && listeners[i].$forceUpdate();\n });\n }\n }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale (composer) {\n if (!composer) {\n /* istanbul ignore if */\n if (!this._sync || !this._root) { return null }\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, { immediate: true })\n } else {\n // deal with vue-i18n-bridge\n if (!this.__VUE_I18N_BRIDGE__) { return null }\n var self = this;\n var target$1 = this._vm;\n return this.vm.$watch('locale', function (val) {\n target$1.$set(target$1, 'locale', val);\n if (self.__VUE_I18N_BRIDGE__ && composer) {\n composer.locale.value = val;\n }\n target$1.$forceUpdate();\n }, { immediate: true })\n }\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n if (this._componentInstanceCreatedListener) {\n this._componentInstanceCreatedListener(newI18n, this);\n }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._localeChainCache = {};\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1 = this;\n\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nprototypeAccessors.sync.get = function () { return this._sync };\nprototypeAccessors.sync.set = function (val) { this._sync = val; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n if (!isNull(result)) { return result }\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n if (isString(missingRet)) {\n return missingRet\n }\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn(\n \"Cannot translate the value of keypath '\" + key + \"'. \" +\n 'Use the value of keypath as default.'\n );\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, interpolateMode, parsedArgs.params, key)\n } else {\n return key\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n return !val && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n return this._silentFallbackWarn instanceof RegExp\n ? this._silentFallbackWarn.test(key)\n : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n return this._silentTranslationWarn instanceof RegExp\n ? this._silentTranslationWarn.test(key)\n : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n locale,\n message,\n key,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n if (!message) { return null }\n\n var pathRet = this._path.getPathValue(message, key);\n if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n var ret;\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n if (!(isString(ret) || isFunction(ret))) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function !\"));\n }\n return null\n }\n } else {\n return null\n }\n } else {\n /* istanbul ignore else */\n if (isString(pathRet) || isFunction(pathRet)) {\n ret = pathRet;\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function!\"));\n }\n return null\n }\n }\n\n // Check for the existence of links within the translated string\n if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n locale,\n message,\n str,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n var ret = str;\n\n // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n var matches = ret.match(linkKeyMatcher);\n \n // eslint-disable-next-line no-autofix/prefer-const\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue\n }\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1];\n\n // Remove the leading @:, @.case: and the brackets\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (includes(visitedLinkStack, linkPlaceholder)) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n }\n return ret\n }\n visitedLinkStack.push(linkPlaceholder);\n\n // Translate the link\n var translated = this._interpolate(\n locale, message, linkPlaceholder, host,\n interpolateMode === 'raw' ? 'string' : interpolateMode,\n interpolateMode === 'raw' ? undefined : values,\n visitedLinkStack\n );\n\n if (this._isFallbackRoot(translated)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n var root = this._root.$i18n;\n translated = root._translate(\n root._getMessages(), root.locale, root.fallbackLocale,\n linkPlaceholder, host, interpolateMode, values\n );\n }\n translated = this._warnDefault(\n locale, linkPlaceholder, translated, host,\n isArray(values) ? values : [values],\n interpolateMode\n );\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop();\n\n // Replace the link with the translated\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext (values, formatter, path, interpolateMode) {\n var this$1 = this;\n\n var _list = isArray(values) ? values : [];\n var _named = isObject(values) ? values : {};\n var list = function (index) { return _list[index]; };\n var named = function (key) { return _named[key]; };\n var messages = this._getMessages();\n var locale = this.locale;\n\n return {\n list: list,\n named: named,\n values: values,\n formatter: formatter,\n path: path,\n messages: messages,\n locale: locale,\n linked: function (linkedKey) { return this$1._interpolate(locale, messages[locale] || {}, linkedKey, null, interpolateMode, undefined, [linkedKey]); }\n }\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n if (isFunction(message)) {\n return message(\n this._createMessageContext(values, this._formatter || defaultFormatter, path, interpolateMode)\n )\n }\n\n var ret = this._formatter.interpolate(message, values, path);\n\n // If the custom formatter refuses to work - apply the default one\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n }\n\n // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n var follow = false;\n if (!includes(chain, item)) {\n follow = true;\n if (item) {\n follow = item[item.length - 1] !== '!';\n item = item.replace(/!/g, '');\n chain.push(item);\n if (blocks && blocks[item]) {\n follow = blocks[item];\n }\n }\n }\n return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n var follow;\n var tokens = locale.split('-');\n do {\n var item = tokens.join('-');\n follow = this._appendItemToChain(chain, item, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && (follow === true))\n return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n var follow = true;\n for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n var locale = block[i];\n if (isString(locale)) {\n follow = this._appendLocaleToChain(chain, locale, blocks);\n }\n }\n return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n if (start === '') { return [] }\n\n if (!this._localeChainCache) {\n this._localeChainCache = {};\n }\n\n var chain = this._localeChainCache[start];\n if (!chain) {\n if (!fallbackLocale) {\n fallbackLocale = this.fallbackLocale;\n }\n chain = [];\n\n // first block defined by start\n var block = [start];\n\n // while any intervening block found\n while (isArray(block)) {\n block = this._appendBlockToChain(\n chain,\n block,\n fallbackLocale\n );\n }\n\n // last block defined by default\n var defaults;\n if (isArray(fallbackLocale)) {\n defaults = fallbackLocale;\n } else if (isObject(fallbackLocale)) {\n /* $FlowFixMe */\n if (fallbackLocale['default']) {\n defaults = fallbackLocale['default'];\n } else {\n defaults = null;\n }\n } else {\n defaults = fallbackLocale;\n }\n\n // convert defaults to array\n if (isString(defaults)) {\n block = [defaults];\n } else {\n block = defaults;\n }\n if (block) {\n this._appendBlockToChain(\n chain,\n block,\n null\n );\n }\n this._localeChainCache[start] = chain;\n }\n return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n messages,\n locale,\n fallback,\n key,\n host,\n interpolateMode,\n args\n) {\n var chain = this._getLocaleChain(locale, fallback);\n var res;\n for (var i = 0; i < chain.length; i++) {\n var step = chain[i];\n res =\n this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n }\n return res\n }\n }\n return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n var ref;\n\n var values = [], len = arguments.length - 4;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n if (!key) { return '' }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n if(this._escapeParameterHtml) {\n parsedArgs.params = escapeParams(parsedArgs.params);\n }\n\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(\n messages, locale, this.fallbackLocale, key,\n host, 'string', parsedArgs.params\n );\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n } else {\n ret = this._warnDefault(locale, key, ret, host, values, 'string');\n if (this._postTranslation && ret !== null && ret !== undefined) {\n ret = this._postTranslation(ret, key);\n }\n return ret\n }\n};\n\nVueI18n.prototype.t = function t (key) {\n var ref;\n\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n var ret =\n this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n }\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.i(key, locale, values)\n } else {\n return this._warnDefault(locale, key, ret, host, [values], 'raw')\n }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n /* istanbul ignore if */\n if (!key) { return '' }\n\n if (!isString(locale)) {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n key,\n _locale,\n messages,\n host,\n choice\n) {\n var ref;\n\n var values = [], len = arguments.length - 5;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n if (!key) { return '' }\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = { 'count': choice, 'n': choice };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n /* istanbul ignore if */\n if (!message || !isString(message)) { return null }\n var choices = message.split('|');\n\n choice = this.getChoiceIndex(choice, choices.length);\n if (!choices[choice]) { return message }\n return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n var ref;\n\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n var args = [], len = arguments.length - 3;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, merge(\n typeof this._vm.messages[locale] !== 'undefined' && Object.keys(this._vm.messages[locale]).length\n ? Object.assign({}, this._vm.messages[locale])\n : {},\n message\n ));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._dateTimeFormatters[id];\n }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n value,\n locale,\n fallback,\n dateTimeFormats,\n key\n) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = dateTimeFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n var id = _locale + \"__\" + key;\n var formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return ''\n }\n\n if (!key) {\n return new Intl.DateTimeFormat(locale).format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.d(value, key, locale)\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.d = function d (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._numberFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._numberFormatters[id];\n }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n value,\n locale,\n fallback,\n numberFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = numberFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n return formatter\n }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n return ''\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.format(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.n = function n (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n\n // Filter out number format options only\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(numberFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n return []\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.formatToParts(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n._ntp(value, locale, key, options)\n } else {\n return ret || []\n }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get () {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities\n }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.26.7';\n\nexport default VueI18n;\n"],"sourceRoot":""}