{"version":3,"file":"shared.min.js","mappings":"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","sources":["webpack://configuracao/webpack/runtime/chunk loaded","webpack://configuracao/webpack/runtime/create fake namespace object","webpack://configuracao/webpack/runtime/load script","webpack://configuracao/./node_modules/@splidejs/splide/dist/js/splide.esm.js","webpack://configuracao/./node_modules/notiflix/build/notiflix-notify-aio.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://configuracao/./node_modules/i18next/dist/esm/i18next.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://configuracao/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://configuracao/webpack/bootstrap","webpack://configuracao/webpack/runtime/compat get default export","webpack://configuracao/webpack/runtime/define property getters","webpack://configuracao/webpack/runtime/ensure chunk","webpack://configuracao/webpack/runtime/get javascript chunk filename","webpack://configuracao/webpack/runtime/get mini-css chunk filename","webpack://configuracao/webpack/runtime/global","webpack://configuracao/webpack/runtime/hasOwnProperty shorthand","webpack://configuracao/webpack/runtime/make namespace object","webpack://configuracao/webpack/runtime/publicPath","webpack://configuracao/webpack/runtime/jsonp chunk loading","webpack://configuracao/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"configuracao:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n/*!\n * Splide.js\n * Version : 4.1.4\n * License : MIT\n * Copyright: 2022 Naotoshi Fujita\n */\nvar MEDIA_PREFERS_REDUCED_MOTION = \"(prefers-reduced-motion: reduce)\";\nvar CREATED = 1;\nvar MOUNTED = 2;\nvar IDLE = 3;\nvar MOVING = 4;\nvar SCROLLING = 5;\nvar DRAGGING = 6;\nvar DESTROYED = 7;\nvar STATES = {\n CREATED: CREATED,\n MOUNTED: MOUNTED,\n IDLE: IDLE,\n MOVING: MOVING,\n SCROLLING: SCROLLING,\n DRAGGING: DRAGGING,\n DESTROYED: DESTROYED\n};\n\nfunction empty(array) {\n array.length = 0;\n}\n\nfunction slice(arrayLike, start, end) {\n return Array.prototype.slice.call(arrayLike, start, end);\n}\n\nfunction apply(func) {\n return func.bind.apply(func, [null].concat(slice(arguments, 1)));\n}\n\nvar nextTick = setTimeout;\n\nvar noop = function noop() {};\n\nfunction raf(func) {\n return requestAnimationFrame(func);\n}\n\nfunction typeOf(type, subject) {\n return typeof subject === type;\n}\n\nfunction isObject(subject) {\n return !isNull(subject) && typeOf(\"object\", subject);\n}\n\nvar isArray = Array.isArray;\nvar isFunction = apply(typeOf, \"function\");\nvar isString = apply(typeOf, \"string\");\nvar isUndefined = apply(typeOf, \"undefined\");\n\nfunction isNull(subject) {\n return subject === null;\n}\n\nfunction isHTMLElement(subject) {\n try {\n return subject instanceof (subject.ownerDocument.defaultView || window).HTMLElement;\n } catch (e) {\n return false;\n }\n}\n\nfunction toArray(value) {\n return isArray(value) ? value : [value];\n}\n\nfunction forEach(values, iteratee) {\n toArray(values).forEach(iteratee);\n}\n\nfunction includes(array, value) {\n return array.indexOf(value) > -1;\n}\n\nfunction push(array, items) {\n array.push.apply(array, toArray(items));\n return array;\n}\n\nfunction toggleClass(elm, classes, add) {\n if (elm) {\n forEach(classes, function (name) {\n if (name) {\n elm.classList[add ? \"add\" : \"remove\"](name);\n }\n });\n }\n}\n\nfunction addClass(elm, classes) {\n toggleClass(elm, isString(classes) ? classes.split(\" \") : classes, true);\n}\n\nfunction append(parent, children) {\n forEach(children, parent.appendChild.bind(parent));\n}\n\nfunction before(nodes, ref) {\n forEach(nodes, function (node) {\n var parent = (ref || node).parentNode;\n\n if (parent) {\n parent.insertBefore(node, ref);\n }\n });\n}\n\nfunction matches(elm, selector) {\n return isHTMLElement(elm) && (elm[\"msMatchesSelector\"] || elm.matches).call(elm, selector);\n}\n\nfunction children(parent, selector) {\n var children2 = parent ? slice(parent.children) : [];\n return selector ? children2.filter(function (child) {\n return matches(child, selector);\n }) : children2;\n}\n\nfunction child(parent, selector) {\n return selector ? children(parent, selector)[0] : parent.firstElementChild;\n}\n\nvar ownKeys = Object.keys;\n\nfunction forOwn(object, iteratee, right) {\n if (object) {\n (right ? ownKeys(object).reverse() : ownKeys(object)).forEach(function (key) {\n key !== \"__proto__\" && iteratee(object[key], key);\n });\n }\n\n return object;\n}\n\nfunction assign(object) {\n slice(arguments, 1).forEach(function (source) {\n forOwn(source, function (value, key) {\n object[key] = source[key];\n });\n });\n return object;\n}\n\nfunction merge(object) {\n slice(arguments, 1).forEach(function (source) {\n forOwn(source, function (value, key) {\n if (isArray(value)) {\n object[key] = value.slice();\n } else if (isObject(value)) {\n object[key] = merge({}, isObject(object[key]) ? object[key] : {}, value);\n } else {\n object[key] = value;\n }\n });\n });\n return object;\n}\n\nfunction omit(object, keys) {\n forEach(keys || ownKeys(object), function (key) {\n delete object[key];\n });\n}\n\nfunction removeAttribute(elms, attrs) {\n forEach(elms, function (elm) {\n forEach(attrs, function (attr) {\n elm && elm.removeAttribute(attr);\n });\n });\n}\n\nfunction setAttribute(elms, attrs, value) {\n if (isObject(attrs)) {\n forOwn(attrs, function (value2, name) {\n setAttribute(elms, name, value2);\n });\n } else {\n forEach(elms, function (elm) {\n isNull(value) || value === \"\" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value));\n });\n }\n}\n\nfunction create(tag, attrs, parent) {\n var elm = document.createElement(tag);\n\n if (attrs) {\n isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs);\n }\n\n parent && append(parent, elm);\n return elm;\n}\n\nfunction style(elm, prop, value) {\n if (isUndefined(value)) {\n return getComputedStyle(elm)[prop];\n }\n\n if (!isNull(value)) {\n elm.style[prop] = \"\" + value;\n }\n}\n\nfunction display(elm, display2) {\n style(elm, \"display\", display2);\n}\n\nfunction focus(elm) {\n elm[\"setActive\"] && elm[\"setActive\"]() || elm.focus({\n preventScroll: true\n });\n}\n\nfunction getAttribute(elm, attr) {\n return elm.getAttribute(attr);\n}\n\nfunction hasClass(elm, className) {\n return elm && elm.classList.contains(className);\n}\n\nfunction rect(target) {\n return target.getBoundingClientRect();\n}\n\nfunction remove(nodes) {\n forEach(nodes, function (node) {\n if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n });\n}\n\nfunction parseHtml(html) {\n return child(new DOMParser().parseFromString(html, \"text/html\").body);\n}\n\nfunction prevent(e, stopPropagation) {\n e.preventDefault();\n\n if (stopPropagation) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n}\n\nfunction query(parent, selector) {\n return parent && parent.querySelector(selector);\n}\n\nfunction queryAll(parent, selector) {\n return selector ? slice(parent.querySelectorAll(selector)) : [];\n}\n\nfunction removeClass(elm, classes) {\n toggleClass(elm, classes, false);\n}\n\nfunction timeOf(e) {\n return e.timeStamp;\n}\n\nfunction unit(value) {\n return isString(value) ? value : value ? value + \"px\" : \"\";\n}\n\nvar PROJECT_CODE = \"splide\";\nvar DATA_ATTRIBUTE = \"data-\" + PROJECT_CODE;\n\nfunction assert(condition, message) {\n if (!condition) {\n throw new Error(\"[\" + PROJECT_CODE + \"] \" + (message || \"\"));\n }\n}\n\nvar min = Math.min,\n max = Math.max,\n floor = Math.floor,\n ceil = Math.ceil,\n abs = Math.abs;\n\nfunction approximatelyEqual(x, y, epsilon) {\n return abs(x - y) < epsilon;\n}\n\nfunction between(number, x, y, exclusive) {\n var minimum = min(x, y);\n var maximum = max(x, y);\n return exclusive ? minimum < number && number < maximum : minimum <= number && number <= maximum;\n}\n\nfunction clamp(number, x, y) {\n var minimum = min(x, y);\n var maximum = max(x, y);\n return min(max(minimum, number), maximum);\n}\n\nfunction sign(x) {\n return +(x > 0) - +(x < 0);\n}\n\nfunction camelToKebab(string) {\n return string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\n\nfunction format(string, replacements) {\n forEach(replacements, function (replacement) {\n string = string.replace(\"%s\", \"\" + replacement);\n });\n return string;\n}\n\nfunction pad(number) {\n return number < 10 ? \"0\" + number : \"\" + number;\n}\n\nvar ids = {};\n\nfunction uniqueId(prefix) {\n return \"\" + prefix + pad(ids[prefix] = (ids[prefix] || 0) + 1);\n}\n\nfunction EventBinder() {\n var listeners = [];\n\n function bind(targets, events, callback, options) {\n forEachEvent(targets, events, function (target, event, namespace) {\n var isEventTarget = (\"addEventListener\" in target);\n var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target[\"removeListener\"].bind(target, callback);\n isEventTarget ? target.addEventListener(event, callback, options) : target[\"addListener\"](callback);\n listeners.push([target, event, namespace, callback, remover]);\n });\n }\n\n function unbind(targets, events, callback) {\n forEachEvent(targets, events, function (target, event, namespace) {\n listeners = listeners.filter(function (listener) {\n if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) {\n listener[4]();\n return false;\n }\n\n return true;\n });\n });\n }\n\n function dispatch(target, type, detail) {\n var e;\n var bubbles = true;\n\n if (typeof CustomEvent === \"function\") {\n e = new CustomEvent(type, {\n bubbles: bubbles,\n detail: detail\n });\n } else {\n e = document.createEvent(\"CustomEvent\");\n e.initCustomEvent(type, bubbles, false, detail);\n }\n\n target.dispatchEvent(e);\n return e;\n }\n\n function forEachEvent(targets, events, iteratee) {\n forEach(targets, function (target) {\n target && forEach(events, function (events2) {\n events2.split(\" \").forEach(function (eventNS) {\n var fragment = eventNS.split(\".\");\n iteratee(target, fragment[0], fragment[1]);\n });\n });\n });\n }\n\n function destroy() {\n listeners.forEach(function (data) {\n data[4]();\n });\n empty(listeners);\n }\n\n return {\n bind: bind,\n unbind: unbind,\n dispatch: dispatch,\n destroy: destroy\n };\n}\n\nvar EVENT_MOUNTED = \"mounted\";\nvar EVENT_READY = \"ready\";\nvar EVENT_MOVE = \"move\";\nvar EVENT_MOVED = \"moved\";\nvar EVENT_CLICK = \"click\";\nvar EVENT_ACTIVE = \"active\";\nvar EVENT_INACTIVE = \"inactive\";\nvar EVENT_VISIBLE = \"visible\";\nvar EVENT_HIDDEN = \"hidden\";\nvar EVENT_REFRESH = \"refresh\";\nvar EVENT_UPDATED = \"updated\";\nvar EVENT_RESIZE = \"resize\";\nvar EVENT_RESIZED = \"resized\";\nvar EVENT_DRAG = \"drag\";\nvar EVENT_DRAGGING = \"dragging\";\nvar EVENT_DRAGGED = \"dragged\";\nvar EVENT_SCROLL = \"scroll\";\nvar EVENT_SCROLLED = \"scrolled\";\nvar EVENT_OVERFLOW = \"overflow\";\nvar EVENT_DESTROY = \"destroy\";\nvar EVENT_ARROWS_MOUNTED = \"arrows:mounted\";\nvar EVENT_ARROWS_UPDATED = \"arrows:updated\";\nvar EVENT_PAGINATION_MOUNTED = \"pagination:mounted\";\nvar EVENT_PAGINATION_UPDATED = \"pagination:updated\";\nvar EVENT_NAVIGATION_MOUNTED = \"navigation:mounted\";\nvar EVENT_AUTOPLAY_PLAY = \"autoplay:play\";\nvar EVENT_AUTOPLAY_PLAYING = \"autoplay:playing\";\nvar EVENT_AUTOPLAY_PAUSE = \"autoplay:pause\";\nvar EVENT_LAZYLOAD_LOADED = \"lazyload:loaded\";\nvar EVENT_SLIDE_KEYDOWN = \"sk\";\nvar EVENT_SHIFTED = \"sh\";\nvar EVENT_END_INDEX_CHANGED = \"ei\";\n\nfunction EventInterface(Splide2) {\n var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment();\n var binder = EventBinder();\n\n function on(events, callback) {\n binder.bind(bus, toArray(events).join(\" \"), function (e) {\n callback.apply(callback, isArray(e.detail) ? e.detail : []);\n });\n }\n\n function emit(event) {\n binder.dispatch(bus, event, slice(arguments, 1));\n }\n\n if (Splide2) {\n Splide2.event.on(EVENT_DESTROY, binder.destroy);\n }\n\n return assign(binder, {\n bus: bus,\n on: on,\n off: apply(binder.unbind, bus),\n emit: emit\n });\n}\n\nfunction RequestInterval(interval, onInterval, onUpdate, limit) {\n var now = Date.now;\n var startTime;\n var rate = 0;\n var id;\n var paused = true;\n var count = 0;\n\n function update() {\n if (!paused) {\n rate = interval ? min((now() - startTime) / interval, 1) : 1;\n onUpdate && onUpdate(rate);\n\n if (rate >= 1) {\n onInterval();\n startTime = now();\n\n if (limit && ++count >= limit) {\n return pause();\n }\n }\n\n id = raf(update);\n }\n }\n\n function start(resume) {\n resume || cancel();\n startTime = now() - (resume ? rate * interval : 0);\n paused = false;\n id = raf(update);\n }\n\n function pause() {\n paused = true;\n }\n\n function rewind() {\n startTime = now();\n rate = 0;\n\n if (onUpdate) {\n onUpdate(rate);\n }\n }\n\n function cancel() {\n id && cancelAnimationFrame(id);\n rate = 0;\n id = 0;\n paused = true;\n }\n\n function set(time) {\n interval = time;\n }\n\n function isPaused() {\n return paused;\n }\n\n return {\n start: start,\n rewind: rewind,\n pause: pause,\n cancel: cancel,\n set: set,\n isPaused: isPaused\n };\n}\n\nfunction State(initialState) {\n var state = initialState;\n\n function set(value) {\n state = value;\n }\n\n function is(states) {\n return includes(toArray(states), state);\n }\n\n return {\n set: set,\n is: is\n };\n}\n\nfunction Throttle(func, duration) {\n var interval = RequestInterval(duration || 0, func, null, 1);\n return function () {\n interval.isPaused() && interval.start();\n };\n}\n\nfunction Media(Splide2, Components2, options) {\n var state = Splide2.state;\n var breakpoints = options.breakpoints || {};\n var reducedMotion = options.reducedMotion || {};\n var binder = EventBinder();\n var queries = [];\n\n function setup() {\n var isMin = options.mediaQuery === \"min\";\n ownKeys(breakpoints).sort(function (n, m) {\n return isMin ? +n - +m : +m - +n;\n }).forEach(function (key) {\n register(breakpoints[key], \"(\" + (isMin ? \"min\" : \"max\") + \"-width:\" + key + \"px)\");\n });\n register(reducedMotion, MEDIA_PREFERS_REDUCED_MOTION);\n update();\n }\n\n function destroy(completely) {\n if (completely) {\n binder.destroy();\n }\n }\n\n function register(options2, query) {\n var queryList = matchMedia(query);\n binder.bind(queryList, \"change\", update);\n queries.push([options2, queryList]);\n }\n\n function update() {\n var destroyed = state.is(DESTROYED);\n var direction = options.direction;\n var merged = queries.reduce(function (merged2, entry) {\n return merge(merged2, entry[1].matches ? entry[0] : {});\n }, {});\n omit(options);\n set(merged);\n\n if (options.destroy) {\n Splide2.destroy(options.destroy === \"completely\");\n } else if (destroyed) {\n destroy(true);\n Splide2.mount();\n } else {\n direction !== options.direction && Splide2.refresh();\n }\n }\n\n function reduce(enable) {\n if (matchMedia(MEDIA_PREFERS_REDUCED_MOTION).matches) {\n enable ? merge(options, reducedMotion) : omit(options, ownKeys(reducedMotion));\n }\n }\n\n function set(opts, base, notify) {\n merge(options, opts);\n base && merge(Object.getPrototypeOf(options), opts);\n\n if (notify || !state.is(CREATED)) {\n Splide2.emit(EVENT_UPDATED, options);\n }\n }\n\n return {\n setup: setup,\n destroy: destroy,\n reduce: reduce,\n set: set\n };\n}\n\nvar ARROW = \"Arrow\";\nvar ARROW_LEFT = ARROW + \"Left\";\nvar ARROW_RIGHT = ARROW + \"Right\";\nvar ARROW_UP = ARROW + \"Up\";\nvar ARROW_DOWN = ARROW + \"Down\";\nvar LTR = \"ltr\";\nvar RTL = \"rtl\";\nvar TTB = \"ttb\";\nvar ORIENTATION_MAP = {\n width: [\"height\"],\n left: [\"top\", \"right\"],\n right: [\"bottom\", \"left\"],\n x: [\"y\"],\n X: [\"Y\"],\n Y: [\"X\"],\n ArrowLeft: [ARROW_UP, ARROW_RIGHT],\n ArrowRight: [ARROW_DOWN, ARROW_LEFT]\n};\n\nfunction Direction(Splide2, Components2, options) {\n function resolve(prop, axisOnly, direction) {\n direction = direction || options.direction;\n var index = direction === RTL && !axisOnly ? 1 : direction === TTB ? 0 : -1;\n return ORIENTATION_MAP[prop] && ORIENTATION_MAP[prop][index] || prop.replace(/width|left|right/i, function (match, offset) {\n var replacement = ORIENTATION_MAP[match.toLowerCase()][index] || match;\n return offset > 0 ? replacement.charAt(0).toUpperCase() + replacement.slice(1) : replacement;\n });\n }\n\n function orient(value) {\n return value * (options.direction === RTL ? 1 : -1);\n }\n\n return {\n resolve: resolve,\n orient: orient\n };\n}\n\nvar ROLE = \"role\";\nvar TAB_INDEX = \"tabindex\";\nvar DISABLED = \"disabled\";\nvar ARIA_PREFIX = \"aria-\";\nvar ARIA_CONTROLS = ARIA_PREFIX + \"controls\";\nvar ARIA_CURRENT = ARIA_PREFIX + \"current\";\nvar ARIA_SELECTED = ARIA_PREFIX + \"selected\";\nvar ARIA_LABEL = ARIA_PREFIX + \"label\";\nvar ARIA_LABELLEDBY = ARIA_PREFIX + \"labelledby\";\nvar ARIA_HIDDEN = ARIA_PREFIX + \"hidden\";\nvar ARIA_ORIENTATION = ARIA_PREFIX + \"orientation\";\nvar ARIA_ROLEDESCRIPTION = ARIA_PREFIX + \"roledescription\";\nvar ARIA_LIVE = ARIA_PREFIX + \"live\";\nvar ARIA_BUSY = ARIA_PREFIX + \"busy\";\nvar ARIA_ATOMIC = ARIA_PREFIX + \"atomic\";\nvar ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_LABELLEDBY, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION];\nvar CLASS_PREFIX = PROJECT_CODE + \"__\";\nvar STATUS_CLASS_PREFIX = \"is-\";\nvar CLASS_ROOT = PROJECT_CODE;\nvar CLASS_TRACK = CLASS_PREFIX + \"track\";\nvar CLASS_LIST = CLASS_PREFIX + \"list\";\nvar CLASS_SLIDE = CLASS_PREFIX + \"slide\";\nvar CLASS_CLONE = CLASS_SLIDE + \"--clone\";\nvar CLASS_CONTAINER = CLASS_SLIDE + \"__container\";\nvar CLASS_ARROWS = CLASS_PREFIX + \"arrows\";\nvar CLASS_ARROW = CLASS_PREFIX + \"arrow\";\nvar CLASS_ARROW_PREV = CLASS_ARROW + \"--prev\";\nvar CLASS_ARROW_NEXT = CLASS_ARROW + \"--next\";\nvar CLASS_PAGINATION = CLASS_PREFIX + \"pagination\";\nvar CLASS_PAGINATION_PAGE = CLASS_PAGINATION + \"__page\";\nvar CLASS_PROGRESS = CLASS_PREFIX + \"progress\";\nvar CLASS_PROGRESS_BAR = CLASS_PROGRESS + \"__bar\";\nvar CLASS_TOGGLE = CLASS_PREFIX + \"toggle\";\nvar CLASS_TOGGLE_PLAY = CLASS_TOGGLE + \"__play\";\nvar CLASS_TOGGLE_PAUSE = CLASS_TOGGLE + \"__pause\";\nvar CLASS_SPINNER = CLASS_PREFIX + \"spinner\";\nvar CLASS_SR = CLASS_PREFIX + \"sr\";\nvar CLASS_INITIALIZED = STATUS_CLASS_PREFIX + \"initialized\";\nvar CLASS_ACTIVE = STATUS_CLASS_PREFIX + \"active\";\nvar CLASS_PREV = STATUS_CLASS_PREFIX + \"prev\";\nvar CLASS_NEXT = STATUS_CLASS_PREFIX + \"next\";\nvar CLASS_VISIBLE = STATUS_CLASS_PREFIX + \"visible\";\nvar CLASS_LOADING = STATUS_CLASS_PREFIX + \"loading\";\nvar CLASS_FOCUS_IN = STATUS_CLASS_PREFIX + \"focus-in\";\nvar CLASS_OVERFLOW = STATUS_CLASS_PREFIX + \"overflow\";\nvar STATUS_CLASSES = [CLASS_ACTIVE, CLASS_VISIBLE, CLASS_PREV, CLASS_NEXT, CLASS_LOADING, CLASS_FOCUS_IN, CLASS_OVERFLOW];\nvar CLASSES = {\n slide: CLASS_SLIDE,\n clone: CLASS_CLONE,\n arrows: CLASS_ARROWS,\n arrow: CLASS_ARROW,\n prev: CLASS_ARROW_PREV,\n next: CLASS_ARROW_NEXT,\n pagination: CLASS_PAGINATION,\n page: CLASS_PAGINATION_PAGE,\n spinner: CLASS_SPINNER\n};\n\nfunction closest(from, selector) {\n if (isFunction(from.closest)) {\n return from.closest(selector);\n }\n\n var elm = from;\n\n while (elm && elm.nodeType === 1) {\n if (matches(elm, selector)) {\n break;\n }\n\n elm = elm.parentElement;\n }\n\n return elm;\n}\n\nvar FRICTION = 5;\nvar LOG_INTERVAL = 200;\nvar POINTER_DOWN_EVENTS = \"touchstart mousedown\";\nvar POINTER_MOVE_EVENTS = \"touchmove mousemove\";\nvar POINTER_UP_EVENTS = \"touchend touchcancel mouseup click\";\n\nfunction Elements(Splide2, Components2, options) {\n var _EventInterface = EventInterface(Splide2),\n on = _EventInterface.on,\n bind = _EventInterface.bind;\n\n var root = Splide2.root;\n var i18n = options.i18n;\n var elements = {};\n var slides = [];\n var rootClasses = [];\n var trackClasses = [];\n var track;\n var list;\n var isUsingKey;\n\n function setup() {\n collect();\n init();\n update();\n }\n\n function mount() {\n on(EVENT_REFRESH, destroy);\n on(EVENT_REFRESH, setup);\n on(EVENT_UPDATED, update);\n bind(document, POINTER_DOWN_EVENTS + \" keydown\", function (e) {\n isUsingKey = e.type === \"keydown\";\n }, {\n capture: true\n });\n bind(root, \"focusin\", function () {\n toggleClass(root, CLASS_FOCUS_IN, !!isUsingKey);\n });\n }\n\n function destroy(completely) {\n var attrs = ALL_ATTRIBUTES.concat(\"style\");\n empty(slides);\n removeClass(root, rootClasses);\n removeClass(track, trackClasses);\n removeAttribute([track, list], attrs);\n removeAttribute(root, completely ? attrs : [\"style\", ARIA_ROLEDESCRIPTION]);\n }\n\n function update() {\n removeClass(root, rootClasses);\n removeClass(track, trackClasses);\n rootClasses = getClasses(CLASS_ROOT);\n trackClasses = getClasses(CLASS_TRACK);\n addClass(root, rootClasses);\n addClass(track, trackClasses);\n setAttribute(root, ARIA_LABEL, options.label);\n setAttribute(root, ARIA_LABELLEDBY, options.labelledby);\n }\n\n function collect() {\n track = find(\".\" + CLASS_TRACK);\n list = child(track, \".\" + CLASS_LIST);\n assert(track && list, \"A track/list element is missing.\");\n push(slides, children(list, \".\" + CLASS_SLIDE + \":not(.\" + CLASS_CLONE + \")\"));\n forOwn({\n arrows: CLASS_ARROWS,\n pagination: CLASS_PAGINATION,\n prev: CLASS_ARROW_PREV,\n next: CLASS_ARROW_NEXT,\n bar: CLASS_PROGRESS_BAR,\n toggle: CLASS_TOGGLE\n }, function (className, key) {\n elements[key] = find(\".\" + className);\n });\n assign(elements, {\n root: root,\n track: track,\n list: list,\n slides: slides\n });\n }\n\n function init() {\n var id = root.id || uniqueId(PROJECT_CODE);\n var role = options.role;\n root.id = id;\n track.id = track.id || id + \"-track\";\n list.id = list.id || id + \"-list\";\n\n if (!getAttribute(root, ROLE) && root.tagName !== \"SECTION\" && role) {\n setAttribute(root, ROLE, role);\n }\n\n setAttribute(root, ARIA_ROLEDESCRIPTION, i18n.carousel);\n setAttribute(list, ROLE, \"presentation\");\n }\n\n function find(selector) {\n var elm = query(root, selector);\n return elm && closest(elm, \".\" + CLASS_ROOT) === root ? elm : void 0;\n }\n\n function getClasses(base) {\n return [base + \"--\" + options.type, base + \"--\" + options.direction, options.drag && base + \"--draggable\", options.isNavigation && base + \"--nav\", base === CLASS_ROOT && CLASS_ACTIVE];\n }\n\n return assign(elements, {\n setup: setup,\n mount: mount,\n destroy: destroy\n });\n}\n\nvar SLIDE = \"slide\";\nvar LOOP = \"loop\";\nvar FADE = \"fade\";\n\nfunction Slide$1(Splide2, index, slideIndex, slide) {\n var event = EventInterface(Splide2);\n var on = event.on,\n emit = event.emit,\n bind = event.bind;\n var Components = Splide2.Components,\n root = Splide2.root,\n options = Splide2.options;\n var isNavigation = options.isNavigation,\n updateOnMove = options.updateOnMove,\n i18n = options.i18n,\n pagination = options.pagination,\n slideFocus = options.slideFocus;\n var resolve = Components.Direction.resolve;\n var styles = getAttribute(slide, \"style\");\n var label = getAttribute(slide, ARIA_LABEL);\n var isClone = slideIndex > -1;\n var container = child(slide, \".\" + CLASS_CONTAINER);\n var destroyed;\n\n function mount() {\n if (!isClone) {\n slide.id = root.id + \"-slide\" + pad(index + 1);\n setAttribute(slide, ROLE, pagination ? \"tabpanel\" : \"group\");\n setAttribute(slide, ARIA_ROLEDESCRIPTION, i18n.slide);\n setAttribute(slide, ARIA_LABEL, label || format(i18n.slideLabel, [index + 1, Splide2.length]));\n }\n\n listen();\n }\n\n function listen() {\n bind(slide, \"click\", apply(emit, EVENT_CLICK, self));\n bind(slide, \"keydown\", apply(emit, EVENT_SLIDE_KEYDOWN, self));\n on([EVENT_MOVED, EVENT_SHIFTED, EVENT_SCROLLED], update);\n on(EVENT_NAVIGATION_MOUNTED, initNavigation);\n\n if (updateOnMove) {\n on(EVENT_MOVE, onMove);\n }\n }\n\n function destroy() {\n destroyed = true;\n event.destroy();\n removeClass(slide, STATUS_CLASSES);\n removeAttribute(slide, ALL_ATTRIBUTES);\n setAttribute(slide, \"style\", styles);\n setAttribute(slide, ARIA_LABEL, label || \"\");\n }\n\n function initNavigation() {\n var controls = Splide2.splides.map(function (target) {\n var Slide2 = target.splide.Components.Slides.getAt(index);\n return Slide2 ? Slide2.slide.id : \"\";\n }).join(\" \");\n setAttribute(slide, ARIA_LABEL, format(i18n.slideX, (isClone ? slideIndex : index) + 1));\n setAttribute(slide, ARIA_CONTROLS, controls);\n setAttribute(slide, ROLE, slideFocus ? \"button\" : \"\");\n slideFocus && removeAttribute(slide, ARIA_ROLEDESCRIPTION);\n }\n\n function onMove() {\n if (!destroyed) {\n update();\n }\n }\n\n function update() {\n if (!destroyed) {\n var curr = Splide2.index;\n updateActivity();\n updateVisibility();\n toggleClass(slide, CLASS_PREV, index === curr - 1);\n toggleClass(slide, CLASS_NEXT, index === curr + 1);\n }\n }\n\n function updateActivity() {\n var active = isActive();\n\n if (active !== hasClass(slide, CLASS_ACTIVE)) {\n toggleClass(slide, CLASS_ACTIVE, active);\n setAttribute(slide, ARIA_CURRENT, isNavigation && active || \"\");\n emit(active ? EVENT_ACTIVE : EVENT_INACTIVE, self);\n }\n }\n\n function updateVisibility() {\n var visible = isVisible();\n var hidden = !visible && (!isActive() || isClone);\n\n if (!Splide2.state.is([MOVING, SCROLLING])) {\n setAttribute(slide, ARIA_HIDDEN, hidden || \"\");\n }\n\n setAttribute(queryAll(slide, options.focusableNodes || \"\"), TAB_INDEX, hidden ? -1 : \"\");\n\n if (slideFocus) {\n setAttribute(slide, TAB_INDEX, hidden ? -1 : 0);\n }\n\n if (visible !== hasClass(slide, CLASS_VISIBLE)) {\n toggleClass(slide, CLASS_VISIBLE, visible);\n emit(visible ? EVENT_VISIBLE : EVENT_HIDDEN, self);\n }\n\n if (!visible && document.activeElement === slide) {\n var Slide2 = Components.Slides.getAt(Splide2.index);\n Slide2 && focus(Slide2.slide);\n }\n }\n\n function style$1(prop, value, useContainer) {\n style(useContainer && container || slide, prop, value);\n }\n\n function isActive() {\n var curr = Splide2.index;\n return curr === index || options.cloneStatus && curr === slideIndex;\n }\n\n function isVisible() {\n if (Splide2.is(FADE)) {\n return isActive();\n }\n\n var trackRect = rect(Components.Elements.track);\n var slideRect = rect(slide);\n var left = resolve(\"left\", true);\n var right = resolve(\"right\", true);\n return floor(trackRect[left]) <= ceil(slideRect[left]) && floor(slideRect[right]) <= ceil(trackRect[right]);\n }\n\n function isWithin(from, distance) {\n var diff = abs(from - index);\n\n if (!isClone && (options.rewind || Splide2.is(LOOP))) {\n diff = min(diff, Splide2.length - diff);\n }\n\n return diff <= distance;\n }\n\n var self = {\n index: index,\n slideIndex: slideIndex,\n slide: slide,\n container: container,\n isClone: isClone,\n mount: mount,\n destroy: destroy,\n update: update,\n style: style$1,\n isWithin: isWithin\n };\n return self;\n}\n\nfunction Slides(Splide2, Components2, options) {\n var _EventInterface2 = EventInterface(Splide2),\n on = _EventInterface2.on,\n emit = _EventInterface2.emit,\n bind = _EventInterface2.bind;\n\n var _Components2$Elements = Components2.Elements,\n slides = _Components2$Elements.slides,\n list = _Components2$Elements.list;\n var Slides2 = [];\n\n function mount() {\n init();\n on(EVENT_REFRESH, destroy);\n on(EVENT_REFRESH, init);\n }\n\n function init() {\n slides.forEach(function (slide, index) {\n register(slide, index, -1);\n });\n }\n\n function destroy() {\n forEach$1(function (Slide2) {\n Slide2.destroy();\n });\n empty(Slides2);\n }\n\n function update() {\n forEach$1(function (Slide2) {\n Slide2.update();\n });\n }\n\n function register(slide, index, slideIndex) {\n var object = Slide$1(Splide2, index, slideIndex, slide);\n object.mount();\n Slides2.push(object);\n Slides2.sort(function (Slide1, Slide2) {\n return Slide1.index - Slide2.index;\n });\n }\n\n function get(excludeClones) {\n return excludeClones ? filter(function (Slide2) {\n return !Slide2.isClone;\n }) : Slides2;\n }\n\n function getIn(page) {\n var Controller = Components2.Controller;\n var index = Controller.toIndex(page);\n var max = Controller.hasFocus() ? 1 : options.perPage;\n return filter(function (Slide2) {\n return between(Slide2.index, index, index + max - 1);\n });\n }\n\n function getAt(index) {\n return filter(index)[0];\n }\n\n function add(items, index) {\n forEach(items, function (slide) {\n if (isString(slide)) {\n slide = parseHtml(slide);\n }\n\n if (isHTMLElement(slide)) {\n var ref = slides[index];\n ref ? before(slide, ref) : append(list, slide);\n addClass(slide, options.classes.slide);\n observeImages(slide, apply(emit, EVENT_RESIZE));\n }\n });\n emit(EVENT_REFRESH);\n }\n\n function remove$1(matcher) {\n remove(filter(matcher).map(function (Slide2) {\n return Slide2.slide;\n }));\n emit(EVENT_REFRESH);\n }\n\n function forEach$1(iteratee, excludeClones) {\n get(excludeClones).forEach(iteratee);\n }\n\n function filter(matcher) {\n return Slides2.filter(isFunction(matcher) ? matcher : function (Slide2) {\n return isString(matcher) ? matches(Slide2.slide, matcher) : includes(toArray(matcher), Slide2.index);\n });\n }\n\n function style(prop, value, useContainer) {\n forEach$1(function (Slide2) {\n Slide2.style(prop, value, useContainer);\n });\n }\n\n function observeImages(elm, callback) {\n var images = queryAll(elm, \"img\");\n var length = images.length;\n\n if (length) {\n images.forEach(function (img) {\n bind(img, \"load error\", function () {\n if (! --length) {\n callback();\n }\n });\n });\n } else {\n callback();\n }\n }\n\n function getLength(excludeClones) {\n return excludeClones ? slides.length : Slides2.length;\n }\n\n function isEnough() {\n return Slides2.length > options.perPage;\n }\n\n return {\n mount: mount,\n destroy: destroy,\n update: update,\n register: register,\n get: get,\n getIn: getIn,\n getAt: getAt,\n add: add,\n remove: remove$1,\n forEach: forEach$1,\n filter: filter,\n style: style,\n getLength: getLength,\n isEnough: isEnough\n };\n}\n\nfunction Layout(Splide2, Components2, options) {\n var _EventInterface3 = EventInterface(Splide2),\n on = _EventInterface3.on,\n bind = _EventInterface3.bind,\n emit = _EventInterface3.emit;\n\n var Slides = Components2.Slides;\n var resolve = Components2.Direction.resolve;\n var _Components2$Elements2 = Components2.Elements,\n root = _Components2$Elements2.root,\n track = _Components2$Elements2.track,\n list = _Components2$Elements2.list;\n var getAt = Slides.getAt,\n styleSlides = Slides.style;\n var vertical;\n var rootRect;\n var overflow;\n\n function mount() {\n init();\n bind(window, \"resize load\", Throttle(apply(emit, EVENT_RESIZE)));\n on([EVENT_UPDATED, EVENT_REFRESH], init);\n on(EVENT_RESIZE, resize);\n }\n\n function init() {\n vertical = options.direction === TTB;\n style(root, \"maxWidth\", unit(options.width));\n style(track, resolve(\"paddingLeft\"), cssPadding(false));\n style(track, resolve(\"paddingRight\"), cssPadding(true));\n resize(true);\n }\n\n function resize(force) {\n var newRect = rect(root);\n\n if (force || rootRect.width !== newRect.width || rootRect.height !== newRect.height) {\n style(track, \"height\", cssTrackHeight());\n styleSlides(resolve(\"marginRight\"), unit(options.gap));\n styleSlides(\"width\", cssSlideWidth());\n styleSlides(\"height\", cssSlideHeight(), true);\n rootRect = newRect;\n emit(EVENT_RESIZED);\n\n if (overflow !== (overflow = isOverflow())) {\n toggleClass(root, CLASS_OVERFLOW, overflow);\n emit(EVENT_OVERFLOW, overflow);\n }\n }\n }\n\n function cssPadding(right) {\n var padding = options.padding;\n var prop = resolve(right ? \"right\" : \"left\");\n return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || \"0px\";\n }\n\n function cssTrackHeight() {\n var height = \"\";\n\n if (vertical) {\n height = cssHeight();\n assert(height, \"height or heightRatio is missing.\");\n height = \"calc(\" + height + \" - \" + cssPadding(false) + \" - \" + cssPadding(true) + \")\";\n }\n\n return height;\n }\n\n function cssHeight() {\n return unit(options.height || rect(list).width * options.heightRatio);\n }\n\n function cssSlideWidth() {\n return options.autoWidth ? null : unit(options.fixedWidth) || (vertical ? \"\" : cssSlideSize());\n }\n\n function cssSlideHeight() {\n return unit(options.fixedHeight) || (vertical ? options.autoHeight ? null : cssSlideSize() : cssHeight());\n }\n\n function cssSlideSize() {\n var gap = unit(options.gap);\n return \"calc((100%\" + (gap && \" + \" + gap) + \")/\" + (options.perPage || 1) + (gap && \" - \" + gap) + \")\";\n }\n\n function listSize() {\n return rect(list)[resolve(\"width\")];\n }\n\n function slideSize(index, withoutGap) {\n var Slide = getAt(index || 0);\n return Slide ? rect(Slide.slide)[resolve(\"width\")] + (withoutGap ? 0 : getGap()) : 0;\n }\n\n function totalSize(index, withoutGap) {\n var Slide = getAt(index);\n\n if (Slide) {\n var right = rect(Slide.slide)[resolve(\"right\")];\n var left = rect(list)[resolve(\"left\")];\n return abs(right - left) + (withoutGap ? 0 : getGap());\n }\n\n return 0;\n }\n\n function sliderSize(withoutGap) {\n return totalSize(Splide2.length - 1) - totalSize(0) + slideSize(0, withoutGap);\n }\n\n function getGap() {\n var Slide = getAt(0);\n return Slide && parseFloat(style(Slide.slide, resolve(\"marginRight\"))) || 0;\n }\n\n function getPadding(right) {\n return parseFloat(style(track, resolve(\"padding\" + (right ? \"Right\" : \"Left\")))) || 0;\n }\n\n function isOverflow() {\n return Splide2.is(FADE) || sliderSize(true) > listSize();\n }\n\n return {\n mount: mount,\n resize: resize,\n listSize: listSize,\n slideSize: slideSize,\n sliderSize: sliderSize,\n totalSize: totalSize,\n getPadding: getPadding,\n isOverflow: isOverflow\n };\n}\n\nvar MULTIPLIER = 2;\n\nfunction Clones(Splide2, Components2, options) {\n var event = EventInterface(Splide2);\n var on = event.on;\n var Elements = Components2.Elements,\n Slides = Components2.Slides;\n var resolve = Components2.Direction.resolve;\n var clones = [];\n var cloneCount;\n\n function mount() {\n on(EVENT_REFRESH, remount);\n on([EVENT_UPDATED, EVENT_RESIZE], observe);\n\n if (cloneCount = computeCloneCount()) {\n generate(cloneCount);\n Components2.Layout.resize(true);\n }\n }\n\n function remount() {\n destroy();\n mount();\n }\n\n function destroy() {\n remove(clones);\n empty(clones);\n event.destroy();\n }\n\n function observe() {\n var count = computeCloneCount();\n\n if (cloneCount !== count) {\n if (cloneCount < count || !count) {\n event.emit(EVENT_REFRESH);\n }\n }\n }\n\n function generate(count) {\n var slides = Slides.get().slice();\n var length = slides.length;\n\n if (length) {\n while (slides.length < count) {\n push(slides, slides);\n }\n\n push(slides.slice(-count), slides.slice(0, count)).forEach(function (Slide, index) {\n var isHead = index < count;\n var clone = cloneDeep(Slide.slide, index);\n isHead ? before(clone, slides[0].slide) : append(Elements.list, clone);\n push(clones, clone);\n Slides.register(clone, index - count + (isHead ? 0 : length), Slide.index);\n });\n }\n }\n\n function cloneDeep(elm, index) {\n var clone = elm.cloneNode(true);\n addClass(clone, options.classes.clone);\n clone.id = Splide2.root.id + \"-clone\" + pad(index + 1);\n return clone;\n }\n\n function computeCloneCount() {\n var clones2 = options.clones;\n\n if (!Splide2.is(LOOP)) {\n clones2 = 0;\n } else if (isUndefined(clones2)) {\n var fixedSize = options[resolve(\"fixedWidth\")] && Components2.Layout.slideSize(0);\n var fixedCount = fixedSize && ceil(rect(Elements.track)[resolve(\"width\")] / fixedSize);\n clones2 = fixedCount || options[resolve(\"autoWidth\")] && Splide2.length || options.perPage * MULTIPLIER;\n }\n\n return clones2;\n }\n\n return {\n mount: mount,\n destroy: destroy\n };\n}\n\nfunction Move(Splide2, Components2, options) {\n var _EventInterface4 = EventInterface(Splide2),\n on = _EventInterface4.on,\n emit = _EventInterface4.emit;\n\n var set = Splide2.state.set;\n var _Components2$Layout = Components2.Layout,\n slideSize = _Components2$Layout.slideSize,\n getPadding = _Components2$Layout.getPadding,\n totalSize = _Components2$Layout.totalSize,\n listSize = _Components2$Layout.listSize,\n sliderSize = _Components2$Layout.sliderSize;\n var _Components2$Directio = Components2.Direction,\n resolve = _Components2$Directio.resolve,\n orient = _Components2$Directio.orient;\n var _Components2$Elements3 = Components2.Elements,\n list = _Components2$Elements3.list,\n track = _Components2$Elements3.track;\n var Transition;\n\n function mount() {\n Transition = Components2.Transition;\n on([EVENT_MOUNTED, EVENT_RESIZED, EVENT_UPDATED, EVENT_REFRESH], reposition);\n }\n\n function reposition() {\n if (!Components2.Controller.isBusy()) {\n Components2.Scroll.cancel();\n jump(Splide2.index);\n Components2.Slides.update();\n }\n }\n\n function move(dest, index, prev, callback) {\n if (dest !== index && canShift(dest > prev)) {\n cancel();\n translate(shift(getPosition(), dest > prev), true);\n }\n\n set(MOVING);\n emit(EVENT_MOVE, index, prev, dest);\n Transition.start(index, function () {\n set(IDLE);\n emit(EVENT_MOVED, index, prev, dest);\n callback && callback();\n });\n }\n\n function jump(index) {\n translate(toPosition(index, true));\n }\n\n function translate(position, preventLoop) {\n if (!Splide2.is(FADE)) {\n var destination = preventLoop ? position : loop(position);\n style(list, \"transform\", \"translate\" + resolve(\"X\") + \"(\" + destination + \"px)\");\n position !== destination && emit(EVENT_SHIFTED);\n }\n }\n\n function loop(position) {\n if (Splide2.is(LOOP)) {\n var index = toIndex(position);\n var exceededMax = index > Components2.Controller.getEnd();\n var exceededMin = index < 0;\n\n if (exceededMin || exceededMax) {\n position = shift(position, exceededMax);\n }\n }\n\n return position;\n }\n\n function shift(position, backwards) {\n var excess = position - getLimit(backwards);\n var size = sliderSize();\n position -= orient(size * (ceil(abs(excess) / size) || 1)) * (backwards ? 1 : -1);\n return position;\n }\n\n function cancel() {\n translate(getPosition(), true);\n Transition.cancel();\n }\n\n function toIndex(position) {\n var Slides = Components2.Slides.get();\n var index = 0;\n var minDistance = Infinity;\n\n for (var i = 0; i < Slides.length; i++) {\n var slideIndex = Slides[i].index;\n var distance = abs(toPosition(slideIndex, true) - position);\n\n if (distance <= minDistance) {\n minDistance = distance;\n index = slideIndex;\n } else {\n break;\n }\n }\n\n return index;\n }\n\n function toPosition(index, trimming) {\n var position = orient(totalSize(index - 1) - offset(index));\n return trimming ? trim(position) : position;\n }\n\n function getPosition() {\n var left = resolve(\"left\");\n return rect(list)[left] - rect(track)[left] + orient(getPadding(false));\n }\n\n function trim(position) {\n if (options.trimSpace && Splide2.is(SLIDE)) {\n position = clamp(position, 0, orient(sliderSize(true) - listSize()));\n }\n\n return position;\n }\n\n function offset(index) {\n var focus = options.focus;\n return focus === \"center\" ? (listSize() - slideSize(index, true)) / 2 : +focus * slideSize(index) || 0;\n }\n\n function getLimit(max) {\n return toPosition(max ? Components2.Controller.getEnd() : 0, !!options.trimSpace);\n }\n\n function canShift(backwards) {\n var shifted = orient(shift(getPosition(), backwards));\n return backwards ? shifted >= 0 : shifted <= list[resolve(\"scrollWidth\")] - rect(track)[resolve(\"width\")];\n }\n\n function exceededLimit(max, position) {\n position = isUndefined(position) ? getPosition() : position;\n var exceededMin = max !== true && orient(position) < orient(getLimit(false));\n var exceededMax = max !== false && orient(position) > orient(getLimit(true));\n return exceededMin || exceededMax;\n }\n\n return {\n mount: mount,\n move: move,\n jump: jump,\n translate: translate,\n shift: shift,\n cancel: cancel,\n toIndex: toIndex,\n toPosition: toPosition,\n getPosition: getPosition,\n getLimit: getLimit,\n exceededLimit: exceededLimit,\n reposition: reposition\n };\n}\n\nfunction Controller(Splide2, Components2, options) {\n var _EventInterface5 = EventInterface(Splide2),\n on = _EventInterface5.on,\n emit = _EventInterface5.emit;\n\n var Move = Components2.Move;\n var getPosition = Move.getPosition,\n getLimit = Move.getLimit,\n toPosition = Move.toPosition;\n var _Components2$Slides = Components2.Slides,\n isEnough = _Components2$Slides.isEnough,\n getLength = _Components2$Slides.getLength;\n var omitEnd = options.omitEnd;\n var isLoop = Splide2.is(LOOP);\n var isSlide = Splide2.is(SLIDE);\n var getNext = apply(getAdjacent, false);\n var getPrev = apply(getAdjacent, true);\n var currIndex = options.start || 0;\n var endIndex;\n var prevIndex = currIndex;\n var slideCount;\n var perMove;\n var perPage;\n\n function mount() {\n init();\n on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], init);\n on(EVENT_RESIZED, onResized);\n }\n\n function init() {\n slideCount = getLength(true);\n perMove = options.perMove;\n perPage = options.perPage;\n endIndex = getEnd();\n var index = clamp(currIndex, 0, omitEnd ? endIndex : slideCount - 1);\n\n if (index !== currIndex) {\n currIndex = index;\n Move.reposition();\n }\n }\n\n function onResized() {\n if (endIndex !== getEnd()) {\n emit(EVENT_END_INDEX_CHANGED);\n }\n }\n\n function go(control, allowSameIndex, callback) {\n if (!isBusy()) {\n var dest = parse(control);\n var index = loop(dest);\n\n if (index > -1 && (allowSameIndex || index !== currIndex)) {\n setIndex(index);\n Move.move(dest, index, prevIndex, callback);\n }\n }\n }\n\n function scroll(destination, duration, snap, callback) {\n Components2.Scroll.scroll(destination, duration, snap, function () {\n var index = loop(Move.toIndex(getPosition()));\n setIndex(omitEnd ? min(index, endIndex) : index);\n callback && callback();\n });\n }\n\n function parse(control) {\n var index = currIndex;\n\n if (isString(control)) {\n var _ref = control.match(/([+\\-<>])(\\d+)?/) || [],\n indicator = _ref[1],\n number = _ref[2];\n\n if (indicator === \"+\" || indicator === \"-\") {\n index = computeDestIndex(currIndex + +(\"\" + indicator + (+number || 1)), currIndex);\n } else if (indicator === \">\") {\n index = number ? toIndex(+number) : getNext(true);\n } else if (indicator === \"<\") {\n index = getPrev(true);\n }\n } else {\n index = isLoop ? control : clamp(control, 0, endIndex);\n }\n\n return index;\n }\n\n function getAdjacent(prev, destination) {\n var number = perMove || (hasFocus() ? 1 : perPage);\n var dest = computeDestIndex(currIndex + number * (prev ? -1 : 1), currIndex, !(perMove || hasFocus()));\n\n if (dest === -1 && isSlide) {\n if (!approximatelyEqual(getPosition(), getLimit(!prev), 1)) {\n return prev ? 0 : endIndex;\n }\n }\n\n return destination ? dest : loop(dest);\n }\n\n function computeDestIndex(dest, from, snapPage) {\n if (isEnough() || hasFocus()) {\n var index = computeMovableDestIndex(dest);\n\n if (index !== dest) {\n from = dest;\n dest = index;\n snapPage = false;\n }\n\n if (dest < 0 || dest > endIndex) {\n if (!perMove && (between(0, dest, from, true) || between(endIndex, from, dest, true))) {\n dest = toIndex(toPage(dest));\n } else {\n if (isLoop) {\n dest = snapPage ? dest < 0 ? -(slideCount % perPage || perPage) : slideCount : dest;\n } else if (options.rewind) {\n dest = dest < 0 ? endIndex : 0;\n } else {\n dest = -1;\n }\n }\n } else {\n if (snapPage && dest !== from) {\n dest = toIndex(toPage(from) + (dest < from ? -1 : 1));\n }\n }\n } else {\n dest = -1;\n }\n\n return dest;\n }\n\n function computeMovableDestIndex(dest) {\n if (isSlide && options.trimSpace === \"move\" && dest !== currIndex) {\n var position = getPosition();\n\n while (position === toPosition(dest, true) && between(dest, 0, Splide2.length - 1, !options.rewind)) {\n dest < currIndex ? --dest : ++dest;\n }\n }\n\n return dest;\n }\n\n function loop(index) {\n return isLoop ? (index + slideCount) % slideCount || 0 : index;\n }\n\n function getEnd() {\n var end = slideCount - (hasFocus() || isLoop && perMove ? 1 : perPage);\n\n while (omitEnd && end-- > 0) {\n if (toPosition(slideCount - 1, true) !== toPosition(end, true)) {\n end++;\n break;\n }\n }\n\n return clamp(end, 0, slideCount - 1);\n }\n\n function toIndex(page) {\n return clamp(hasFocus() ? page : perPage * page, 0, endIndex);\n }\n\n function toPage(index) {\n return hasFocus() ? min(index, endIndex) : floor((index >= endIndex ? slideCount - 1 : index) / perPage);\n }\n\n function toDest(destination) {\n var closest = Move.toIndex(destination);\n return isSlide ? clamp(closest, 0, endIndex) : closest;\n }\n\n function setIndex(index) {\n if (index !== currIndex) {\n prevIndex = currIndex;\n currIndex = index;\n }\n }\n\n function getIndex(prev) {\n return prev ? prevIndex : currIndex;\n }\n\n function hasFocus() {\n return !isUndefined(options.focus) || options.isNavigation;\n }\n\n function isBusy() {\n return Splide2.state.is([MOVING, SCROLLING]) && !!options.waitForTransition;\n }\n\n return {\n mount: mount,\n go: go,\n scroll: scroll,\n getNext: getNext,\n getPrev: getPrev,\n getAdjacent: getAdjacent,\n getEnd: getEnd,\n setIndex: setIndex,\n getIndex: getIndex,\n toIndex: toIndex,\n toPage: toPage,\n toDest: toDest,\n hasFocus: hasFocus,\n isBusy: isBusy\n };\n}\n\nvar XML_NAME_SPACE = \"http://www.w3.org/2000/svg\";\nvar PATH = \"m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z\";\nvar SIZE = 40;\n\nfunction Arrows(Splide2, Components2, options) {\n var event = EventInterface(Splide2);\n var on = event.on,\n bind = event.bind,\n emit = event.emit;\n var classes = options.classes,\n i18n = options.i18n;\n var Elements = Components2.Elements,\n Controller = Components2.Controller;\n var placeholder = Elements.arrows,\n track = Elements.track;\n var wrapper = placeholder;\n var prev = Elements.prev;\n var next = Elements.next;\n var created;\n var wrapperClasses;\n var arrows = {};\n\n function mount() {\n init();\n on(EVENT_UPDATED, remount);\n }\n\n function remount() {\n destroy();\n mount();\n }\n\n function init() {\n var enabled = options.arrows;\n\n if (enabled && !(prev && next)) {\n createArrows();\n }\n\n if (prev && next) {\n assign(arrows, {\n prev: prev,\n next: next\n });\n display(wrapper, enabled ? \"\" : \"none\");\n addClass(wrapper, wrapperClasses = CLASS_ARROWS + \"--\" + options.direction);\n\n if (enabled) {\n listen();\n update();\n setAttribute([prev, next], ARIA_CONTROLS, track.id);\n emit(EVENT_ARROWS_MOUNTED, prev, next);\n }\n }\n }\n\n function destroy() {\n event.destroy();\n removeClass(wrapper, wrapperClasses);\n\n if (created) {\n remove(placeholder ? [prev, next] : wrapper);\n prev = next = null;\n } else {\n removeAttribute([prev, next], ALL_ATTRIBUTES);\n }\n }\n\n function listen() {\n on([EVENT_MOUNTED, EVENT_MOVED, EVENT_REFRESH, EVENT_SCROLLED, EVENT_END_INDEX_CHANGED], update);\n bind(next, \"click\", apply(go, \">\"));\n bind(prev, \"click\", apply(go, \"<\"));\n }\n\n function go(control) {\n Controller.go(control, true);\n }\n\n function createArrows() {\n wrapper = placeholder || create(\"div\", classes.arrows);\n prev = createArrow(true);\n next = createArrow(false);\n created = true;\n append(wrapper, [prev, next]);\n !placeholder && before(wrapper, track);\n }\n\n function createArrow(prev2) {\n var arrow = \"<button class=\\\"\" + classes.arrow + \" \" + (prev2 ? classes.prev : classes.next) + \"\\\" type=\\\"button\\\"><svg xmlns=\\\"\" + XML_NAME_SPACE + \"\\\" viewBox=\\\"0 0 \" + SIZE + \" \" + SIZE + \"\\\" width=\\\"\" + SIZE + \"\\\" height=\\\"\" + SIZE + \"\\\" focusable=\\\"false\\\"><path d=\\\"\" + (options.arrowPath || PATH) + \"\\\" />\";\n return parseHtml(arrow);\n }\n\n function update() {\n if (prev && next) {\n var index = Splide2.index;\n var prevIndex = Controller.getPrev();\n var nextIndex = Controller.getNext();\n var prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev;\n var nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next;\n prev.disabled = prevIndex < 0;\n next.disabled = nextIndex < 0;\n setAttribute(prev, ARIA_LABEL, prevLabel);\n setAttribute(next, ARIA_LABEL, nextLabel);\n emit(EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex);\n }\n }\n\n return {\n arrows: arrows,\n mount: mount,\n destroy: destroy,\n update: update\n };\n}\n\nvar INTERVAL_DATA_ATTRIBUTE = DATA_ATTRIBUTE + \"-interval\";\n\nfunction Autoplay(Splide2, Components2, options) {\n var _EventInterface6 = EventInterface(Splide2),\n on = _EventInterface6.on,\n bind = _EventInterface6.bind,\n emit = _EventInterface6.emit;\n\n var interval = RequestInterval(options.interval, Splide2.go.bind(Splide2, \">\"), onAnimationFrame);\n var isPaused = interval.isPaused;\n var Elements = Components2.Elements,\n _Components2$Elements4 = Components2.Elements,\n root = _Components2$Elements4.root,\n toggle = _Components2$Elements4.toggle;\n var autoplay = options.autoplay;\n var hovered;\n var focused;\n var stopped = autoplay === \"pause\";\n\n function mount() {\n if (autoplay) {\n listen();\n toggle && setAttribute(toggle, ARIA_CONTROLS, Elements.track.id);\n stopped || play();\n update();\n }\n }\n\n function listen() {\n if (options.pauseOnHover) {\n bind(root, \"mouseenter mouseleave\", function (e) {\n hovered = e.type === \"mouseenter\";\n autoToggle();\n });\n }\n\n if (options.pauseOnFocus) {\n bind(root, \"focusin focusout\", function (e) {\n focused = e.type === \"focusin\";\n autoToggle();\n });\n }\n\n if (toggle) {\n bind(toggle, \"click\", function () {\n stopped ? play() : pause(true);\n });\n }\n\n on([EVENT_MOVE, EVENT_SCROLL, EVENT_REFRESH], interval.rewind);\n on(EVENT_MOVE, onMove);\n }\n\n function play() {\n if (isPaused() && Components2.Slides.isEnough()) {\n interval.start(!options.resetProgress);\n focused = hovered = stopped = false;\n update();\n emit(EVENT_AUTOPLAY_PLAY);\n }\n }\n\n function pause(stop) {\n if (stop === void 0) {\n stop = true;\n }\n\n stopped = !!stop;\n update();\n\n if (!isPaused()) {\n interval.pause();\n emit(EVENT_AUTOPLAY_PAUSE);\n }\n }\n\n function autoToggle() {\n if (!stopped) {\n hovered || focused ? pause(false) : play();\n }\n }\n\n function update() {\n if (toggle) {\n toggleClass(toggle, CLASS_ACTIVE, !stopped);\n setAttribute(toggle, ARIA_LABEL, options.i18n[stopped ? \"play\" : \"pause\"]);\n }\n }\n\n function onAnimationFrame(rate) {\n var bar = Elements.bar;\n bar && style(bar, \"width\", rate * 100 + \"%\");\n emit(EVENT_AUTOPLAY_PLAYING, rate);\n }\n\n function onMove(index) {\n var Slide = Components2.Slides.getAt(index);\n interval.set(Slide && +getAttribute(Slide.slide, INTERVAL_DATA_ATTRIBUTE) || options.interval);\n }\n\n return {\n mount: mount,\n destroy: interval.cancel,\n play: play,\n pause: pause,\n isPaused: isPaused\n };\n}\n\nfunction Cover(Splide2, Components2, options) {\n var _EventInterface7 = EventInterface(Splide2),\n on = _EventInterface7.on;\n\n function mount() {\n if (options.cover) {\n on(EVENT_LAZYLOAD_LOADED, apply(toggle, true));\n on([EVENT_MOUNTED, EVENT_UPDATED, EVENT_REFRESH], apply(cover, true));\n }\n }\n\n function cover(cover2) {\n Components2.Slides.forEach(function (Slide) {\n var img = child(Slide.container || Slide.slide, \"img\");\n\n if (img && img.src) {\n toggle(cover2, img, Slide);\n }\n });\n }\n\n function toggle(cover2, img, Slide) {\n Slide.style(\"background\", cover2 ? \"center/cover no-repeat url(\\\"\" + img.src + \"\\\")\" : \"\", true);\n display(img, cover2 ? \"none\" : \"\");\n }\n\n return {\n mount: mount,\n destroy: apply(cover, false)\n };\n}\n\nvar BOUNCE_DIFF_THRESHOLD = 10;\nvar BOUNCE_DURATION = 600;\nvar FRICTION_FACTOR = 0.6;\nvar BASE_VELOCITY = 1.5;\nvar MIN_DURATION = 800;\n\nfunction Scroll(Splide2, Components2, options) {\n var _EventInterface8 = EventInterface(Splide2),\n on = _EventInterface8.on,\n emit = _EventInterface8.emit;\n\n var set = Splide2.state.set;\n var Move = Components2.Move;\n var getPosition = Move.getPosition,\n getLimit = Move.getLimit,\n exceededLimit = Move.exceededLimit,\n translate = Move.translate;\n var isSlide = Splide2.is(SLIDE);\n var interval;\n var callback;\n var friction = 1;\n\n function mount() {\n on(EVENT_MOVE, clear);\n on([EVENT_UPDATED, EVENT_REFRESH], cancel);\n }\n\n function scroll(destination, duration, snap, onScrolled, noConstrain) {\n var from = getPosition();\n clear();\n\n if (snap && (!isSlide || !exceededLimit())) {\n var size = Components2.Layout.sliderSize();\n var offset = sign(destination) * size * floor(abs(destination) / size) || 0;\n destination = Move.toPosition(Components2.Controller.toDest(destination % size)) + offset;\n }\n\n var noDistance = approximatelyEqual(from, destination, 1);\n friction = 1;\n duration = noDistance ? 0 : duration || max(abs(destination - from) / BASE_VELOCITY, MIN_DURATION);\n callback = onScrolled;\n interval = RequestInterval(duration, onEnd, apply(update, from, destination, noConstrain), 1);\n set(SCROLLING);\n emit(EVENT_SCROLL);\n interval.start();\n }\n\n function onEnd() {\n set(IDLE);\n callback && callback();\n emit(EVENT_SCROLLED);\n }\n\n function update(from, to, noConstrain, rate) {\n var position = getPosition();\n var target = from + (to - from) * easing(rate);\n var diff = (target - position) * friction;\n translate(position + diff);\n\n if (isSlide && !noConstrain && exceededLimit()) {\n friction *= FRICTION_FACTOR;\n\n if (abs(diff) < BOUNCE_DIFF_THRESHOLD) {\n scroll(getLimit(exceededLimit(true)), BOUNCE_DURATION, false, callback, true);\n }\n }\n }\n\n function clear() {\n if (interval) {\n interval.cancel();\n }\n }\n\n function cancel() {\n if (interval && !interval.isPaused()) {\n clear();\n onEnd();\n }\n }\n\n function easing(t) {\n var easingFunc = options.easingFunc;\n return easingFunc ? easingFunc(t) : 1 - Math.pow(1 - t, 4);\n }\n\n return {\n mount: mount,\n destroy: clear,\n scroll: scroll,\n cancel: cancel\n };\n}\n\nvar SCROLL_LISTENER_OPTIONS = {\n passive: false,\n capture: true\n};\n\nfunction Drag(Splide2, Components2, options) {\n var _EventInterface9 = EventInterface(Splide2),\n on = _EventInterface9.on,\n emit = _EventInterface9.emit,\n bind = _EventInterface9.bind,\n unbind = _EventInterface9.unbind;\n\n var state = Splide2.state;\n var Move = Components2.Move,\n Scroll = Components2.Scroll,\n Controller = Components2.Controller,\n track = Components2.Elements.track,\n reduce = Components2.Media.reduce;\n var _Components2$Directio2 = Components2.Direction,\n resolve = _Components2$Directio2.resolve,\n orient = _Components2$Directio2.orient;\n var getPosition = Move.getPosition,\n exceededLimit = Move.exceededLimit;\n var basePosition;\n var baseEvent;\n var prevBaseEvent;\n var isFree;\n var dragging;\n var exceeded = false;\n var clickPrevented;\n var disabled;\n var target;\n\n function mount() {\n bind(track, POINTER_MOVE_EVENTS, noop, SCROLL_LISTENER_OPTIONS);\n bind(track, POINTER_UP_EVENTS, noop, SCROLL_LISTENER_OPTIONS);\n bind(track, POINTER_DOWN_EVENTS, onPointerDown, SCROLL_LISTENER_OPTIONS);\n bind(track, \"click\", onClick, {\n capture: true\n });\n bind(track, \"dragstart\", prevent);\n on([EVENT_MOUNTED, EVENT_UPDATED], init);\n }\n\n function init() {\n var drag = options.drag;\n disable(!drag);\n isFree = drag === \"free\";\n }\n\n function onPointerDown(e) {\n clickPrevented = false;\n\n if (!disabled) {\n var isTouch = isTouchEvent(e);\n\n if (isDraggable(e.target) && (isTouch || !e.button)) {\n if (!Controller.isBusy()) {\n target = isTouch ? track : window;\n dragging = state.is([MOVING, SCROLLING]);\n prevBaseEvent = null;\n bind(target, POINTER_MOVE_EVENTS, onPointerMove, SCROLL_LISTENER_OPTIONS);\n bind(target, POINTER_UP_EVENTS, onPointerUp, SCROLL_LISTENER_OPTIONS);\n Move.cancel();\n Scroll.cancel();\n save(e);\n } else {\n prevent(e, true);\n }\n }\n }\n }\n\n function onPointerMove(e) {\n if (!state.is(DRAGGING)) {\n state.set(DRAGGING);\n emit(EVENT_DRAG);\n }\n\n if (e.cancelable) {\n if (dragging) {\n Move.translate(basePosition + constrain(diffCoord(e)));\n var expired = diffTime(e) > LOG_INTERVAL;\n var hasExceeded = exceeded !== (exceeded = exceededLimit());\n\n if (expired || hasExceeded) {\n save(e);\n }\n\n clickPrevented = true;\n emit(EVENT_DRAGGING);\n prevent(e);\n } else if (isSliderDirection(e)) {\n dragging = shouldStart(e);\n prevent(e);\n }\n }\n }\n\n function onPointerUp(e) {\n if (state.is(DRAGGING)) {\n state.set(IDLE);\n emit(EVENT_DRAGGED);\n }\n\n if (dragging) {\n move(e);\n prevent(e);\n }\n\n unbind(target, POINTER_MOVE_EVENTS, onPointerMove);\n unbind(target, POINTER_UP_EVENTS, onPointerUp);\n dragging = false;\n }\n\n function onClick(e) {\n if (!disabled && clickPrevented) {\n prevent(e, true);\n }\n }\n\n function save(e) {\n prevBaseEvent = baseEvent;\n baseEvent = e;\n basePosition = getPosition();\n }\n\n function move(e) {\n var velocity = computeVelocity(e);\n var destination = computeDestination(velocity);\n var rewind = options.rewind && options.rewindByDrag;\n reduce(false);\n\n if (isFree) {\n Controller.scroll(destination, 0, options.snap);\n } else if (Splide2.is(FADE)) {\n Controller.go(orient(sign(velocity)) < 0 ? rewind ? \"<\" : \"-\" : rewind ? \">\" : \"+\");\n } else if (Splide2.is(SLIDE) && exceeded && rewind) {\n Controller.go(exceededLimit(true) ? \">\" : \"<\");\n } else {\n Controller.go(Controller.toDest(destination), true);\n }\n\n reduce(true);\n }\n\n function shouldStart(e) {\n var thresholds = options.dragMinThreshold;\n var isObj = isObject(thresholds);\n var mouse = isObj && thresholds.mouse || 0;\n var touch = (isObj ? thresholds.touch : +thresholds) || 10;\n return abs(diffCoord(e)) > (isTouchEvent(e) ? touch : mouse);\n }\n\n function isSliderDirection(e) {\n return abs(diffCoord(e)) > abs(diffCoord(e, true));\n }\n\n function computeVelocity(e) {\n if (Splide2.is(LOOP) || !exceeded) {\n var time = diffTime(e);\n\n if (time && time < LOG_INTERVAL) {\n return diffCoord(e) / time;\n }\n }\n\n return 0;\n }\n\n function computeDestination(velocity) {\n return getPosition() + sign(velocity) * min(abs(velocity) * (options.flickPower || 600), isFree ? Infinity : Components2.Layout.listSize() * (options.flickMaxPages || 1));\n }\n\n function diffCoord(e, orthogonal) {\n return coordOf(e, orthogonal) - coordOf(getBaseEvent(e), orthogonal);\n }\n\n function diffTime(e) {\n return timeOf(e) - timeOf(getBaseEvent(e));\n }\n\n function getBaseEvent(e) {\n return baseEvent === e && prevBaseEvent || baseEvent;\n }\n\n function coordOf(e, orthogonal) {\n return (isTouchEvent(e) ? e.changedTouches[0] : e)[\"page\" + resolve(orthogonal ? \"Y\" : \"X\")];\n }\n\n function constrain(diff) {\n return diff / (exceeded && Splide2.is(SLIDE) ? FRICTION : 1);\n }\n\n function isDraggable(target2) {\n var noDrag = options.noDrag;\n return !matches(target2, \".\" + CLASS_PAGINATION_PAGE + \", .\" + CLASS_ARROW) && (!noDrag || !matches(target2, noDrag));\n }\n\n function isTouchEvent(e) {\n return typeof TouchEvent !== \"undefined\" && e instanceof TouchEvent;\n }\n\n function isDragging() {\n return dragging;\n }\n\n function disable(value) {\n disabled = value;\n }\n\n return {\n mount: mount,\n disable: disable,\n isDragging: isDragging\n };\n}\n\nvar NORMALIZATION_MAP = {\n Spacebar: \" \",\n Right: ARROW_RIGHT,\n Left: ARROW_LEFT,\n Up: ARROW_UP,\n Down: ARROW_DOWN\n};\n\nfunction normalizeKey(key) {\n key = isString(key) ? key : key.key;\n return NORMALIZATION_MAP[key] || key;\n}\n\nvar KEYBOARD_EVENT = \"keydown\";\n\nfunction Keyboard(Splide2, Components2, options) {\n var _EventInterface10 = EventInterface(Splide2),\n on = _EventInterface10.on,\n bind = _EventInterface10.bind,\n unbind = _EventInterface10.unbind;\n\n var root = Splide2.root;\n var resolve = Components2.Direction.resolve;\n var target;\n var disabled;\n\n function mount() {\n init();\n on(EVENT_UPDATED, destroy);\n on(EVENT_UPDATED, init);\n on(EVENT_MOVE, onMove);\n }\n\n function init() {\n var keyboard = options.keyboard;\n\n if (keyboard) {\n target = keyboard === \"global\" ? window : root;\n bind(target, KEYBOARD_EVENT, onKeydown);\n }\n }\n\n function destroy() {\n unbind(target, KEYBOARD_EVENT);\n }\n\n function disable(value) {\n disabled = value;\n }\n\n function onMove() {\n var _disabled = disabled;\n disabled = true;\n nextTick(function () {\n disabled = _disabled;\n });\n }\n\n function onKeydown(e) {\n if (!disabled) {\n var key = normalizeKey(e);\n\n if (key === resolve(ARROW_LEFT)) {\n Splide2.go(\"<\");\n } else if (key === resolve(ARROW_RIGHT)) {\n Splide2.go(\">\");\n }\n }\n }\n\n return {\n mount: mount,\n destroy: destroy,\n disable: disable\n };\n}\n\nvar SRC_DATA_ATTRIBUTE = DATA_ATTRIBUTE + \"-lazy\";\nvar SRCSET_DATA_ATTRIBUTE = SRC_DATA_ATTRIBUTE + \"-srcset\";\nvar IMAGE_SELECTOR = \"[\" + SRC_DATA_ATTRIBUTE + \"], [\" + SRCSET_DATA_ATTRIBUTE + \"]\";\n\nfunction LazyLoad(Splide2, Components2, options) {\n var _EventInterface11 = EventInterface(Splide2),\n on = _EventInterface11.on,\n off = _EventInterface11.off,\n bind = _EventInterface11.bind,\n emit = _EventInterface11.emit;\n\n var isSequential = options.lazyLoad === \"sequential\";\n var events = [EVENT_MOVED, EVENT_SCROLLED];\n var entries = [];\n\n function mount() {\n if (options.lazyLoad) {\n init();\n on(EVENT_REFRESH, init);\n }\n }\n\n function init() {\n empty(entries);\n register();\n\n if (isSequential) {\n loadNext();\n } else {\n off(events);\n on(events, check);\n check();\n }\n }\n\n function register() {\n Components2.Slides.forEach(function (Slide) {\n queryAll(Slide.slide, IMAGE_SELECTOR).forEach(function (img) {\n var src = getAttribute(img, SRC_DATA_ATTRIBUTE);\n var srcset = getAttribute(img, SRCSET_DATA_ATTRIBUTE);\n\n if (src !== img.src || srcset !== img.srcset) {\n var className = options.classes.spinner;\n var parent = img.parentElement;\n var spinner = child(parent, \".\" + className) || create(\"span\", className, parent);\n entries.push([img, Slide, spinner]);\n img.src || display(img, \"none\");\n }\n });\n });\n }\n\n function check() {\n entries = entries.filter(function (data) {\n var distance = options.perPage * ((options.preloadPages || 1) + 1) - 1;\n return data[1].isWithin(Splide2.index, distance) ? load(data) : true;\n });\n entries.length || off(events);\n }\n\n function load(data) {\n var img = data[0];\n addClass(data[1].slide, CLASS_LOADING);\n bind(img, \"load error\", apply(onLoad, data));\n setAttribute(img, \"src\", getAttribute(img, SRC_DATA_ATTRIBUTE));\n setAttribute(img, \"srcset\", getAttribute(img, SRCSET_DATA_ATTRIBUTE));\n removeAttribute(img, SRC_DATA_ATTRIBUTE);\n removeAttribute(img, SRCSET_DATA_ATTRIBUTE);\n }\n\n function onLoad(data, e) {\n var img = data[0],\n Slide = data[1];\n removeClass(Slide.slide, CLASS_LOADING);\n\n if (e.type !== \"error\") {\n remove(data[2]);\n display(img, \"\");\n emit(EVENT_LAZYLOAD_LOADED, img, Slide);\n emit(EVENT_RESIZE);\n }\n\n isSequential && loadNext();\n }\n\n function loadNext() {\n entries.length && load(entries.shift());\n }\n\n return {\n mount: mount,\n destroy: apply(empty, entries),\n check: check\n };\n}\n\nfunction Pagination(Splide2, Components2, options) {\n var event = EventInterface(Splide2);\n var on = event.on,\n emit = event.emit,\n bind = event.bind;\n var Slides = Components2.Slides,\n Elements = Components2.Elements,\n Controller = Components2.Controller;\n var hasFocus = Controller.hasFocus,\n getIndex = Controller.getIndex,\n go = Controller.go;\n var resolve = Components2.Direction.resolve;\n var placeholder = Elements.pagination;\n var items = [];\n var list;\n var paginationClasses;\n\n function mount() {\n destroy();\n on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], mount);\n var enabled = options.pagination;\n placeholder && display(placeholder, enabled ? \"\" : \"none\");\n\n if (enabled) {\n on([EVENT_MOVE, EVENT_SCROLL, EVENT_SCROLLED], update);\n createPagination();\n update();\n emit(EVENT_PAGINATION_MOUNTED, {\n list: list,\n items: items\n }, getAt(Splide2.index));\n }\n }\n\n function destroy() {\n if (list) {\n remove(placeholder ? slice(list.children) : list);\n removeClass(list, paginationClasses);\n empty(items);\n list = null;\n }\n\n event.destroy();\n }\n\n function createPagination() {\n var length = Splide2.length;\n var classes = options.classes,\n i18n = options.i18n,\n perPage = options.perPage;\n var max = hasFocus() ? Controller.getEnd() + 1 : ceil(length / perPage);\n list = placeholder || create(\"ul\", classes.pagination, Elements.track.parentElement);\n addClass(list, paginationClasses = CLASS_PAGINATION + \"--\" + getDirection());\n setAttribute(list, ROLE, \"tablist\");\n setAttribute(list, ARIA_LABEL, i18n.select);\n setAttribute(list, ARIA_ORIENTATION, getDirection() === TTB ? \"vertical\" : \"\");\n\n for (var i = 0; i < max; i++) {\n var li = create(\"li\", null, list);\n var button = create(\"button\", {\n class: classes.page,\n type: \"button\"\n }, li);\n var controls = Slides.getIn(i).map(function (Slide) {\n return Slide.slide.id;\n });\n var text = !hasFocus() && perPage > 1 ? i18n.pageX : i18n.slideX;\n bind(button, \"click\", apply(onClick, i));\n\n if (options.paginationKeyboard) {\n bind(button, \"keydown\", apply(onKeydown, i));\n }\n\n setAttribute(li, ROLE, \"presentation\");\n setAttribute(button, ROLE, \"tab\");\n setAttribute(button, ARIA_CONTROLS, controls.join(\" \"));\n setAttribute(button, ARIA_LABEL, format(text, i + 1));\n setAttribute(button, TAB_INDEX, -1);\n items.push({\n li: li,\n button: button,\n page: i\n });\n }\n }\n\n function onClick(page) {\n go(\">\" + page, true);\n }\n\n function onKeydown(page, e) {\n var length = items.length;\n var key = normalizeKey(e);\n var dir = getDirection();\n var nextPage = -1;\n\n if (key === resolve(ARROW_RIGHT, false, dir)) {\n nextPage = ++page % length;\n } else if (key === resolve(ARROW_LEFT, false, dir)) {\n nextPage = (--page + length) % length;\n } else if (key === \"Home\") {\n nextPage = 0;\n } else if (key === \"End\") {\n nextPage = length - 1;\n }\n\n var item = items[nextPage];\n\n if (item) {\n focus(item.button);\n go(\">\" + nextPage);\n prevent(e, true);\n }\n }\n\n function getDirection() {\n return options.paginationDirection || options.direction;\n }\n\n function getAt(index) {\n return items[Controller.toPage(index)];\n }\n\n function update() {\n var prev = getAt(getIndex(true));\n var curr = getAt(getIndex());\n\n if (prev) {\n var button = prev.button;\n removeClass(button, CLASS_ACTIVE);\n removeAttribute(button, ARIA_SELECTED);\n setAttribute(button, TAB_INDEX, -1);\n }\n\n if (curr) {\n var _button = curr.button;\n addClass(_button, CLASS_ACTIVE);\n setAttribute(_button, ARIA_SELECTED, true);\n setAttribute(_button, TAB_INDEX, \"\");\n }\n\n emit(EVENT_PAGINATION_UPDATED, {\n list: list,\n items: items\n }, prev, curr);\n }\n\n return {\n items: items,\n mount: mount,\n destroy: destroy,\n getAt: getAt,\n update: update\n };\n}\n\nvar TRIGGER_KEYS = [\" \", \"Enter\"];\n\nfunction Sync(Splide2, Components2, options) {\n var isNavigation = options.isNavigation,\n slideFocus = options.slideFocus;\n var events = [];\n\n function mount() {\n Splide2.splides.forEach(function (target) {\n if (!target.isParent) {\n sync(Splide2, target.splide);\n sync(target.splide, Splide2);\n }\n });\n\n if (isNavigation) {\n navigate();\n }\n }\n\n function destroy() {\n events.forEach(function (event) {\n event.destroy();\n });\n empty(events);\n }\n\n function remount() {\n destroy();\n mount();\n }\n\n function sync(splide, target) {\n var event = EventInterface(splide);\n event.on(EVENT_MOVE, function (index, prev, dest) {\n target.go(target.is(LOOP) ? dest : index);\n });\n events.push(event);\n }\n\n function navigate() {\n var event = EventInterface(Splide2);\n var on = event.on;\n on(EVENT_CLICK, onClick);\n on(EVENT_SLIDE_KEYDOWN, onKeydown);\n on([EVENT_MOUNTED, EVENT_UPDATED], update);\n events.push(event);\n event.emit(EVENT_NAVIGATION_MOUNTED, Splide2.splides);\n }\n\n function update() {\n setAttribute(Components2.Elements.list, ARIA_ORIENTATION, options.direction === TTB ? \"vertical\" : \"\");\n }\n\n function onClick(Slide) {\n Splide2.go(Slide.index);\n }\n\n function onKeydown(Slide, e) {\n if (includes(TRIGGER_KEYS, normalizeKey(e))) {\n onClick(Slide);\n prevent(e);\n }\n }\n\n return {\n setup: apply(Components2.Media.set, {\n slideFocus: isUndefined(slideFocus) ? isNavigation : slideFocus\n }, true),\n mount: mount,\n destroy: destroy,\n remount: remount\n };\n}\n\nfunction Wheel(Splide2, Components2, options) {\n var _EventInterface12 = EventInterface(Splide2),\n bind = _EventInterface12.bind;\n\n var lastTime = 0;\n\n function mount() {\n if (options.wheel) {\n bind(Components2.Elements.track, \"wheel\", onWheel, SCROLL_LISTENER_OPTIONS);\n }\n }\n\n function onWheel(e) {\n if (e.cancelable) {\n var deltaY = e.deltaY;\n var backwards = deltaY < 0;\n var timeStamp = timeOf(e);\n\n var _min = options.wheelMinThreshold || 0;\n\n var sleep = options.wheelSleep || 0;\n\n if (abs(deltaY) > _min && timeStamp - lastTime > sleep) {\n Splide2.go(backwards ? \"<\" : \">\");\n lastTime = timeStamp;\n }\n\n shouldPrevent(backwards) && prevent(e);\n }\n }\n\n function shouldPrevent(backwards) {\n return !options.releaseWheel || Splide2.state.is(MOVING) || Components2.Controller.getAdjacent(backwards) !== -1;\n }\n\n return {\n mount: mount\n };\n}\n\nvar SR_REMOVAL_DELAY = 90;\n\nfunction Live(Splide2, Components2, options) {\n var _EventInterface13 = EventInterface(Splide2),\n on = _EventInterface13.on;\n\n var track = Components2.Elements.track;\n var enabled = options.live && !options.isNavigation;\n var sr = create(\"span\", CLASS_SR);\n var interval = RequestInterval(SR_REMOVAL_DELAY, apply(toggle, false));\n\n function mount() {\n if (enabled) {\n disable(!Components2.Autoplay.isPaused());\n setAttribute(track, ARIA_ATOMIC, true);\n sr.textContent = \"\\u2026\";\n on(EVENT_AUTOPLAY_PLAY, apply(disable, true));\n on(EVENT_AUTOPLAY_PAUSE, apply(disable, false));\n on([EVENT_MOVED, EVENT_SCROLLED], apply(toggle, true));\n }\n }\n\n function toggle(active) {\n setAttribute(track, ARIA_BUSY, active);\n\n if (active) {\n append(track, sr);\n interval.start();\n } else {\n remove(sr);\n interval.cancel();\n }\n }\n\n function destroy() {\n removeAttribute(track, [ARIA_LIVE, ARIA_ATOMIC, ARIA_BUSY]);\n remove(sr);\n }\n\n function disable(disabled) {\n if (enabled) {\n setAttribute(track, ARIA_LIVE, disabled ? \"off\" : \"polite\");\n }\n }\n\n return {\n mount: mount,\n disable: disable,\n destroy: destroy\n };\n}\n\nvar ComponentConstructors = /*#__PURE__*/Object.freeze({\n __proto__: null,\n Media: Media,\n Direction: Direction,\n Elements: Elements,\n Slides: Slides,\n Layout: Layout,\n Clones: Clones,\n Move: Move,\n Controller: Controller,\n Arrows: Arrows,\n Autoplay: Autoplay,\n Cover: Cover,\n Scroll: Scroll,\n Drag: Drag,\n Keyboard: Keyboard,\n LazyLoad: LazyLoad,\n Pagination: Pagination,\n Sync: Sync,\n Wheel: Wheel,\n Live: Live\n});\nvar I18N = {\n prev: \"Previous slide\",\n next: \"Next slide\",\n first: \"Go to first slide\",\n last: \"Go to last slide\",\n slideX: \"Go to slide %s\",\n pageX: \"Go to page %s\",\n play: \"Start autoplay\",\n pause: \"Pause autoplay\",\n carousel: \"carousel\",\n slide: \"slide\",\n select: \"Select a slide to show\",\n slideLabel: \"%s of %s\"\n};\nvar DEFAULTS = {\n type: \"slide\",\n role: \"region\",\n speed: 400,\n perPage: 1,\n cloneStatus: true,\n arrows: true,\n pagination: true,\n paginationKeyboard: true,\n interval: 5e3,\n pauseOnHover: true,\n pauseOnFocus: true,\n resetProgress: true,\n easing: \"cubic-bezier(0.25, 1, 0.5, 1)\",\n drag: true,\n direction: \"ltr\",\n trimSpace: true,\n focusableNodes: \"a, button, textarea, input, select, iframe\",\n live: true,\n classes: CLASSES,\n i18n: I18N,\n reducedMotion: {\n speed: 0,\n rewindSpeed: 0,\n autoplay: \"pause\"\n }\n};\n\nfunction Fade(Splide2, Components2, options) {\n var Slides = Components2.Slides;\n\n function mount() {\n EventInterface(Splide2).on([EVENT_MOUNTED, EVENT_REFRESH], init);\n }\n\n function init() {\n Slides.forEach(function (Slide) {\n Slide.style(\"transform\", \"translateX(-\" + 100 * Slide.index + \"%)\");\n });\n }\n\n function start(index, done) {\n Slides.style(\"transition\", \"opacity \" + options.speed + \"ms \" + options.easing);\n nextTick(done);\n }\n\n return {\n mount: mount,\n start: start,\n cancel: noop\n };\n}\n\nfunction Slide(Splide2, Components2, options) {\n var Move = Components2.Move,\n Controller = Components2.Controller,\n Scroll = Components2.Scroll;\n var list = Components2.Elements.list;\n var transition = apply(style, list, \"transition\");\n var endCallback;\n\n function mount() {\n EventInterface(Splide2).bind(list, \"transitionend\", function (e) {\n if (e.target === list && endCallback) {\n cancel();\n endCallback();\n }\n });\n }\n\n function start(index, done) {\n var destination = Move.toPosition(index, true);\n var position = Move.getPosition();\n var speed = getSpeed(index);\n\n if (abs(destination - position) >= 1 && speed >= 1) {\n if (options.useScroll) {\n Scroll.scroll(destination, speed, false, done);\n } else {\n transition(\"transform \" + speed + \"ms \" + options.easing);\n Move.translate(destination, true);\n endCallback = done;\n }\n } else {\n Move.jump(index);\n done();\n }\n }\n\n function cancel() {\n transition(\"\");\n Scroll.cancel();\n }\n\n function getSpeed(index) {\n var rewindSpeed = options.rewindSpeed;\n\n if (Splide2.is(SLIDE) && rewindSpeed) {\n var prev = Controller.getIndex(true);\n var end = Controller.getEnd();\n\n if (prev === 0 && index >= end || prev >= end && index === 0) {\n return rewindSpeed;\n }\n }\n\n return options.speed;\n }\n\n return {\n mount: mount,\n start: start,\n cancel: cancel\n };\n}\n\nvar _Splide = /*#__PURE__*/function () {\n function _Splide(target, options) {\n this.event = EventInterface();\n this.Components = {};\n this.state = State(CREATED);\n this.splides = [];\n this._o = {};\n this._E = {};\n var root = isString(target) ? query(document, target) : target;\n assert(root, root + \" is invalid.\");\n this.root = root;\n options = merge({\n label: getAttribute(root, ARIA_LABEL) || \"\",\n labelledby: getAttribute(root, ARIA_LABELLEDBY) || \"\"\n }, DEFAULTS, _Splide.defaults, options || {});\n\n try {\n merge(options, JSON.parse(getAttribute(root, DATA_ATTRIBUTE)));\n } catch (e) {\n assert(false, \"Invalid JSON\");\n }\n\n this._o = Object.create(merge({}, options));\n }\n\n var _proto = _Splide.prototype;\n\n _proto.mount = function mount(Extensions, Transition) {\n var _this = this;\n\n var state = this.state,\n Components2 = this.Components;\n assert(state.is([CREATED, DESTROYED]), \"Already mounted!\");\n state.set(CREATED);\n this._C = Components2;\n this._T = Transition || this._T || (this.is(FADE) ? Fade : Slide);\n this._E = Extensions || this._E;\n var Constructors = assign({}, ComponentConstructors, this._E, {\n Transition: this._T\n });\n forOwn(Constructors, function (Component, key) {\n var component = Component(_this, Components2, _this._o);\n Components2[key] = component;\n component.setup && component.setup();\n });\n forOwn(Components2, function (component) {\n component.mount && component.mount();\n });\n this.emit(EVENT_MOUNTED);\n addClass(this.root, CLASS_INITIALIZED);\n state.set(IDLE);\n this.emit(EVENT_READY);\n return this;\n };\n\n _proto.sync = function sync(splide) {\n this.splides.push({\n splide: splide\n });\n splide.splides.push({\n splide: this,\n isParent: true\n });\n\n if (this.state.is(IDLE)) {\n this._C.Sync.remount();\n\n splide.Components.Sync.remount();\n }\n\n return this;\n };\n\n _proto.go = function go(control) {\n this._C.Controller.go(control);\n\n return this;\n };\n\n _proto.on = function on(events, callback) {\n this.event.on(events, callback);\n return this;\n };\n\n _proto.off = function off(events) {\n this.event.off(events);\n return this;\n };\n\n _proto.emit = function emit(event) {\n var _this$event;\n\n (_this$event = this.event).emit.apply(_this$event, [event].concat(slice(arguments, 1)));\n\n return this;\n };\n\n _proto.add = function add(slides, index) {\n this._C.Slides.add(slides, index);\n\n return this;\n };\n\n _proto.remove = function remove(matcher) {\n this._C.Slides.remove(matcher);\n\n return this;\n };\n\n _proto.is = function is(type) {\n return this._o.type === type;\n };\n\n _proto.refresh = function refresh() {\n this.emit(EVENT_REFRESH);\n return this;\n };\n\n _proto.destroy = function destroy(completely) {\n if (completely === void 0) {\n completely = true;\n }\n\n var event = this.event,\n state = this.state;\n\n if (state.is(CREATED)) {\n EventInterface(this).on(EVENT_READY, this.destroy.bind(this, completely));\n } else {\n forOwn(this._C, function (component) {\n component.destroy && component.destroy(completely);\n }, true);\n event.emit(EVENT_DESTROY);\n event.destroy();\n completely && empty(this.splides);\n state.set(DESTROYED);\n }\n\n return this;\n };\n\n _createClass(_Splide, [{\n key: \"options\",\n get: function get() {\n return this._o;\n },\n set: function set(options) {\n this._C.Media.set(options, true, true);\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._C.Slides.getLength(true);\n }\n }, {\n key: \"index\",\n get: function get() {\n return this._C.Controller.getIndex();\n }\n }]);\n\n return _Splide;\n}();\n\nvar Splide = _Splide;\nSplide.defaults = {};\nSplide.STATES = STATES;\nvar CLASS_RENDERED = \"is-rendered\";\nvar RENDERER_DEFAULT_CONFIG = {\n listTag: \"ul\",\n slideTag: \"li\"\n};\n\nvar Style = /*#__PURE__*/function () {\n function Style(id, options) {\n this.styles = {};\n this.id = id;\n this.options = options;\n }\n\n var _proto2 = Style.prototype;\n\n _proto2.rule = function rule(selector, prop, value, breakpoint) {\n breakpoint = breakpoint || \"default\";\n var selectors = this.styles[breakpoint] = this.styles[breakpoint] || {};\n var styles = selectors[selector] = selectors[selector] || {};\n styles[prop] = value;\n };\n\n _proto2.build = function build() {\n var _this2 = this;\n\n var css = \"\";\n\n if (this.styles.default) {\n css += this.buildSelectors(this.styles.default);\n }\n\n Object.keys(this.styles).sort(function (n, m) {\n return _this2.options.mediaQuery === \"min\" ? +n - +m : +m - +n;\n }).forEach(function (breakpoint) {\n if (breakpoint !== \"default\") {\n css += \"@media screen and (max-width: \" + breakpoint + \"px) {\";\n css += _this2.buildSelectors(_this2.styles[breakpoint]);\n css += \"}\";\n }\n });\n return css;\n };\n\n _proto2.buildSelectors = function buildSelectors(selectors) {\n var _this3 = this;\n\n var css = \"\";\n forOwn(selectors, function (styles, selector) {\n selector = (\"#\" + _this3.id + \" \" + selector).trim();\n css += selector + \" {\";\n forOwn(styles, function (value, prop) {\n if (value || value === 0) {\n css += prop + \": \" + value + \";\";\n }\n });\n css += \"}\";\n });\n return css;\n };\n\n return Style;\n}();\n\nvar SplideRenderer = /*#__PURE__*/function () {\n function SplideRenderer(contents, options, config, defaults) {\n this.slides = [];\n this.options = {};\n this.breakpoints = [];\n merge(DEFAULTS, defaults || {});\n merge(merge(this.options, DEFAULTS), options || {});\n this.contents = contents;\n this.config = assign({}, RENDERER_DEFAULT_CONFIG, config || {});\n this.id = this.config.id || uniqueId(\"splide\");\n this.Style = new Style(this.id, this.options);\n this.Direction = Direction(null, null, this.options);\n assert(this.contents.length, \"Provide at least 1 content.\");\n this.init();\n }\n\n SplideRenderer.clean = function clean(splide) {\n var _EventInterface14 = EventInterface(splide),\n on = _EventInterface14.on;\n\n var root = splide.root;\n var clones = queryAll(root, \".\" + CLASS_CLONE);\n on(EVENT_MOUNTED, function () {\n remove(child(root, \"style\"));\n });\n remove(clones);\n };\n\n var _proto3 = SplideRenderer.prototype;\n\n _proto3.init = function init() {\n this.parseBreakpoints();\n this.initSlides();\n this.registerRootStyles();\n this.registerTrackStyles();\n this.registerSlideStyles();\n this.registerListStyles();\n };\n\n _proto3.initSlides = function initSlides() {\n var _this4 = this;\n\n push(this.slides, this.contents.map(function (content, index) {\n content = isString(content) ? {\n html: content\n } : content;\n content.styles = content.styles || {};\n content.attrs = content.attrs || {};\n\n _this4.cover(content);\n\n var classes = _this4.options.classes.slide + \" \" + (index === 0 ? CLASS_ACTIVE : \"\");\n assign(content.attrs, {\n class: (classes + \" \" + (content.attrs.class || \"\")).trim(),\n style: _this4.buildStyles(content.styles)\n });\n return content;\n }));\n\n if (this.isLoop()) {\n this.generateClones(this.slides);\n }\n };\n\n _proto3.registerRootStyles = function registerRootStyles() {\n var _this5 = this;\n\n this.breakpoints.forEach(function (_ref2) {\n var width = _ref2[0],\n options = _ref2[1];\n\n _this5.Style.rule(\" \", \"max-width\", unit(options.width), width);\n });\n };\n\n _proto3.registerTrackStyles = function registerTrackStyles() {\n var _this6 = this;\n\n var Style2 = this.Style;\n var selector = \".\" + CLASS_TRACK;\n this.breakpoints.forEach(function (_ref3) {\n var width = _ref3[0],\n options = _ref3[1];\n Style2.rule(selector, _this6.resolve(\"paddingLeft\"), _this6.cssPadding(options, false), width);\n Style2.rule(selector, _this6.resolve(\"paddingRight\"), _this6.cssPadding(options, true), width);\n Style2.rule(selector, \"height\", _this6.cssTrackHeight(options), width);\n });\n };\n\n _proto3.registerListStyles = function registerListStyles() {\n var _this7 = this;\n\n var Style2 = this.Style;\n var selector = \".\" + CLASS_LIST;\n this.breakpoints.forEach(function (_ref4) {\n var width = _ref4[0],\n options = _ref4[1];\n Style2.rule(selector, \"transform\", _this7.buildTranslate(options), width);\n\n if (!_this7.cssSlideHeight(options)) {\n Style2.rule(selector, \"aspect-ratio\", _this7.cssAspectRatio(options), width);\n }\n });\n };\n\n _proto3.registerSlideStyles = function registerSlideStyles() {\n var _this8 = this;\n\n var Style2 = this.Style;\n var selector = \".\" + CLASS_SLIDE;\n this.breakpoints.forEach(function (_ref5) {\n var width = _ref5[0],\n options = _ref5[1];\n Style2.rule(selector, \"width\", _this8.cssSlideWidth(options), width);\n Style2.rule(selector, \"height\", _this8.cssSlideHeight(options) || \"100%\", width);\n Style2.rule(selector, _this8.resolve(\"marginRight\"), unit(options.gap) || \"0px\", width);\n Style2.rule(selector + \" > img\", \"display\", options.cover ? \"none\" : \"inline\", width);\n });\n };\n\n _proto3.buildTranslate = function buildTranslate(options) {\n var _this$Direction = this.Direction,\n resolve = _this$Direction.resolve,\n orient = _this$Direction.orient;\n var values = [];\n values.push(this.cssOffsetClones(options));\n values.push(this.cssOffsetGaps(options));\n\n if (this.isCenter(options)) {\n values.push(this.buildCssValue(orient(-50), \"%\"));\n values.push.apply(values, this.cssOffsetCenter(options));\n }\n\n return values.filter(Boolean).map(function (value) {\n return \"translate\" + resolve(\"X\") + \"(\" + value + \")\";\n }).join(\" \");\n };\n\n _proto3.cssOffsetClones = function cssOffsetClones(options) {\n var _this$Direction2 = this.Direction,\n resolve = _this$Direction2.resolve,\n orient = _this$Direction2.orient;\n var cloneCount = this.getCloneCount();\n\n if (this.isFixedWidth(options)) {\n var _this$parseCssValue = this.parseCssValue(options[resolve(\"fixedWidth\")]),\n value = _this$parseCssValue.value,\n unit2 = _this$parseCssValue.unit;\n\n return this.buildCssValue(orient(value) * cloneCount, unit2);\n }\n\n var percent = 100 * cloneCount / options.perPage;\n return orient(percent) + \"%\";\n };\n\n _proto3.cssOffsetCenter = function cssOffsetCenter(options) {\n var _this$Direction3 = this.Direction,\n resolve = _this$Direction3.resolve,\n orient = _this$Direction3.orient;\n\n if (this.isFixedWidth(options)) {\n var _this$parseCssValue2 = this.parseCssValue(options[resolve(\"fixedWidth\")]),\n value = _this$parseCssValue2.value,\n unit2 = _this$parseCssValue2.unit;\n\n return [this.buildCssValue(orient(value / 2), unit2)];\n }\n\n var values = [];\n var perPage = options.perPage,\n gap = options.gap;\n values.push(orient(50 / perPage) + \"%\");\n\n if (gap) {\n var _this$parseCssValue3 = this.parseCssValue(gap),\n _value = _this$parseCssValue3.value,\n _unit = _this$parseCssValue3.unit;\n\n var gapOffset = (_value / perPage - _value) / 2;\n values.push(this.buildCssValue(orient(gapOffset), _unit));\n }\n\n return values;\n };\n\n _proto3.cssOffsetGaps = function cssOffsetGaps(options) {\n var cloneCount = this.getCloneCount();\n\n if (cloneCount && options.gap) {\n var orient = this.Direction.orient;\n\n var _this$parseCssValue4 = this.parseCssValue(options.gap),\n value = _this$parseCssValue4.value,\n unit2 = _this$parseCssValue4.unit;\n\n if (this.isFixedWidth(options)) {\n return this.buildCssValue(orient(value * cloneCount), unit2);\n }\n\n var perPage = options.perPage;\n var gaps = cloneCount / perPage;\n return this.buildCssValue(orient(gaps * value), unit2);\n }\n\n return \"\";\n };\n\n _proto3.resolve = function resolve(prop) {\n return camelToKebab(this.Direction.resolve(prop));\n };\n\n _proto3.cssPadding = function cssPadding(options, right) {\n var padding = options.padding;\n var prop = this.Direction.resolve(right ? \"right\" : \"left\", true);\n return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || \"0px\";\n };\n\n _proto3.cssTrackHeight = function cssTrackHeight(options) {\n var height = \"\";\n\n if (this.isVertical()) {\n height = this.cssHeight(options);\n assert(height, '\"height\" is missing.');\n height = \"calc(\" + height + \" - \" + this.cssPadding(options, false) + \" - \" + this.cssPadding(options, true) + \")\";\n }\n\n return height;\n };\n\n _proto3.cssHeight = function cssHeight(options) {\n return unit(options.height);\n };\n\n _proto3.cssSlideWidth = function cssSlideWidth(options) {\n return options.autoWidth ? \"\" : unit(options.fixedWidth) || (this.isVertical() ? \"\" : this.cssSlideSize(options));\n };\n\n _proto3.cssSlideHeight = function cssSlideHeight(options) {\n return unit(options.fixedHeight) || (this.isVertical() ? options.autoHeight ? \"\" : this.cssSlideSize(options) : this.cssHeight(options));\n };\n\n _proto3.cssSlideSize = function cssSlideSize(options) {\n var gap = unit(options.gap);\n return \"calc((100%\" + (gap && \" + \" + gap) + \")/\" + (options.perPage || 1) + (gap && \" - \" + gap) + \")\";\n };\n\n _proto3.cssAspectRatio = function cssAspectRatio(options) {\n var heightRatio = options.heightRatio;\n return heightRatio ? \"\" + 1 / heightRatio : \"\";\n };\n\n _proto3.buildCssValue = function buildCssValue(value, unit2) {\n return \"\" + value + unit2;\n };\n\n _proto3.parseCssValue = function parseCssValue(value) {\n if (isString(value)) {\n var number = parseFloat(value) || 0;\n var unit2 = value.replace(/\\d*(\\.\\d*)?/, \"\") || \"px\";\n return {\n value: number,\n unit: unit2\n };\n }\n\n return {\n value: value,\n unit: \"px\"\n };\n };\n\n _proto3.parseBreakpoints = function parseBreakpoints() {\n var _this9 = this;\n\n var breakpoints = this.options.breakpoints;\n this.breakpoints.push([\"default\", this.options]);\n\n if (breakpoints) {\n forOwn(breakpoints, function (options, width) {\n _this9.breakpoints.push([width, merge(merge({}, _this9.options), options)]);\n });\n }\n };\n\n _proto3.isFixedWidth = function isFixedWidth(options) {\n return !!options[this.Direction.resolve(\"fixedWidth\")];\n };\n\n _proto3.isLoop = function isLoop() {\n return this.options.type === LOOP;\n };\n\n _proto3.isCenter = function isCenter(options) {\n if (options.focus === \"center\") {\n if (this.isLoop()) {\n return true;\n }\n\n if (this.options.type === SLIDE) {\n return !this.options.trimSpace;\n }\n }\n\n return false;\n };\n\n _proto3.isVertical = function isVertical() {\n return this.options.direction === TTB;\n };\n\n _proto3.buildClasses = function buildClasses() {\n var options = this.options;\n return [CLASS_ROOT, CLASS_ROOT + \"--\" + options.type, CLASS_ROOT + \"--\" + options.direction, options.drag && CLASS_ROOT + \"--draggable\", options.isNavigation && CLASS_ROOT + \"--nav\", CLASS_ACTIVE, !this.config.hidden && CLASS_RENDERED].filter(Boolean).join(\" \");\n };\n\n _proto3.buildAttrs = function buildAttrs(attrs) {\n var attr = \"\";\n forOwn(attrs, function (value, key) {\n attr += value ? \" \" + camelToKebab(key) + \"=\\\"\" + value + \"\\\"\" : \"\";\n });\n return attr.trim();\n };\n\n _proto3.buildStyles = function buildStyles(styles) {\n var style = \"\";\n forOwn(styles, function (value, key) {\n style += \" \" + camelToKebab(key) + \":\" + value + \";\";\n });\n return style.trim();\n };\n\n _proto3.renderSlides = function renderSlides() {\n var _this10 = this;\n\n var tag = this.config.slideTag;\n return this.slides.map(function (content) {\n return \"<\" + tag + \" \" + _this10.buildAttrs(content.attrs) + \">\" + (content.html || \"\") + \"</\" + tag + \">\";\n }).join(\"\");\n };\n\n _proto3.cover = function cover(content) {\n var styles = content.styles,\n _content$html = content.html,\n html = _content$html === void 0 ? \"\" : _content$html;\n\n if (this.options.cover && !this.options.lazyLoad) {\n var src = html.match(/<img.*?src\\s*=\\s*(['\"])(.+?)\\1.*?>/);\n\n if (src && src[2]) {\n styles.background = \"center/cover no-repeat url('\" + src[2] + \"')\";\n }\n }\n };\n\n _proto3.generateClones = function generateClones(contents) {\n var classes = this.options.classes;\n var count = this.getCloneCount();\n var slides = contents.slice();\n\n while (slides.length < count) {\n push(slides, slides);\n }\n\n push(slides.slice(-count).reverse(), slides.slice(0, count)).forEach(function (content, index) {\n var attrs = assign({}, content.attrs, {\n class: content.attrs.class + \" \" + classes.clone\n });\n var clone = assign({}, content, {\n attrs: attrs\n });\n index < count ? contents.unshift(clone) : contents.push(clone);\n });\n };\n\n _proto3.getCloneCount = function getCloneCount() {\n if (this.isLoop()) {\n var options = this.options;\n\n if (options.clones) {\n return options.clones;\n }\n\n var perPage = max.apply(void 0, this.breakpoints.map(function (_ref6) {\n var options2 = _ref6[1];\n return options2.perPage;\n }));\n return perPage * ((options.flickMaxPages || 1) + 1);\n }\n\n return 0;\n };\n\n _proto3.renderArrows = function renderArrows() {\n var html = \"\";\n html += \"<div class=\\\"\" + this.options.classes.arrows + \"\\\">\";\n html += this.renderArrow(true);\n html += this.renderArrow(false);\n html += \"</div>\";\n return html;\n };\n\n _proto3.renderArrow = function renderArrow(prev) {\n var _this$options = this.options,\n classes = _this$options.classes,\n i18n = _this$options.i18n;\n var attrs = {\n class: classes.arrow + \" \" + (prev ? classes.prev : classes.next),\n type: \"button\",\n ariaLabel: prev ? i18n.prev : i18n.next\n };\n return \"<button \" + this.buildAttrs(attrs) + \"><svg xmlns=\\\"\" + XML_NAME_SPACE + \"\\\" viewBox=\\\"0 0 \" + SIZE + \" \" + SIZE + \"\\\" width=\\\"\" + SIZE + \"\\\" height=\\\"\" + SIZE + \"\\\"><path d=\\\"\" + (this.options.arrowPath || PATH) + \"\\\" /></svg></button>\";\n };\n\n _proto3.html = function html() {\n var _this$config = this.config,\n rootClass = _this$config.rootClass,\n listTag = _this$config.listTag,\n arrows = _this$config.arrows,\n beforeTrack = _this$config.beforeTrack,\n afterTrack = _this$config.afterTrack,\n slider = _this$config.slider,\n beforeSlider = _this$config.beforeSlider,\n afterSlider = _this$config.afterSlider;\n var html = \"\";\n html += \"<div id=\\\"\" + this.id + \"\\\" class=\\\"\" + this.buildClasses() + \" \" + (rootClass || \"\") + \"\\\">\";\n html += \"<style>\" + this.Style.build() + \"</style>\";\n\n if (slider) {\n html += beforeSlider || \"\";\n html += \"<div class=\\\"splide__slider\\\">\";\n }\n\n html += beforeTrack || \"\";\n\n if (arrows) {\n html += this.renderArrows();\n }\n\n html += \"<div class=\\\"splide__track\\\">\";\n html += \"<\" + listTag + \" class=\\\"splide__list\\\">\";\n html += this.renderSlides();\n html += \"</\" + listTag + \">\";\n html += \"</div>\";\n html += afterTrack || \"\";\n\n if (slider) {\n html += \"</div>\";\n html += afterSlider || \"\";\n }\n\n html += \"</div>\";\n return html;\n };\n\n return SplideRenderer;\n}();\n\nexport { CLASSES, CLASS_ACTIVE, CLASS_ARROW, CLASS_ARROWS, CLASS_ARROW_NEXT, CLASS_ARROW_PREV, CLASS_CLONE, CLASS_CONTAINER, CLASS_FOCUS_IN, CLASS_INITIALIZED, CLASS_LIST, CLASS_LOADING, CLASS_NEXT, CLASS_OVERFLOW, CLASS_PAGINATION, CLASS_PAGINATION_PAGE, CLASS_PREV, CLASS_PROGRESS, CLASS_PROGRESS_BAR, CLASS_ROOT, CLASS_SLIDE, CLASS_SPINNER, CLASS_SR, CLASS_TOGGLE, CLASS_TOGGLE_PAUSE, CLASS_TOGGLE_PLAY, CLASS_TRACK, CLASS_VISIBLE, DEFAULTS, EVENT_ACTIVE, EVENT_ARROWS_MOUNTED, EVENT_ARROWS_UPDATED, EVENT_AUTOPLAY_PAUSE, EVENT_AUTOPLAY_PLAY, EVENT_AUTOPLAY_PLAYING, EVENT_CLICK, EVENT_DESTROY, EVENT_DRAG, EVENT_DRAGGED, EVENT_DRAGGING, EVENT_END_INDEX_CHANGED, EVENT_HIDDEN, EVENT_INACTIVE, EVENT_LAZYLOAD_LOADED, EVENT_MOUNTED, EVENT_MOVE, EVENT_MOVED, EVENT_NAVIGATION_MOUNTED, EVENT_OVERFLOW, EVENT_PAGINATION_MOUNTED, EVENT_PAGINATION_UPDATED, EVENT_READY, EVENT_REFRESH, EVENT_RESIZE, EVENT_RESIZED, EVENT_SCROLL, EVENT_SCROLLED, EVENT_SHIFTED, EVENT_SLIDE_KEYDOWN, EVENT_UPDATED, EVENT_VISIBLE, EventBinder, EventInterface, FADE, LOOP, LTR, RTL, RequestInterval, SLIDE, STATUS_CLASSES, Splide, SplideRenderer, State, TTB, Throttle, Splide as default };\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.6\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2023 Notiflix, MIT Licence (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === null) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massege\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimaion is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimaion is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '<span class=\"nx-close-button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><g><path fill=\"' + theType.notiflixIconColor + '\" d=\"M0.38 2.19l7.8 7.81 -7.8 7.81c-0.51,0.5 -0.51,1.31 -0.01,1.81 0.25,0.25 0.57,0.38 0.91,0.38 0.34,0 0.67,-0.14 0.91,-0.38l7.81 -7.81 7.81 7.81c0.24,0.24 0.57,0.38 0.91,0.38 0.34,0 0.66,-0.14 0.9,-0.38 0.51,-0.5 0.51,-1.31 0,-1.81l-7.81 -7.81 7.81 -7.81c0.51,-0.5 0.51,-1.31 0,-1.82 -0.5,-0.5 -1.31,-0.5 -1.81,0l-7.81 7.81 -7.81 -7.81c-0.5,-0.5 -1.31,-0.5 -1.81,0 -0.51,0.51 -0.51,1.32 0,1.82z\"/></g></svg></span>';\n }\n // close buttpon element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '<i style=\"color:' + theType.fontAwesomeIconColor + '; font-size:' + newNotifySettings.fontAwesomeIconSize + ';\" class=\"nx-message-icon nx-message-icon-fa ' + theType.fontAwesomeClassName + ' ' + (newNotifySettings.fontAwesomeIconStyle === 'shadow' ? 'nx-message-icon-fa-shadow' : 'nx-message-icon-fa-basic') + '\"></i><span class=\"nx-message nx-with-icon\">' + message + '</span>' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '<svg class=\"nx-message-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"><g><path fill=\"' + theType.notiflixIconColor + '\" d=\"M20 0c11.03,0 20,8.97 20,20 0,11.03 -8.97,20 -20,20 -11.03,0 -20,-8.97 -20,-20 0,-11.03 8.97,-20 20,-20zm0 37.98c9.92,0 17.98,-8.06 17.98,-17.98 0,-9.92 -8.06,-17.98 -17.98,-17.98 -9.92,0 -17.98,8.06 -17.98,17.98 0,9.92 8.06,17.98 17.98,17.98zm-2.4 -13.29l11.52 -12.96c0.37,-0.41 1.01,-0.45 1.42,-0.08 0.42,0.37 0.46,1 0.09,1.42l-12.16 13.67c-0.19,0.22 -0.46,0.34 -0.75,0.34 -0.23,0 -0.45,-0.07 -0.63,-0.22l-7.6 -6.07c-0.43,-0.35 -0.5,-0.99 -0.16,-1.42 0.35,-0.43 0.99,-0.5 1.42,-0.16l6.85 5.48z\"/></g></svg>';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '<svg class=\"nx-message-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"><g><path fill=\"' + theType.notiflixIconColor + '\" d=\"M20 0c11.03,0 20,8.97 20,20 0,11.03 -8.97,20 -20,20 -11.03,0 -20,-8.97 -20,-20 0,-11.03 8.97,-20 20,-20zm0 37.98c9.92,0 17.98,-8.06 17.98,-17.98 0,-9.92 -8.06,-17.98 -17.98,-17.98 -9.92,0 -17.98,8.06 -17.98,17.98 0,9.92 8.06,17.98 17.98,17.98zm1.42 -17.98l6.13 6.12c0.39,0.4 0.39,1.04 0,1.43 -0.19,0.19 -0.45,0.29 -0.71,0.29 -0.27,0 -0.53,-0.1 -0.72,-0.29l-6.12 -6.13 -6.13 6.13c-0.19,0.19 -0.44,0.29 -0.71,0.29 -0.27,0 -0.52,-0.1 -0.71,-0.29 -0.39,-0.39 -0.39,-1.03 0,-1.43l6.13 -6.12 -6.13 -6.13c-0.39,-0.39 -0.39,-1.03 0,-1.42 0.39,-0.39 1.03,-0.39 1.42,0l6.13 6.12 6.12 -6.12c0.4,-0.39 1.04,-0.39 1.43,0 0.39,0.39 0.39,1.03 0,1.42l-6.13 6.13z\"/></g></svg>';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '<svg class=\"nx-message-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"><g><path fill=\"' + theType.notiflixIconColor + '\" d=\"M21.91 3.48l17.8 30.89c0.84,1.46 -0.23,3.25 -1.91,3.25l-35.6 0c-1.68,0 -2.75,-1.79 -1.91,-3.25l17.8 -30.89c0.85,-1.47 2.97,-1.47 3.82,0zm16.15 31.84l-17.8 -30.89c-0.11,-0.2 -0.41,-0.2 -0.52,0l-17.8 30.89c-0.12,0.2 0.05,0.4 0.26,0.4l35.6 0c0.21,0 0.38,-0.2 0.26,-0.4zm-19.01 -4.12l0 -1.05c0,-0.53 0.42,-0.95 0.95,-0.95 0.53,0 0.95,0.42 0.95,0.95l0 1.05c0,0.53 -0.42,0.95 -0.95,0.95 -0.53,0 -0.95,-0.42 -0.95,-0.95zm0 -4.66l0 -13.39c0,-0.52 0.42,-0.95 0.95,-0.95 0.53,0 0.95,0.43 0.95,0.95l0 13.39c0,0.53 -0.42,0.96 -0.95,0.96 -0.53,0 -0.95,-0.43 -0.95,-0.96z\"/></g></svg>';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '<svg class=\"nx-message-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"><g><path fill=\"' + theType.notiflixIconColor + '\" d=\"M20 0c11.03,0 20,8.97 20,20 0,11.03 -8.97,20 -20,20 -11.03,0 -20,-8.97 -20,-20 0,-11.03 8.97,-20 20,-20zm0 37.98c9.92,0 17.98,-8.06 17.98,-17.98 0,-9.92 -8.06,-17.98 -17.98,-17.98 -9.92,0 -17.98,8.06 -17.98,17.98 0,9.92 8.06,17.98 17.98,17.98zm-0.99 -23.3c0,-0.54 0.44,-0.98 0.99,-0.98 0.55,0 0.99,0.44 0.99,0.98l0 15.86c0,0.55 -0.44,0.99 -0.99,0.99 -0.55,0 -0.99,-0.44 -0.99,-0.99l0 -15.86zm0 -5.22c0,-0.55 0.44,-0.99 0.99,-0.99 0.55,0 0.99,0.44 0.99,0.99l0 1.09c0,0.54 -0.44,0.99 -0.99,0.99 -0.55,0 -0.99,-0.45 -0.99,-0.99l0 -1.09z\"/></g></svg>';\n }\n ntflxNotify.innerHTML = svgIcon + '<span class=\"nx-message nx-with-icon\">' + message + '</span>' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '<span class=\"nx-message\">' + message + '</span>' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElmentsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"9\":\"8f2ac35a7b6f182362e6\",\"2750\":\"e9fc40ca178e321fcacc\",\"3166\":\"0fb25009bd4a0ccf2dd3\",\"3248\":\"f57ec685fd2bff769fde\",\"3581\":\"9f55f18cf65495324bad\",\"3957\":\"ed1f62a6fe835e0052cd\",\"4183\":\"dd25fec6270c10dd4d38\",\"4238\":\"8e7802627d2d005e0f8c\",\"7503\":\"1de040a9d9cb6b59069f\",\"8699\":\"fbd25c2b444e9b97574a\",\"9537\":\"1276a8189bfc53c06a60\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3712: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkconfiguracao\"] = self[\"webpackChunkconfiguracao\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\n__webpack_require__(8595);\n__webpack_require__(1678);\nvar __webpack_exports__ = __webpack_require__(6912);\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","MEDIA_PREFERS_REDUCED_MOTION","STATES","CREATED","MOUNTED","IDLE","MOVING","SCROLLING","DRAGGING","DESTROYED","empty","array","slice","arrayLike","start","end","Array","prototype","call","apply","func","bind","concat","arguments","nextTick","setTimeout","noop","raf","requestAnimationFrame","typeOf","type","subject","isObject","isNull","isArray","isFunction","isString","isUndefined","isHTMLElement","ownerDocument","defaultView","window","HTMLElement","e","toArray","value","forEach","values","iteratee","includes","indexOf","push","items","toggleClass","elm","classes","add","name","classList","addClass","split","append","parent","children","appendChild","before","nodes","ref","node","parentNode","insertBefore","matches","selector","children2","filter","child","firstElementChild","ownKeys","keys","forOwn","object","right","reverse","assign","source","merge","omit","removeAttribute","elms","attrs","attr","setAttribute","value2","String","create","tag","document","createElement","style","prop","getComputedStyle","display","display2","focus","preventScroll","getAttribute","hasClass","className","contains","rect","getBoundingClientRect","remove","removeChild","parseHtml","html","DOMParser","parseFromString","body","prevent","stopPropagation","preventDefault","stopImmediatePropagation","query","querySelector","queryAll","querySelectorAll","removeClass","timeOf","timeStamp","unit","PROJECT_CODE","DATA_ATTRIBUTE","assert","condition","message","Error","min","Math","max","floor","ceil","abs","approximatelyEqual","x","y","epsilon","between","number","exclusive","minimum","maximum","clamp","sign","format","string","replacements","replacement","replace","pad","ids","EventBinder","listeners","forEachEvent","targets","events","events2","eventNS","fragment","callback","options","event","namespace","isEventTarget","remover","removeEventListener","addEventListener","unbind","listener","dispatch","detail","CustomEvent","bubbles","createEvent","initCustomEvent","dispatchEvent","destroy","data","EVENT_MOUNTED","EVENT_READY","EVENT_MOVE","EVENT_MOVED","EVENT_CLICK","EVENT_REFRESH","EVENT_UPDATED","EVENT_RESIZE","EVENT_RESIZED","EVENT_SCROLL","EVENT_SCROLLED","EVENT_DESTROY","EVENT_NAVIGATION_MOUNTED","EVENT_AUTOPLAY_PLAY","EVENT_AUTOPLAY_PAUSE","EVENT_LAZYLOAD_LOADED","EVENT_END_INDEX_CHANGED","EventInterface","Splide2","bus","createDocumentFragment","binder","on","join","off","emit","RequestInterval","interval","onInterval","onUpdate","limit","startTime","id","now","Date","rate","paused","count","update","pause","cancel","cancelAnimationFrame","resume","rewind","set","time","isPaused","ARROW","ARROW_LEFT","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","TTB","ORIENTATION_MAP","width","left","X","Y","ArrowLeft","ArrowRight","ROLE","TAB_INDEX","ARIA_PREFIX","ARIA_CONTROLS","ARIA_CURRENT","ARIA_SELECTED","ARIA_LABEL","ARIA_LABELLEDBY","ARIA_HIDDEN","ARIA_ORIENTATION","ARIA_ROLEDESCRIPTION","ARIA_LIVE","ARIA_BUSY","ARIA_ATOMIC","ALL_ATTRIBUTES","CLASS_PREFIX","STATUS_CLASS_PREFIX","CLASS_ROOT","CLASS_TRACK","CLASS_LIST","CLASS_SLIDE","CLASS_CLONE","CLASS_CONTAINER","CLASS_ARROWS","CLASS_ARROW","CLASS_ARROW_PREV","CLASS_ARROW_NEXT","CLASS_PAGINATION","CLASS_PAGINATION_PAGE","CLASS_PROGRESS_BAR","CLASS_PROGRESS","CLASS_TOGGLE","CLASS_SR","CLASS_INITIALIZED","CLASS_ACTIVE","CLASS_PREV","CLASS_NEXT","CLASS_VISIBLE","CLASS_LOADING","CLASS_FOCUS_IN","CLASS_OVERFLOW","STATUS_CLASSES","CLASSES","slide","clone","arrows","arrow","prev","next","pagination","page","spinner","POINTER_DOWN_EVENTS","POINTER_MOVE_EVENTS","POINTER_UP_EVENTS","SLIDE","LOOP","FADE","INTERVAL_DATA_ATTRIBUTE","SCROLL_LISTENER_OPTIONS","passive","capture","NORMALIZATION_MAP","Spacebar","Right","Left","Up","Down","normalizeKey","KEYBOARD_EVENT","SRC_DATA_ATTRIBUTE","SRCSET_DATA_ATTRIBUTE","IMAGE_SELECTOR","TRIGGER_KEYS","ComponentConstructors","freeze","__proto__","Media","Components2","state","breakpoints","reducedMotion","queries","completely","register","options2","queryList","matchMedia","destroyed","is","direction","merged","reduce","merged2","entry","mount","refresh","opts","base","notify","getPrototypeOf","setup","isMin","mediaQuery","sort","n","m","enable","Direction","resolve","axisOnly","index","match","offset","toLowerCase","charAt","toUpperCase","orient","Elements","track","list","isUsingKey","_EventInterface","root","i18n","elements","slides","rootClasses","trackClasses","prefix","role","find","bar","toggle","tagName","carousel","getClasses","label","labelledby","from","closest","nodeType","parentElement","drag","isNavigation","Slides","_EventInterface2","_Components2$Elements","Slides2","init","forEach$1","Slide2","slideIndex","Components","updateOnMove","slideFocus","styles","isClone","container","initNavigation","controls","splides","map","splide","getAt","slideX","onMove","curr","active","isActive","self","visible","trackRect","slideRect","isVisible","hidden","focusableNodes","activeElement","updateVisibility","cloneStatus","slideLabel","useContainer","isWithin","distance","diff","Slide$1","Slide1","get","excludeClones","matcher","getIn","Controller","toIndex","hasFocus","perPage","images","img","getLength","isEnough","Layout","vertical","rootRect","overflow","_EventInterface3","_Components2$Elements2","styleSlides","cssPadding","resize","force","height","newRect","cssHeight","gap","autoWidth","fixedWidth","cssSlideSize","fixedHeight","autoHeight","isOverflow","padding","heightRatio","listSize","slideSize","withoutGap","Slide","getGap","totalSize","sliderSize","parseFloat","getPadding","Clones","cloneCount","clones","remount","observe","computeCloneCount","isHead","cloneNode","cloneDeep","generate","clones2","fixedSize","Move","Transition","_EventInterface4","_Components2$Layout","_Components2$Directio","_Components2$Elements3","reposition","isBusy","Scroll","jump","translate","toPosition","position","preventLoop","destination","exceededMax","getEnd","shift","loop","backwards","excess","getLimit","size","getPosition","minDistance","Infinity","trimming","trimSpace","trim","move","dest","shifted","exceededLimit","exceededMin","endIndex","slideCount","perMove","_EventInterface5","_Components2$Slides","omitEnd","isLoop","isSlide","getNext","getAdjacent","getPrev","currIndex","prevIndex","onResized","computeDestIndex","snapPage","computeMovableDestIndex","toPage","setIndex","waitForTransition","go","control","allowSameIndex","_ref","indicator","parse","scroll","duration","snap","getIndex","toDest","Arrows","created","wrapperClasses","placeholder","wrapper","enabled","createArrow","prev2","arrowPath","nextIndex","prevLabel","last","nextLabel","first","disabled","Autoplay","hovered","focused","_EventInterface6","_Components2$Elements4","autoplay","stopped","play","resetProgress","stop","autoToggle","pauseOnHover","pauseOnFocus","Cover","cover","cover2","src","_EventInterface8","friction","onScrolled","noConstrain","clear","noDistance","onEnd","to","t","easingFunc","pow","Drag","basePosition","baseEvent","prevBaseEvent","isFree","dragging","clickPrevented","_EventInterface9","_Components2$Directio2","exceeded","disable","onPointerDown","isTouch","isTouchEvent","target2","noDrag","button","onPointerMove","onPointerUp","save","cancelable","diffCoord","expired","diffTime","hasExceeded","isSliderDirection","thresholds","dragMinThreshold","isObj","mouse","touch","shouldStart","velocity","computeVelocity","flickPower","flickMaxPages","computeDestination","rewindByDrag","onClick","orthogonal","coordOf","getBaseEvent","changedTouches","TouchEvent","isDragging","Keyboard","_EventInterface10","keyboard","onKeydown","_disabled","LazyLoad","_EventInterface11","isSequential","lazyLoad","entries","srcset","loadNext","check","preloadPages","load","onLoad","Pagination","paginationClasses","dir","getDirection","nextPage","item","paginationDirection","_button","select","li","class","text","pageX","paginationKeyboard","createPagination","Sync","isParent","sync","Wheel","lastTime","onWheel","deltaY","_min","wheelMinThreshold","sleep","wheelSleep","releaseWheel","shouldPrevent","wheel","Live","live","sr","textContent","DEFAULTS","speed","easing","rewindSpeed","Fade","done","endCallback","transition","getSpeed","useScroll","Splide","_Splide","this","states","_o","_E","defaults","JSON","Constructor","protoProps","_proto","Extensions","_this","_C","_T","Component","component","_this$event","g","newNotifySettings","typesNotify","notifySettings","wrapID","overlayID","opacity","borderRadius","rtl","timeout","messageMaxLength","backOverlay","backOverlayColor","plainText","showOnlyTheLastOne","clickToClose","ID","zindex","fontFamily","fontSize","cssAnimation","cssAnimationDuration","cssAnimationStyle","closeButton","useIcon","useFontAwesome","fontAwesomeIconStyle","fontAwesomeIconSize","success","background","textColor","childClassName","notiflixIconColor","fontAwesomeClassName","fontAwesomeIconColor","failure","warning","info","commonConsoleError","console","error","commonCheckHeadOrBody","element","commonExtendOptions","extended","deep","toString","obj","hasOwnProperty","notifyGetInternalCSSCodes","notifyCreateCounter","notifyCreate","notifyType","callbackOrOptions","Notiflix","Notify","newNotifySettingsBackup","newOptions","htmlPool","theType","toLocaleLowerCase","innerHTML","innerText","substring","ntflxNotifyWrap","getElementById","zIndex","top","bottom","margin","maxHeight","flexWrap","flexDirection","justifyContent","alignItems","pointerEvents","ntflxNotifyOverlay","animationDuration","ntflxNotify","color","closeButtonHTML","svgIcon","notifyWrap","firstChild","eachNotifyElement","timeoutHide","timeoutRemove","hideNotifyElementsAndOverlay","removeOverlay","childElementCount","clearTimeout","removeNotifyElmentsAndWrapper","clickToCloseTimeout","callbackTimeout","autoRemove","allNotifyElmNotTheLastOne","eachNotifyElmNotLastOne","userNotifyOptions","getInternalCSSCodes","styleElementId","internalCSS","head","commonSetInternalCSSCodes","userNotifyExtendOptions","factory","_typeof","o","Symbol","iterator","constructor","_classCallCheck","instance","TypeError","_toPropertyKey","arg","input","hint","prim","toPrimitive","undefined","res","_createClass","staticProps","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","setPrototypeOf","_inherits","subClass","superClass","_possibleConstructorReturn","_getPrototypeOf","_defineProperty","_arrayLikeToArray","arr","len","arr2","ownKeys$6","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread$6","getOwnPropertyDescriptors","defineProperties","consoleLogger","log","args","output","warn","baseLogger","Logger","concreteLogger","logger","debug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","l","observer","defer","rej","promise","Promise","reject","makeString","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","deepExtend","overwrite","regexEscape","str","_entityMap","s","isIE10","navigator","userAgentData","userAgent","chars","deepFind","keySeparator","paths","current","j","mix","endsWith","joinedPath","ownKeys$5","_objectSpread$5","ResourceStore","_EventEmitter","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct$3","result","Super","NewTarget","ns","defaultNS","ignoreJSONStructure","splice","lng","silent","addNamespaces","resources","addResource","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","v","postProcessor","processors","addPostProcessor","module","handle","translator","processor","process","ownKeys$4","_objectSpread$4","checkedLoadedFor","Translator","_isNativeReflectConstruct$2","services","a","copy","language","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","RegExp","matched","test","ki","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","defaultVariables","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","capitalize","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","Number","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","rules","compatibilityJSON","Intl","PluralRules","numbers","plurals","_unused","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","getSuffixRetroCompatible","idx","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","f","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","ownKeys$2","_objectSpread$2","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","opt","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","_opt$split2","iter","minLen","isNaN","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","Connector","_isNativeReflectConstruct$1","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","queue","languages","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","err","addResourceBundle","q","_getLastOfPath2","removePending","loadedKeys","fcName","tried","wait","resolver","read","then","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","clb","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","_objectSpread","I18n","_isNativeReflectConstruct","inst","modules","external","getOwnPropertyNames","isInitialized","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","_this2$store","_this2$store2","finish","initializedStoreOnce","changeLanguage","usedCallback","resolvedLanguage","setResolvedLanguage","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","keyPrefix","fixedT","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","createInstance","reloadResources","use","getFixedT","setDefaultNamespace","loadNamespaces","loadLanguages","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","__webpack_modules__","O","chunkIds","priority","notFulfilled","fulfilled","every","getter","__esModule","d","mode","def","definition","chunkId","all","promises","u","miniCssF","globalThis","Function","url","script","needAttach","scripts","getElementsByTagName","charset","nc","onScriptComplete","onerror","onload","doneFns","toStringTag","scriptUrl","importScripts","location","currentScript","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}