{"version":3,"file":"js/chunk-vendors-b5c74997.746986d5.js","mappings":"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","sources":["webpack://dicom-frontend/./node_modules/vue-i18n/dist/vue-i18n.esm.js","webpack://dicom-frontend/./node_modules/vue-lazyload/vue-lazyload.esm.js","webpack://dicom-frontend/./node_modules/vue-notification/dist/index.js","webpack://dicom-frontend/./node_modules/vue-ref/index.js"],"sourcesContent":["/*!\n * vue-i18n v8.28.2 \n * (c) 2022 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\nvar dateTimeFormatKeys = [\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'localeMatcher',\n \"hour12\",\n \"hourCycle\",\n \"timeZone\",\n \"formatMatcher\",\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName' ];\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-zA-Z]+)?:(?:[\\w\\-_|./]+|\\([\\w\\-_:|./]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-zA-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._fallbackRootWithEmptyString = options.fallbackRootWithEmptyString === undefined\n ? true\n : !!options.fallbackRootWithEmptyString;\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 (this._fallbackRootWithEmptyString? !val : isNull(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 options\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\n var formatter;\n if (options) {\n formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n }\n\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key, options) {\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 var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);\n return dtf.format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);\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 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\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(dateTimeFormatKeys, 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._d(value, locale, key, options)\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.28.2';\n\nexport default VueI18n;\n","/*!\n * Vue-Lazyload.js v1.3.5\n * (c) 2023 Awe \n * Released under the MIT License.\n */\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar assignSymbols$1 = createCommonjsModule(function (module) {\n\n var toString = Object.prototype.toString;\n var isEnumerable = Object.prototype.propertyIsEnumerable;\n var getSymbols = Object.getOwnPropertySymbols;\n\n module.exports = function (target) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!isObject(target)) {\n throw new TypeError('expected the first argument to be an object');\n }\n\n if (args.length === 0 || typeof Symbol !== 'function' || typeof getSymbols !== 'function') {\n return target;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = args[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var arg = _step.value;\n\n var names = getSymbols(arg);\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = names[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n\n if (isEnumerable.call(arg, key)) {\n target[key] = arg[key];\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return target;\n };\n\n function isObject(val) {\n return typeof val === 'function' || toString.call(val) === '[object Object]' || Array.isArray(val);\n }\n});\n\nvar assignSymbols$2 = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\t'default': assignSymbols$1,\n\t__moduleExports: assignSymbols$1\n});\n\nvar assignSymbols = ( assignSymbols$2 && assignSymbols$1 ) || assignSymbols$2;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar assignDeep = createCommonjsModule(function (module) {\n\n var toString = Object.prototype.toString;\n\n var isValidKey = function isValidKey(key) {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n };\n\n var assign = module.exports = function (target) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var i = 0;\n if (isPrimitive(target)) target = args[i++];\n if (!target) target = {};\n for (; i < args.length; i++) {\n if (isObject(args[i])) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Object.keys(args[i])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n\n if (isValidKey(key)) {\n if (isObject(target[key]) && isObject(args[i][key])) {\n assign(target[key], args[i][key]);\n } else {\n target[key] = args[i][key];\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n assignSymbols(target, args[i]);\n }\n }\n return target;\n };\n\n function isObject(val) {\n return typeof val === 'function' || toString.call(val) === '[object Object]';\n }\n\n function isPrimitive(val) {\n return (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' ? val === null : typeof val !== 'function';\n }\n});\n\nvar inBrowser = typeof window !== 'undefined' && window !== null;\n\nvar hasIntersectionObserver = checkIntersectionObserver();\n\nfunction checkIntersectionObserver() {\n if (inBrowser && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function get() {\n return this.intersectionRatio > 0;\n }\n });\n }\n return true;\n }\n return false;\n}\n\nvar modeType = {\n event: 'event',\n observer: 'observer'\n\n // CustomEvent polyfill for IE\n};var CustomEvent = function () {\n if (!inBrowser) return;\n // not IE\n if (typeof window.CustomEvent === 'function') return window.CustomEvent;\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n CustomEvent.prototype = window.Event.prototype;\n return CustomEvent;\n}();\n\nfunction remove(arr, item) {\n if (!arr.length) return;\n var index = arr.indexOf(item);\n if (index > -1) return arr.splice(index, 1);\n}\n\nfunction some(arr, fn) {\n var has = false;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n has = true;\n break;\n }\n }\n return has;\n}\n\nfunction getBestSelectionFromSrcset(el, scale) {\n if (el.tagName !== 'IMG' || !el.getAttribute('data-srcset')) return;\n\n var options = el.getAttribute('data-srcset');\n var result = [];\n var container = el.parentNode;\n var containerWidth = container.offsetWidth * scale;\n\n var spaceIndex = void 0;\n var tmpSrc = void 0;\n var tmpWidth = void 0;\n\n options = options.trim().split(',');\n\n options.map(function (item) {\n item = item.trim();\n spaceIndex = item.lastIndexOf(' ');\n if (spaceIndex === -1) {\n tmpSrc = item;\n tmpWidth = 999998;\n } else {\n tmpSrc = item.substr(0, spaceIndex);\n tmpWidth = parseInt(item.substr(spaceIndex + 1, item.length - spaceIndex - 2), 10);\n }\n result.push([tmpWidth, tmpSrc]);\n });\n\n result.sort(function (a, b) {\n if (a[0] < b[0]) {\n return 1;\n }\n if (a[0] > b[0]) {\n return -1;\n }\n if (a[0] === b[0]) {\n if (b[1].indexOf('.webp', b[1].length - 5) !== -1) {\n return 1;\n }\n if (a[1].indexOf('.webp', a[1].length - 5) !== -1) {\n return -1;\n }\n }\n return 0;\n });\n var bestSelectedSrc = '';\n var tmpOption = void 0;\n\n for (var i = 0; i < result.length; i++) {\n tmpOption = result[i];\n bestSelectedSrc = tmpOption[1];\n var next = result[i + 1];\n if (next && next[0] < containerWidth) {\n bestSelectedSrc = tmpOption[1];\n break;\n } else if (!next) {\n bestSelectedSrc = tmpOption[1];\n break;\n }\n }\n\n return bestSelectedSrc;\n}\n\nfunction find(arr, fn) {\n var item = void 0;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n item = arr[i];\n break;\n }\n }\n return item;\n}\n\nvar getDPR = function getDPR() {\n var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return inBrowser ? window.devicePixelRatio || scale : scale;\n};\n\nfunction supportWebp() {\n if (!inBrowser) return false;\n\n var support = true;\n\n try {\n var elem = document.createElement('canvas');\n\n if (elem.getContext && elem.getContext('2d')) {\n support = elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;\n }\n } catch (err) {\n support = false;\n }\n\n return support;\n}\n\nfunction throttle(action, delay) {\n var timeout = null;\n var movement = null;\n var lastRun = 0;\n var needRun = false;\n return function () {\n needRun = true;\n if (timeout) {\n return;\n }\n var elapsed = Date.now() - lastRun;\n var context = this;\n var args = arguments;\n var runCallback = function runCallback() {\n lastRun = Date.now();\n timeout = false;\n action.apply(context, args);\n };\n if (elapsed >= delay) {\n runCallback();\n } else {\n timeout = setTimeout(runCallback, delay);\n }\n if (needRun) {\n clearTimeout(movement);\n movement = setTimeout(runCallback, 2 * delay);\n }\n };\n}\n\nfunction testSupportsPassive() {\n if (!inBrowser) return;\n var support = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n support = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return support;\n}\n\nvar supportsPassive = testSupportsPassive();\n\nvar _ = {\n on: function on(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (supportsPassive) {\n el.addEventListener(type, func, {\n capture: capture,\n passive: true\n });\n } else {\n el.addEventListener(type, func, capture);\n }\n },\n off: function off(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n el.removeEventListener(type, func, capture);\n }\n};\n\nvar loadImageAsync = function loadImageAsync(item, resolve, reject) {\n var image = new Image();\n if (!item || !item.src) {\n var err = new Error('image src is required');\n return reject(err);\n }\n\n image.src = item.src;\n if (item.cors) {\n image.crossOrigin = item.cors;\n }\n\n image.onload = function () {\n resolve({\n naturalHeight: image.naturalHeight,\n naturalWidth: image.naturalWidth,\n src: image.src\n });\n };\n\n image.onerror = function (e) {\n reject(e);\n };\n};\n\nvar style = function style(el, prop) {\n return typeof getComputedStyle !== 'undefined' ? getComputedStyle(el, null).getPropertyValue(prop) : el.style[prop];\n};\n\nvar overflow = function overflow(el) {\n return style(el, 'overflow') + style(el, 'overflow-y') + style(el, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(el) {\n if (!inBrowser) return;\n if (!(el instanceof HTMLElement)) {\n return window;\n }\n\n var parent = el;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nfunction isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n}\n\nfunction ObjectKeys(obj) {\n if (!(obj instanceof Object)) return [];\n if (Object.keys) {\n return Object.keys(obj);\n } else {\n var keys = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n return keys;\n }\n}\n\nfunction ArrayFrom(arrLike) {\n var len = arrLike.length;\n var list = [];\n for (var i = 0; i < len; i++) {\n list.push(arrLike[i]);\n }\n return list;\n}\n\nfunction noop() {}\n\nvar ImageCache = function () {\n function ImageCache(_ref) {\n var max = _ref.max;\n classCallCheck(this, ImageCache);\n\n this.options = {\n max: max || 100\n };\n this._caches = [];\n }\n\n createClass(ImageCache, [{\n key: 'has',\n value: function has(key) {\n return this._caches.indexOf(key) > -1;\n }\n }, {\n key: 'add',\n value: function add(key) {\n if (this.has(key)) return;\n this._caches.push(key);\n if (this._caches.length > this.options.max) {\n this.free();\n }\n }\n }, {\n key: 'free',\n value: function free() {\n this._caches.shift();\n }\n }]);\n return ImageCache;\n}();\n\n// el: {\n// state,\n// src,\n// error,\n// loading\n// }\n\nvar ReactiveListener = function () {\n function ReactiveListener(_ref) {\n var el = _ref.el,\n src = _ref.src,\n error = _ref.error,\n loading = _ref.loading,\n bindType = _ref.bindType,\n $parent = _ref.$parent,\n options = _ref.options,\n cors = _ref.cors,\n elRenderer = _ref.elRenderer,\n imageCache = _ref.imageCache;\n classCallCheck(this, ReactiveListener);\n\n this.el = el;\n this.src = src;\n this.error = error;\n this.loading = loading;\n this.bindType = bindType;\n this.attempt = 0;\n this.cors = cors;\n\n this.naturalHeight = 0;\n this.naturalWidth = 0;\n\n this.options = options;\n\n this.rect = null;\n\n this.$parent = $parent;\n this.elRenderer = elRenderer;\n this._imageCache = imageCache;\n this.performanceData = {\n init: Date.now(),\n loadStart: 0,\n loadEnd: 0\n };\n\n this.filter();\n this.initState();\n this.render('loading', false);\n }\n\n /*\r\n * init listener state\r\n * @return\r\n */\n\n\n createClass(ReactiveListener, [{\n key: 'initState',\n value: function initState() {\n if ('dataset' in this.el) {\n this.el.dataset.src = this.src;\n } else {\n this.el.setAttribute('data-src', this.src);\n }\n\n this.state = {\n loading: false,\n error: false,\n loaded: false,\n rendered: false\n };\n }\n\n /*\r\n * record performance\r\n * @return\r\n */\n\n }, {\n key: 'record',\n value: function record(event) {\n this.performanceData[event] = Date.now();\n }\n\n /*\r\n * update image listener data\r\n * @param {String} image uri\r\n * @param {String} loading image uri\r\n * @param {String} error image uri\r\n * @return\r\n */\n\n }, {\n key: 'update',\n value: function update(_ref2) {\n var src = _ref2.src,\n loading = _ref2.loading,\n error = _ref2.error;\n\n var oldSrc = this.src;\n this.src = src;\n this.loading = loading;\n this.error = error;\n this.filter();\n if (oldSrc !== this.src) {\n this.attempt = 0;\n this.initState();\n }\n }\n\n /*\r\n * get el node rect\r\n * @return\r\n */\n\n }, {\n key: 'getRect',\n value: function getRect() {\n this.rect = this.el.getBoundingClientRect();\n }\n\n /*\r\n * check el is in view\r\n * @return {Boolean} el is in view\r\n */\n\n }, {\n key: 'checkInView',\n value: function checkInView() {\n this.getRect();\n return this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0;\n }\n\n /*\r\n * listener filter\r\n */\n\n }, {\n key: 'filter',\n value: function filter() {\n var _this = this;\n\n ObjectKeys(this.options.filter).map(function (key) {\n _this.options.filter[key](_this, _this.options);\n });\n }\n\n /*\r\n * render loading first\r\n * @params cb:Function\r\n * @return\r\n */\n\n }, {\n key: 'renderLoading',\n value: function renderLoading(cb) {\n var _this2 = this;\n\n this.state.loading = true;\n loadImageAsync({\n src: this.loading,\n cors: this.cors\n }, function (data) {\n _this2.render('loading', false);\n _this2.state.loading = false;\n cb();\n }, function () {\n // handler `loading image` load failed\n cb();\n _this2.state.loading = false;\n if (!_this2.options.silent) console.warn('VueLazyload log: load failed with loading image(' + _this2.loading + ')');\n });\n }\n\n /*\r\n * try load image and render it\r\n * @return\r\n */\n\n }, {\n key: 'load',\n value: function load() {\n var _this3 = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.attempt > this.options.attempt - 1 && this.state.error) {\n if (!this.options.silent) console.log('VueLazyload log: ' + this.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n if (this.state.rendered && this.state.loaded) return;\n if (this._imageCache.has(this.src)) {\n this.state.loaded = true;\n this.render('loaded', true);\n this.state.rendered = true;\n return onFinish();\n }\n\n this.renderLoading(function () {\n _this3.attempt++;\n\n _this3.options.adapter['beforeLoad'] && _this3.options.adapter['beforeLoad'](_this3, _this3.options);\n _this3.record('loadStart');\n\n loadImageAsync({\n src: _this3.src,\n cors: _this3.cors\n }, function (data) {\n _this3.naturalHeight = data.naturalHeight;\n _this3.naturalWidth = data.naturalWidth;\n _this3.state.loaded = true;\n _this3.state.error = false;\n _this3.record('loadEnd');\n _this3.render('loaded', false);\n _this3.state.rendered = true;\n _this3._imageCache.add(_this3.src);\n onFinish();\n }, function (err) {\n !_this3.options.silent && console.error(err);\n _this3.state.error = true;\n _this3.state.loaded = false;\n _this3.render('error', false);\n });\n });\n }\n\n /*\r\n * render image\r\n * @param {String} state to render // ['loading', 'src', 'error']\r\n * @param {String} is form cache\r\n * @return\r\n */\n\n }, {\n key: 'render',\n value: function render(state, cache) {\n this.elRenderer(this, state, cache);\n }\n\n /*\r\n * output performance data\r\n * @return {Object} performance data\r\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var state = 'loading';\n var time = 0;\n\n if (this.state.loaded) {\n state = 'loaded';\n time = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1000;\n }\n\n if (this.state.error) state = 'error';\n\n return {\n src: this.src,\n state: state,\n time: time\n };\n }\n\n /*\r\n * $destroy\r\n * @return\r\n */\n\n }, {\n key: '$destroy',\n value: function $destroy() {\n this.el = null;\n this.src = null;\n this.error = null;\n this.loading = null;\n this.bindType = null;\n this.attempt = 0;\n }\n }]);\n return ReactiveListener;\n}();\n\nvar DEFAULT_URL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nvar DEFAULT_EVENTS = ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'];\nvar DEFAULT_OBSERVER_OPTIONS = {\n rootMargin: '0px',\n threshold: 0\n};\n\nfunction Lazy(Vue) {\n return function () {\n function Lazy(_ref) {\n var preLoad = _ref.preLoad,\n error = _ref.error,\n throttleWait = _ref.throttleWait,\n preLoadTop = _ref.preLoadTop,\n dispatchEvent = _ref.dispatchEvent,\n loading = _ref.loading,\n attempt = _ref.attempt,\n _ref$silent = _ref.silent,\n silent = _ref$silent === undefined ? true : _ref$silent,\n scale = _ref.scale,\n listenEvents = _ref.listenEvents;\n _ref.hasbind;\n var filter = _ref.filter,\n adapter = _ref.adapter,\n observer = _ref.observer,\n observerOptions = _ref.observerOptions;\n classCallCheck(this, Lazy);\n\n this.version = '\"1.3.5\"';\n this.mode = modeType.event;\n this.ListenerQueue = [];\n this.TargetIndex = 0;\n this.TargetQueue = [];\n this.options = {\n silent: silent,\n dispatchEvent: !!dispatchEvent,\n throttleWait: throttleWait || 200,\n preLoad: preLoad || 1.3,\n preLoadTop: preLoadTop || 0,\n error: error || DEFAULT_URL,\n loading: loading || DEFAULT_URL,\n attempt: attempt || 3,\n scale: scale || getDPR(scale),\n ListenEvents: listenEvents || DEFAULT_EVENTS,\n hasbind: false,\n supportWebp: supportWebp(),\n filter: filter || {},\n adapter: adapter || {},\n observer: !!observer,\n observerOptions: observerOptions || DEFAULT_OBSERVER_OPTIONS\n };\n this._initEvent();\n this._imageCache = new ImageCache({ max: 200 });\n this.lazyLoadHandler = throttle(this._lazyLoadHandler.bind(this), this.options.throttleWait);\n\n this.setMode(this.options.observer ? modeType.observer : modeType.event);\n }\n\n /**\r\n * update config\r\n * @param {Object} config params\r\n * @return\r\n */\n\n\n createClass(Lazy, [{\n key: 'config',\n value: function config() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n assignDeep(this.options, options);\n }\n\n /**\r\n * output listener's load performance\r\n * @return {Array}\r\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var list = [];\n\n this.ListenerQueue.map(function (item) {\n list.push(item.performance());\n });\n\n return list;\n }\n\n /*\r\n * add lazy component to queue\r\n * @param {Vue} vm lazy component instance\r\n * @return\r\n */\n\n }, {\n key: 'addLazyBox',\n value: function addLazyBox(vm) {\n this.ListenerQueue.push(vm);\n if (inBrowser) {\n this._addListenerTarget(window);\n this._observer && this._observer.observe(vm.el);\n if (vm.$el && vm.$el.parentNode) {\n this._addListenerTarget(vm.$el.parentNode);\n }\n }\n }\n\n /*\r\n * add image listener to queue\r\n * @param {DOM} el\r\n * @param {object} binding vue directive binding\r\n * @param {vnode} vnode vue directive vnode\r\n * @return\r\n */\n\n }, {\n key: 'add',\n value: function add(el, binding, vnode) {\n var _this = this;\n\n if (some(this.ListenerQueue, function (item) {\n return item.el === el;\n })) {\n this.update(el, binding);\n return Vue.nextTick(this.lazyLoadHandler);\n }\n\n var _valueFormatter2 = this._valueFormatter(binding.value),\n src = _valueFormatter2.src,\n loading = _valueFormatter2.loading,\n error = _valueFormatter2.error,\n cors = _valueFormatter2.cors;\n\n Vue.nextTick(function () {\n src = getBestSelectionFromSrcset(el, _this.options.scale) || src;\n _this._observer && _this._observer.observe(el);\n\n var container = Object.keys(binding.modifiers)[0];\n var $parent = void 0;\n\n if (container) {\n $parent = vnode.context.$refs[container];\n // if there is container passed in, try ref first, then fallback to getElementById to support the original usage\n $parent = $parent ? $parent.$el || $parent : document.getElementById(container);\n }\n\n if (!$parent) {\n $parent = scrollParent(el);\n }\n\n var newListener = new ReactiveListener({\n bindType: binding.arg,\n $parent: $parent,\n el: el,\n loading: loading,\n error: error,\n src: src,\n cors: cors,\n elRenderer: _this._elRenderer.bind(_this),\n options: _this.options,\n imageCache: _this._imageCache\n });\n\n _this.ListenerQueue.push(newListener);\n\n if (inBrowser) {\n _this._addListenerTarget(window);\n _this._addListenerTarget($parent);\n }\n\n _this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this.lazyLoadHandler();\n });\n });\n }\n\n /**\r\n * update image src\r\n * @param {DOM} el\r\n * @param {object} vue directive binding\r\n * @return\r\n */\n\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var _this2 = this;\n\n var _valueFormatter3 = this._valueFormatter(binding.value),\n src = _valueFormatter3.src,\n loading = _valueFormatter3.loading,\n error = _valueFormatter3.error;\n\n src = getBestSelectionFromSrcset(el, this.options.scale) || src;\n\n var exist = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (!exist) {\n this.add(el, binding, vnode);\n } else {\n exist.update({\n src: src,\n loading: loading,\n error: error\n });\n }\n if (this._observer) {\n this._observer.unobserve(el);\n this._observer.observe(el);\n }\n this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this2.lazyLoadHandler();\n });\n }\n\n /**\r\n * remove listener form list\r\n * @param {DOM} el\r\n * @return\r\n */\n\n }, {\n key: 'remove',\n value: function remove$1(el) {\n if (!el) return;\n this._observer && this._observer.unobserve(el);\n var existItem = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (existItem) {\n this._removeListenerTarget(existItem.$parent);\n this._removeListenerTarget(window);\n remove(this.ListenerQueue, existItem);\n existItem.$destroy();\n }\n }\n\n /*\r\n * remove lazy components form list\r\n * @param {Vue} vm Vue instance\r\n * @return\r\n */\n\n }, {\n key: 'removeComponent',\n value: function removeComponent(vm) {\n if (!vm) return;\n remove(this.ListenerQueue, vm);\n this._observer && this._observer.unobserve(vm.el);\n if (vm.$parent && vm.$el.parentNode) {\n this._removeListenerTarget(vm.$el.parentNode);\n }\n this._removeListenerTarget(window);\n }\n }, {\n key: 'setMode',\n value: function setMode(mode) {\n var _this3 = this;\n\n if (!hasIntersectionObserver && mode === modeType.observer) {\n mode = modeType.event;\n }\n\n this.mode = mode; // event or observer\n\n if (mode === modeType.event) {\n if (this._observer) {\n this.ListenerQueue.forEach(function (listener) {\n _this3._observer.unobserve(listener.el);\n });\n this._observer = null;\n }\n\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, true);\n });\n } else {\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, false);\n });\n this._initIntersectionObserver();\n }\n }\n\n /*\r\n *** Private functions ***\r\n */\n\n /*\r\n * add listener target\r\n * @param {DOM} el listener target\r\n * @return\r\n */\n\n }, {\n key: '_addListenerTarget',\n value: function _addListenerTarget(el) {\n if (!el) return;\n var target = find(this.TargetQueue, function (target) {\n return target.el === el;\n });\n if (!target) {\n target = {\n el: el,\n id: ++this.TargetIndex,\n childrenCount: 1,\n listened: true\n };\n this.mode === modeType.event && this._initListen(target.el, true);\n this.TargetQueue.push(target);\n } else {\n target.childrenCount++;\n }\n return this.TargetIndex;\n }\n\n /*\r\n * remove listener target or reduce target childrenCount\r\n * @param {DOM} el or window\r\n * @return\r\n */\n\n }, {\n key: '_removeListenerTarget',\n value: function _removeListenerTarget(el) {\n var _this4 = this;\n\n this.TargetQueue.forEach(function (target, index) {\n if (target.el === el) {\n target.childrenCount--;\n if (!target.childrenCount) {\n _this4._initListen(target.el, false);\n _this4.TargetQueue.splice(index, 1);\n target = null;\n }\n }\n });\n }\n\n /*\r\n * add or remove eventlistener\r\n * @param {DOM} el DOM or Window\r\n * @param {boolean} start flag\r\n * @return\r\n */\n\n }, {\n key: '_initListen',\n value: function _initListen(el, start) {\n var _this5 = this;\n\n this.options.ListenEvents.forEach(function (evt) {\n return _[start ? 'on' : 'off'](el, evt, _this5.lazyLoadHandler);\n });\n }\n }, {\n key: '_initEvent',\n value: function _initEvent() {\n var _this6 = this;\n\n this.Event = {\n listeners: {\n loading: [],\n loaded: [],\n error: []\n }\n };\n\n this.$on = function (event, func) {\n if (!_this6.Event.listeners[event]) _this6.Event.listeners[event] = [];\n _this6.Event.listeners[event].push(func);\n };\n\n this.$once = function (event, func) {\n var vm = _this6;\n function on() {\n vm.$off(event, on);\n func.apply(vm, arguments);\n }\n _this6.$on(event, on);\n };\n\n this.$off = function (event, func) {\n if (!func) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].length = 0;\n return;\n }\n remove(_this6.Event.listeners[event], func);\n };\n\n this.$emit = function (event, context, inCache) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].forEach(function (func) {\n return func(context, inCache);\n });\n };\n }\n\n /**\r\n * find nodes which in viewport and trigger load\r\n * @return\r\n */\n\n }, {\n key: '_lazyLoadHandler',\n value: function _lazyLoadHandler() {\n var _this7 = this;\n\n var freeList = [];\n this.ListenerQueue.forEach(function (listener, index) {\n if (!listener.el || !listener.el.parentNode) {\n freeList.push(listener);\n }\n var catIn = listener.checkInView();\n if (!catIn) return;\n listener.load();\n });\n freeList.forEach(function (item) {\n remove(_this7.ListenerQueue, item);\n item.$destroy();\n });\n }\n /**\r\n * init IntersectionObserver\r\n * set mode to observer\r\n * @return\r\n */\n\n }, {\n key: '_initIntersectionObserver',\n value: function _initIntersectionObserver() {\n var _this8 = this;\n\n if (!hasIntersectionObserver) return;\n this._observer = new IntersectionObserver(this._observerHandler.bind(this), this.options.observerOptions);\n if (this.ListenerQueue.length) {\n this.ListenerQueue.forEach(function (listener) {\n _this8._observer.observe(listener.el);\n });\n }\n }\n\n /**\r\n * init IntersectionObserver\r\n * @return\r\n */\n\n }, {\n key: '_observerHandler',\n value: function _observerHandler(entries, observer) {\n var _this9 = this;\n\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n _this9.ListenerQueue.forEach(function (listener) {\n if (listener.el === entry.target) {\n if (listener.state.loaded) return _this9._observer.unobserve(listener.el);\n listener.load();\n }\n });\n }\n });\n }\n\n /**\r\n * set element attribute with image'url and state\r\n * @param {object} lazyload listener object\r\n * @param {string} state will be rendered\r\n * @param {bool} inCache is rendered from cache\r\n * @return\r\n */\n\n }, {\n key: '_elRenderer',\n value: function _elRenderer(listener, state, cache) {\n if (!listener.el) return;\n var el = listener.el,\n bindType = listener.bindType;\n\n\n var src = void 0;\n switch (state) {\n case 'loading':\n src = listener.loading;\n break;\n case 'error':\n src = listener.error;\n break;\n default:\n src = listener.src;\n break;\n }\n\n if (bindType) {\n el.style[bindType] = 'url(\"' + src + '\")';\n } else if (el.getAttribute('src') !== src) {\n el.setAttribute('src', src);\n }\n\n el.setAttribute('lazy', state);\n\n this.$emit(state, listener, cache);\n this.options.adapter[state] && this.options.adapter[state](listener, this.options);\n\n if (this.options.dispatchEvent) {\n var event = new CustomEvent(state, {\n detail: listener\n });\n el.dispatchEvent(event);\n }\n }\n\n /**\r\n * generate loading loaded error image url\r\n * @param {string} image's src\r\n * @return {object} image's loading, loaded, error url\r\n */\n\n }, {\n key: '_valueFormatter',\n value: function _valueFormatter(value) {\n var src = value;\n var loading = this.options.loading;\n var error = this.options.error;\n\n // value is object\n if (isObject(value)) {\n if (!value.src && !this.options.silent) console.error('Vue Lazyload warning: miss src with ' + value);\n src = value.src;\n loading = value.loading || this.options.loading;\n error = value.error || this.options.error;\n }\n return {\n src: src,\n loading: loading,\n error: error\n };\n }\n }]);\n return Lazy;\n }();\n}\n\nLazy.install = function (Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n\n var isVue2 = Vue.version.split('.')[0] === '2';\n if (isVue2) {\n Vue.directive('lazy', {\n bind: lazy.add.bind(lazy),\n update: lazy.update.bind(lazy),\n componentUpdated: lazy.lazyLoadHandler.bind(lazy),\n unbind: lazy.remove.bind(lazy)\n });\n } else {\n Vue.directive('lazy', {\n bind: lazy.lazyLoadHandler.bind(lazy),\n update: function update(newValue, oldValue) {\n assignDeep(this.vm.$refs, this.vm.$els);\n lazy.add(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazy.remove(this.el);\n }\n });\n }\n};\n\nvar LazyComponent = function LazyComponent(lazy) {\n return {\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render(h) {\n return h(this.tag, null, this.show ? this.$slots.default : null);\n },\n data: function data() {\n return {\n el: null,\n state: {\n loaded: false\n },\n rect: {},\n show: false\n };\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazy.addLazyBox(this);\n lazy.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazy.removeComponent(this);\n },\n\n methods: {\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazy.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazy.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n this.show = true;\n this.state.loaded = true;\n this.$emit('show', this);\n },\n destroy: function destroy() {\n return this.$destroy;\n }\n }\n };\n};\n\nLazyComponent.install = function (Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n Vue.component('lazy-component', LazyComponent(lazy));\n};\n\nvar LazyContainerMananger = function () {\n function LazyContainerMananger(_ref) {\n var lazy = _ref.lazy;\n classCallCheck(this, LazyContainerMananger);\n\n this.lazy = lazy;\n lazy.lazyContainerMananger = this;\n this._queue = [];\n }\n\n createClass(LazyContainerMananger, [{\n key: 'bind',\n value: function bind(el, binding, vnode) {\n var container = new LazyContainer({ el: el, binding: binding, vnode: vnode, lazy: this.lazy });\n this._queue.push(container);\n }\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.update({ el: el, binding: binding, vnode: vnode });\n }\n }, {\n key: 'unbind',\n value: function unbind(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.clear();\n remove(this._queue, container);\n }\n }]);\n return LazyContainerMananger;\n}();\n\n\nvar defaultOptions = {\n selector: 'img'\n};\n\nvar LazyContainer = function () {\n function LazyContainer(_ref2) {\n var el = _ref2.el,\n binding = _ref2.binding,\n vnode = _ref2.vnode,\n lazy = _ref2.lazy;\n classCallCheck(this, LazyContainer);\n\n this.el = null;\n this.vnode = vnode;\n this.binding = binding;\n this.options = {};\n this.lazy = lazy;\n\n this._queue = [];\n this.update({ el: el, binding: binding });\n }\n\n createClass(LazyContainer, [{\n key: 'update',\n value: function update(_ref3) {\n var _this = this;\n\n var el = _ref3.el,\n binding = _ref3.binding;\n\n this.el = el;\n this.options = assignDeep({}, defaultOptions, binding.value);\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n _this.lazy.add(el, assignDeep({}, _this.binding, {\n value: {\n src: 'dataset' in el ? el.dataset.src : el.getAttribute('data-src'),\n error: ('dataset' in el ? el.dataset.error : el.getAttribute('data-error')) || _this.options.error,\n loading: ('dataset' in el ? el.dataset.loading : el.getAttribute('data-loading')) || _this.options.loading\n }\n }), _this.vnode);\n });\n }\n }, {\n key: 'getImgs',\n value: function getImgs() {\n return ArrayFrom(this.el.querySelectorAll(this.options.selector));\n }\n }, {\n key: 'clear',\n value: function clear() {\n var _this2 = this;\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n return _this2.lazy.remove(el);\n });\n\n this.vnode = null;\n this.binding = null;\n this.lazy = null;\n }\n }]);\n return LazyContainer;\n}();\n\nLazyContainer.install = function (Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n var lazyContainer = new LazyContainer({ lazy: lazy });\n\n var isVue2 = Vue.version.split('.')[0] === '2';\n if (isVue2) {\n Vue.directive('lazy-container', {\n bind: lazyContainer.bind.bind(lazyContainer),\n componentUpdated: lazyContainer.update.bind(lazyContainer),\n unbind: lazyContainer.unbind.bind(lazyContainer)\n });\n } else {\n Vue.directive('lazy-container', {\n update: function update(newValue, oldValue) {\n lazyContainer.update(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazyContainer.unbind(this.el);\n }\n });\n }\n};\n\nvar LazyImage = function LazyImage(lazyManager) {\n return {\n props: {\n src: [String, Object],\n tag: {\n type: String,\n default: 'img'\n }\n },\n render: function render(h) {\n return h(this.tag, {\n attrs: {\n src: this.renderSrc\n }\n }, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n options: {\n src: '',\n error: '',\n loading: '',\n attempt: lazyManager.options.attempt\n },\n state: {\n loaded: false,\n error: false,\n attempt: 0\n },\n rect: {},\n renderSrc: ''\n };\n },\n\n watch: {\n src: function src() {\n this.init();\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n }\n },\n created: function created() {\n this.init();\n this.renderSrc = this.options.loading;\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazyManager.removeComponent(this);\n },\n\n methods: {\n init: function init() {\n var _lazyManager$_valueFo = lazyManager._valueFormatter(this.src),\n src = _lazyManager$_valueFo.src,\n loading = _lazyManager$_valueFo.loading,\n error = _lazyManager$_valueFo.error;\n\n this.state.loaded = false;\n this.options.src = src;\n this.options.error = error;\n this.options.loading = loading;\n this.renderSrc = this.options.loading;\n },\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazyManager.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazyManager.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n var _this = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.state.attempt > this.options.attempt - 1 && this.state.error) {\n if (!lazyManager.options.silent) console.log('VueLazyload log: ' + this.options.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n var src = this.options.src;\n loadImageAsync({ src: src }, function (_ref) {\n var src = _ref.src;\n\n _this.renderSrc = src;\n _this.state.loaded = true;\n }, function (e) {\n _this.state.attempt++;\n _this.renderSrc = _this.options.error;\n _this.state.error = true;\n });\n }\n }\n };\n};\n\nLazyImage.install = function (Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n Vue.component('lazy-image', LazyImage(lazy));\n};\n\nvar index = {\n /*\r\n * install function\r\n * @param {Vue} Vue\r\n * @param {object} options lazyload options\r\n */\n install: function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n var lazyContainer = new LazyContainerMananger({ lazy: lazy });\n\n var isVue2 = Vue.version.split('.')[0] === '2';\n\n Vue.prototype.$Lazyload = lazy;\n\n if (options.lazyComponent) {\n Vue.component('lazy-component', LazyComponent(lazy));\n }\n\n if (options.lazyImage) {\n Vue.component('lazy-image', LazyImage(lazy));\n }\n\n if (isVue2) {\n Vue.directive('lazy', {\n bind: lazy.add.bind(lazy),\n update: lazy.update.bind(lazy),\n componentUpdated: lazy.lazyLoadHandler.bind(lazy),\n unbind: lazy.remove.bind(lazy)\n });\n Vue.directive('lazy-container', {\n bind: lazyContainer.bind.bind(lazyContainer),\n componentUpdated: lazyContainer.update.bind(lazyContainer),\n unbind: lazyContainer.unbind.bind(lazyContainer)\n });\n } else {\n Vue.directive('lazy', {\n bind: lazy.lazyLoadHandler.bind(lazy),\n update: function update(newValue, oldValue) {\n assignDeep(this.vm.$refs, this.vm.$els);\n lazy.add(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazy.remove(this.el);\n }\n });\n\n Vue.directive('lazy-container', {\n update: function update(newValue, oldValue) {\n lazyContainer.update(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazyContainer.unbind(this.el);\n }\n });\n }\n }\n};\n\nexport { Lazy, LazyComponent, LazyContainerMananger as LazyContainer, LazyImage, index as default };\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-notification\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-notification\"] = factory(root[\"vue\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_20__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return events; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);\n\n\nvar events = new __WEBPACK_IMPORTED_MODULE_0_vue___default.a({ name: 'vue-notification' });\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Notifications_vue__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Notifications_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__Notifications_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(1);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\n\nvar Notify = {\n install: function install(Vue) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.installed) {\n return;\n }\n\n this.installed = true;\n this.params = args;\n\n Vue.component(args.componentName || 'notifications', __WEBPACK_IMPORTED_MODULE_0__Notifications_vue___default.a);\n\n var notify = function notify(params) {\n if (typeof params === 'string') {\n params = { title: '', text: params };\n }\n\n if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {\n __WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* events */].$emit('add', params);\n }\n };\n\n notify.close = function (id) {\n __WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* events */].$emit('close', id);\n };\n\n var name = args.name || 'notify';\n\n Vue.prototype['$' + name] = notify;\n Vue[name] = notify;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Notify);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(17)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(5),\n /* template */\n __webpack_require__(15),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'CssGroup',\n props: ['name']\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__defaults__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CssGroup_vue__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CssGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__CssGroup_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__parser__ = __webpack_require__(8);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\nvar STATE = {\n IDLE: 0,\n DESTROYED: 2\n};\n\nvar Component = {\n name: 'Notifications',\n components: {\n VelocityGroup: __WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue___default.a,\n CssGroup: __WEBPACK_IMPORTED_MODULE_5__CssGroup_vue___default.a\n },\n props: {\n group: {\n type: String,\n default: ''\n },\n\n width: {\n type: [Number, String],\n default: 300\n },\n\n reverse: {\n type: Boolean,\n default: false\n },\n\n position: {\n type: [String, Array],\n default: function _default() {\n return __WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* default */].position;\n }\n },\n\n classes: {\n type: String,\n default: 'vue-notification'\n },\n\n animationType: {\n type: String,\n default: 'css',\n validator: function validator(value) {\n return value === 'css' || value === 'velocity';\n }\n },\n\n animation: {\n type: Object,\n default: function _default() {\n return __WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* default */].velocityAnimation;\n }\n },\n\n animationName: {\n type: String,\n default: __WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* default */].cssAnimation\n },\n\n speed: {\n type: Number,\n default: 300\n },\n\n cooldown: {\n type: Number,\n default: 0\n },\n\n duration: {\n type: Number,\n default: 3000\n },\n\n delay: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: Infinity\n },\n\n ignoreDuplicates: {\n type: Boolean,\n default: false\n },\n\n closeOnClick: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n list: [],\n velocity: __WEBPACK_IMPORTED_MODULE_0__index__[\"default\"].params.velocity\n };\n },\n mounted: function mounted() {\n __WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* events */].$on('add', this.addItem);\n __WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* events */].$on('close', this.closeItem);\n },\n\n computed: {\n actualWidth: function actualWidth() {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__parser__[\"a\" /* default */])(this.width);\n },\n isVA: function isVA() {\n return this.animationType === 'velocity';\n },\n componentName: function componentName() {\n return this.isVA ? 'VelocityGroup' : 'CssGroup';\n },\n styles: function styles() {\n var _listToDirection = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* listToDirection */])(this.position),\n x = _listToDirection.x,\n y = _listToDirection.y;\n\n var width = this.actualWidth.value;\n var suffix = this.actualWidth.type;\n\n var styles = _defineProperty({\n width: width + suffix\n }, y, '0px');\n\n if (x === 'center') {\n styles['left'] = 'calc(50% - ' + width / 2 + suffix + ')';\n } else {\n styles[x] = '0px';\n }\n\n return styles;\n },\n active: function active() {\n return this.list.filter(function (v) {\n return v.state !== STATE.DESTROYED;\n });\n },\n botToTop: function botToTop() {\n return this.styles.hasOwnProperty('bottom');\n }\n },\n methods: {\n destroyIfNecessary: function destroyIfNecessary(item) {\n if (this.closeOnClick) {\n this.destroy(item);\n }\n },\n addItem: function addItem(event) {\n var _this = this;\n\n event.group = event.group || '';\n\n if (this.group !== event.group) {\n return;\n }\n\n if (event.clean || event.clear) {\n this.destroyAll();\n return;\n }\n\n var duration = typeof event.duration === 'number' ? event.duration : this.duration;\n\n var speed = typeof event.speed === 'number' ? event.speed : this.speed;\n\n var ignoreDuplicates = typeof event.ignoreDuplicates === 'boolean' ? event.ignoreDuplicates : this.ignoreDuplicates;\n\n var title = event.title,\n text = event.text,\n type = event.type,\n data = event.data,\n id = event.id;\n\n\n var item = {\n id: id || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"b\" /* Id */])(),\n title: title,\n text: text,\n type: type,\n state: STATE.IDLE,\n speed: speed,\n length: duration + 2 * speed,\n data: data\n };\n\n if (duration >= 0) {\n item.timer = setTimeout(function () {\n _this.destroy(item);\n }, item.length);\n }\n\n var direction = this.reverse ? !this.botToTop : this.botToTop;\n\n var indexToDestroy = -1;\n\n var isDuplicate = this.active.some(function (item) {\n return item.title === event.title && item.text === event.text;\n });\n\n var canAdd = ignoreDuplicates ? !isDuplicate : true;\n\n if (!canAdd) return;\n\n if (direction) {\n this.list.push(item);\n\n if (this.active.length > this.max) {\n indexToDestroy = 0;\n }\n } else {\n this.list.unshift(item);\n\n if (this.active.length > this.max) {\n indexToDestroy = this.active.length - 1;\n }\n }\n\n if (indexToDestroy !== -1) {\n this.destroy(this.active[indexToDestroy]);\n }\n },\n closeItem: function closeItem(id) {\n this.destroyById(id);\n },\n notifyClass: function notifyClass(item) {\n return ['vue-notification-template', this.classes, item.type];\n },\n notifyWrapperStyle: function notifyWrapperStyle(item) {\n return this.isVA ? null : { transition: 'all ' + item.speed + 'ms' };\n },\n destroy: function destroy(item) {\n clearTimeout(item.timer);\n item.state = STATE.DESTROYED;\n\n if (!this.isVA) {\n this.clean();\n }\n },\n destroyById: function destroyById(id) {\n var item = this.list.find(function (v) {\n return v.id === id;\n });\n\n if (item) {\n this.destroy(item);\n }\n },\n destroyAll: function destroyAll() {\n this.active.forEach(this.destroy);\n },\n getAnimation: function getAnimation(index, el) {\n var animation = this.animation[index];\n\n return typeof animation === 'function' ? animation.call(this, el) : animation;\n },\n enter: function enter(_ref) {\n var el = _ref.el,\n complete = _ref.complete;\n\n var animation = this.getAnimation('enter', el);\n\n this.velocity(el, animation, {\n duration: this.speed,\n complete: complete\n });\n },\n leave: function leave(_ref2) {\n var el = _ref2.el,\n complete = _ref2.complete;\n\n var animation = this.getAnimation('leave', el);\n\n this.velocity(el, animation, {\n duration: this.speed,\n complete: complete\n });\n },\n clean: function clean() {\n this.list = this.list.filter(function (v) {\n return v.state !== STATE.DESTROYED;\n });\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component);\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'VelocityGroup',\n methods: {\n enter: function enter(el, complete) {\n this.$emit('enter', { el: el, complete: complete });\n },\n leave: function leave(el, complete) {\n this.$emit('leave', { el: el, complete: complete });\n },\n afterLeave: function afterLeave() {\n this.$emit('afterLeave');\n }\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n position: ['top', 'right'],\n cssAnimation: 'vn-fade',\n velocityAnimation: {\n enter: function enter(el) {\n var height = el.clientHeight;\n\n return {\n height: [height, 0],\n opacity: [1, 0]\n };\n },\n leave: {\n height: 0,\n opacity: [0, 1]\n }\n }\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export parse */\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar floatRegexp = '[-+]?[0-9]*.?[0-9]+';\n\nvar types = [{\n name: 'px',\n regexp: new RegExp('^' + floatRegexp + 'px$')\n}, {\n name: '%',\n regexp: new RegExp('^' + floatRegexp + '%$')\n}, {\n name: 'px',\n regexp: new RegExp('^' + floatRegexp + '$')\n}];\n\nvar getType = function getType(value) {\n if (value === 'auto') {\n return {\n type: value,\n value: 0\n };\n }\n\n for (var i = 0; i < types.length; i++) {\n var type = types[i];\n if (type.regexp.test(value)) {\n return {\n type: type.name,\n value: parseFloat(value)\n };\n }\n }\n\n return {\n type: '',\n value: value\n };\n};\n\nvar parse = function parse(value) {\n switch (typeof value === 'undefined' ? 'undefined' : _typeof(value)) {\n case 'number':\n return { type: 'px', value: value };\n case 'string':\n return getType(value);\n default:\n return { type: '', value: value };\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (parse);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Id; });\n/* unused harmony export split */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return listToDirection; });\nvar directions = {\n x: ['left', 'center', 'right'],\n y: ['top', 'bottom']\n};\n\nvar Id = function (i) {\n return function () {\n return i++;\n };\n}(0);\n\nvar split = function split(value) {\n if (typeof value !== 'string') {\n return [];\n }\n\n return value.split(/\\s+/gi).filter(function (v) {\n return v;\n });\n};\n\nvar listToDirection = function listToDirection(value) {\n if (typeof value === 'string') {\n value = split(value);\n }\n\n var x = null;\n var y = null;\n\n value.forEach(function (v) {\n if (directions.y.indexOf(v) !== -1) {\n y = v;\n }\n if (directions.x.indexOf(v) !== -1) {\n x = v;\n }\n });\n\n return { x: x, y: y };\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(11)();\n// imports\n\n\n// module\nexports.push([module.i, \".vue-notification-group{display:block;position:fixed;z-index:5000}.vue-notification-wrapper{display:block;overflow:hidden;width:100%;margin:0;padding:0}.notification-title{font-weight:600}.vue-notification-template{background:#fff}.vue-notification,.vue-notification-template{display:block;box-sizing:border-box;text-align:left}.vue-notification{font-size:12px;padding:10px;margin:0 5px 5px;color:#fff;background:#44a4fc;border-left:5px solid #187fe7}.vue-notification.warn{background:#ffb648;border-left-color:#f48a06}.vue-notification.error{background:#e54d42;border-left-color:#b82e24}.vue-notification.success{background:#68cd86;border-left-color:#42a85f}.vn-fade-enter-active,.vn-fade-leave-active,.vn-fade-move{transition:all .5s}.vn-fade-enter,.vn-fade-leave-to{opacity:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(4),\n /* template */\n __webpack_require__(16),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(6),\n /* template */\n __webpack_require__(14),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('transition-group', {\n attrs: {\n \"css\": false\n },\n on: {\n \"enter\": _vm.enter,\n \"leave\": _vm.leave,\n \"after-leave\": _vm.afterLeave\n }\n }, [_vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-notification-group\",\n style: (_vm.styles)\n }, [_c(_vm.componentName, {\n tag: \"component\",\n attrs: {\n \"name\": _vm.animationName\n },\n on: {\n \"enter\": _vm.enter,\n \"leave\": _vm.leave,\n \"after-leave\": _vm.clean\n }\n }, _vm._l((_vm.active), function(item) {\n return _c('div', {\n key: item.id,\n staticClass: \"vue-notification-wrapper\",\n style: (_vm.notifyWrapperStyle(item)),\n attrs: {\n \"data-id\": item.id\n }\n }, [_vm._t(\"body\", [_c('div', {\n class: _vm.notifyClass(item),\n on: {\n \"click\": function($event) {\n return _vm.destroyIfNecessary(item)\n }\n }\n }, [(item.title) ? _c('div', {\n staticClass: \"notification-title\",\n domProps: {\n \"innerHTML\": _vm._s(item.title)\n }\n }) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"notification-content\",\n domProps: {\n \"innerHTML\": _vm._s(item.text)\n }\n })])], {\n \"item\": item,\n \"close\": function () { return _vm.destroy(item); }\n })], 2)\n }), 0)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('transition-group', {\n attrs: {\n \"name\": _vm.name\n }\n }, [_vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a