{"version":3,"file":"js/app.js","mappings":"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","sources":["webpack://tpl-2-vue3/./node_modules/core-js/internals/a-callable.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/an-object.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/array-includes.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/array-set-length.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/classof-raw.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/create-property-descriptor.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/define-built-in.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/define-global-property.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/descriptors.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/document-all.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/document-create-element.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/engine-user-agent.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/engine-v8-version.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/enum-bug-keys.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/export.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/fails.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/function-bind-native.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/function-call.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/function-name.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/function-uncurry-this.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/get-built-in.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/get-method.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/global.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/has-own-property.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/hidden-keys.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/ie8-dom-define.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/indexed-object.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/inspect-source.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/internal-state.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-array.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-callable.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-forced.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-object.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-pure.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/is-symbol.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/length-of-array-like.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/make-built-in.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/math-trunc.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-define-property.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-keys-internal.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/own-keys.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/require-object-coercible.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/shared-key.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/shared-store.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/shared.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-absolute-index.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-indexed-object.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-length.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-object.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-primitive.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/to-property-key.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/try-to-string.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/uid.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://tpl-2-vue3/./node_modules/core-js/internals/well-known-symbol.js","webpack://tpl-2-vue3/./node_modules/core-js/modules/es.array.push.js","webpack://tpl-2-vue3/./node_modules/core-js/modules/es.array.unshift.js","webpack://tpl-2-vue3/./src/js/AppConfig.ts","webpack://tpl-2-vue3/./src/components/ScrollToTop.vue?2c22","webpack://tpl-2-vue3/./src/components/ScrollToTop.vue","webpack://tpl-2-vue3/../source/LocaleDataStore.js","webpack://tpl-2-vue3/../source/resolveLocale.js","webpack://tpl-2-vue3/../source/PluralRuleFunctions.js","webpack://tpl-2-vue3/../source/getPluralRulesLocale.js","webpack://tpl-2-vue3/../source/PluralRules.js","webpack://tpl-2-vue3/../source/RelativeTimeFormat.js","webpack://tpl-2-vue3/../source/cache.js","webpack://tpl-2-vue3/../source/locale.js","webpack://tpl-2-vue3/../source/isStyleObject.js","webpack://tpl-2-vue3/../../source/steps/units.js","webpack://tpl-2-vue3/../../source/steps/getStepDenominator.js","webpack://tpl-2-vue3/../source/round.js","webpack://tpl-2-vue3/../../source/steps/getStepMinTime.js","webpack://tpl-2-vue3/../../source/steps/getStep.js","webpack://tpl-2-vue3/../../source/steps/getTimeToNextUpdateForUnit.js","webpack://tpl-2-vue3/../../source/steps/getTimeToNextUpdate.js","webpack://tpl-2-vue3/../../source/steps/round.js","webpack://tpl-2-vue3/../../source/style/round.js","webpack://tpl-2-vue3/../../source/style/roundMinute.js","webpack://tpl-2-vue3/../../source/steps/approximate.js","webpack://tpl-2-vue3/../../source/style/approximate.js","webpack://tpl-2-vue3/../../source/style/approximateTime.js","webpack://tpl-2-vue3/../../source/steps/helpers.js","webpack://tpl-2-vue3/../../source/style/twitter.js","webpack://tpl-2-vue3/../../source/style/twitterNow.js","webpack://tpl-2-vue3/../../source/style/twitterMinute.js","webpack://tpl-2-vue3/../../source/style/twitterMinuteNow.js","webpack://tpl-2-vue3/../../source/style/twitterFirstMinute.js","webpack://tpl-2-vue3/../../source/style/mini.js","webpack://tpl-2-vue3/../../source/style/miniNow.js","webpack://tpl-2-vue3/../../source/style/miniMinute.js","webpack://tpl-2-vue3/../../source/style/miniMinuteNow.js","webpack://tpl-2-vue3/../../source/style/getStyleByName.js","webpack://tpl-2-vue3/../source/TimeAgo.js","webpack://tpl-2-vue3/./node_modules/javascript-time-ago/locale/ru.json.js","webpack://tpl-2-vue3/./src/js/helpers/Formatters.ts","webpack://tpl-2-vue3/./src/components/VoteBox.vue?9cd3","webpack://tpl-2-vue3/./src/components/VoteBox.vue","webpack://tpl-2-vue3/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://tpl-2-vue3/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://tpl-2-vue3/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://tpl-2-vue3/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://tpl-2-vue3/./src/configs/rotator.ts","webpack://tpl-2-vue3/./src/js/Rotator.ts","webpack://tpl-2-vue3/./src/configs/galleryRotatorWatcher.ts","webpack://tpl-2-vue3/./src/js/GalleryRotatorWatch.ts","webpack://tpl-2-vue3/./src/main.ts","webpack://tpl-2-vue3/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://tpl-2-vue3/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://tpl-2-vue3/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://tpl-2-vue3/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://tpl-2-vue3/./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js","webpack://tpl-2-vue3/./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js","webpack://tpl-2-vue3/./node_modules/vue/dist/vue.esm-bundler.js","webpack://tpl-2-vue3/webpack/bootstrap","webpack://tpl-2-vue3/webpack/runtime/chunk loaded","webpack://tpl-2-vue3/webpack/runtime/compat get default export","webpack://tpl-2-vue3/webpack/runtime/define property getters","webpack://tpl-2-vue3/webpack/runtime/ensure chunk","webpack://tpl-2-vue3/webpack/runtime/get javascript chunk filename","webpack://tpl-2-vue3/webpack/runtime/get mini-css chunk filename","webpack://tpl-2-vue3/webpack/runtime/global","webpack://tpl-2-vue3/webpack/runtime/hasOwnProperty shorthand","webpack://tpl-2-vue3/webpack/runtime/load script","webpack://tpl-2-vue3/webpack/runtime/make namespace object","webpack://tpl-2-vue3/webpack/runtime/publicPath","webpack://tpl-2-vue3/webpack/runtime/css loading","webpack://tpl-2-vue3/webpack/runtime/jsonp chunk loading","webpack://tpl-2-vue3/webpack/startup"],"sourcesContent":["var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.27.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.27.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar SILENT_ON_NON_WRITABLE_LENGTH = !function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_TO_LENGTH || SILENT_ON_NON_WRITABLE_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\n\n// IE8-\nvar INCORRECT_RESULT = [].unshift(0) !== 1;\n\n// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError\nvar SILENT_ON_NON_WRITABLE_LENGTH = !function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).unshift();\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\n// `Array.prototype.unshift` method\n// https://tc39.es/ecma262/#sec-array.prototype.unshift\n$({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_RESULT || SILENT_ON_NON_WRITABLE_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n unshift: function unshift(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n if (argCount) {\n doesNotExceedSafeInteger(len + argCount);\n var k = len;\n while (k--) {\n var to = k + argCount;\n if (k in O) O[to] = O[k];\n else deletePropertyOrThrow(O, to);\n }\n for (var j = 0; j < argCount; j++) {\n O[j] = arguments[j];\n }\n } return setArrayLength(O, len + argCount);\n }\n});\n","import type { RotatorOptions as VideoRotatorConfig} from '@/js/Rotator'\nimport type { RotatorConfig as GalleryRotatorConfig } from '@/configs/galleryRotatorWatcher'\n\ndeclare global {\n interface Window {\n AppConfig: AppConfig | undefined;\n }\n}\n\ntype AppConfig = {\n videoRotator: Partial\n galleryRotator: Partial\n}\n\nconst config: AppConfig = {\n videoRotator: {\n enabled: false,\n },\n galleryRotator: {\n enabled: false,\n }\n}\n\nif (Object.prototype.hasOwnProperty.call(window, 'AppConfig')) {\n Object.assign(config, window.AppConfig)\n}\n\nexport default config\n","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, withModifiers as _withModifiers, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"onClick\"]\n\nimport { ref, withDefaults } from 'vue'\n\ntype ComponentProperties = {\n offset?: number;\n offsetOpacity?: number;\n duration?: number;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ScrollToTop',\n props: {\n offset: { default: 300 },\n offsetOpacity: { default: 1200 },\n duration: { default: 700 }\n },\n setup(__props: any) {\n\nconst props = __props as { offset: number, offsetOpacity: number, duration: number };\n\nconst scrolling = ref(false)\nconst lastScrollOffset = ref(0)\nconst isShow = ref(false)\n\n\n\nconst detectScrolling = (): void => {\n if (scrolling.value === false) {\n scrolling.value = true\n\n !window.requestAnimationFrame ? setTimeout(checkBackToTop, 250) : window.requestAnimationFrame(checkBackToTop)\n }\n\n const scrollOffset = window.scrollY || document.documentElement.scrollTop // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n\n isShow.value = ((scrollOffset < lastScrollOffset.value && scrollOffset >= props.offset))\n\n lastScrollOffset.value = scrollOffset <= 0 ? 0 : scrollOffset // For Mobile or negative scrolling\n}\n\nconst checkBackToTop = () => {\n const scrollOffset = window.scrollY || document.documentElement.scrollTop\n\n if (isShow.value === true && scrollOffset <= props.offset) {\n isShow.value = false\n }\n\n scrolling.value = false\n}\n\nconst scrollTop = () => {\n if (!window.requestAnimationFrame) {\n window.scrollTo(0, 0)\n\n return\n }\n\n const start = window.scrollY || document.documentElement.scrollTop\n let currentTime = 0\n\n const animateScroll = (timestamp: number) => {\n if (!currentTime) {\n currentTime = timestamp\n }\n\n const progress = timestamp - currentTime\n const val = Math.max(easeInOutQuad(progress, start, -start, props.duration), 0)\n\n window.scrollTo(0, val)\n\n if (progress < props.duration) {\n window.requestAnimationFrame(animateScroll)\n }\n }\n\n window.requestAnimationFrame(animateScroll)\n}\n\nconst easeInOutQuad = (t: number, b: number, c: number, d: number): number => {\n t /= d / 2\n\n if (t < 1) {\n return c / 2 * t * t + b\n }\n\n t--\n\n return -c / 2 * (t * (t - 2) - 1) + b\n}\n\nwindow.addEventListener('scroll', detectScrolling)\n// window.removeEventListener('scroll', detectScrolling)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"scroll-to-top\", { '-show': isShow.value }]),\n onClick: _withModifiers(scrollTop, [\"prevent\"])\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1))\n}\n}\n\n})","import script from \"./ScrollToTop.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ScrollToTop.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","// Fallback locale.\r\n// (when not a single one of the supplied \"preferred\" locales is available)\r\nlet defaultLocale = 'en'\r\n\r\n// For all locales added\r\n// their relative time formatter messages will be stored here.\r\nconst localesData = {}\r\n\r\n// According to the spec BCP 47 language tags are case-insensitive.\r\n// https://tools.ietf.org/html/rfc5646\r\nconst lowercaseLocaleLookup = {}\r\n\r\nexport function getDefaultLocale() {\r\n return defaultLocale\r\n}\r\n\r\nexport function setDefaultLocale(locale) {\r\n defaultLocale = locale\r\n}\r\n\r\n/**\r\n * Gets locale data previously added by `addLocaleData()`.\r\n * @return {object} [localeData]\r\n */\r\nexport function getLocaleData(locale) {\r\n\treturn localesData[locale]\r\n}\r\n\r\n/**\r\n * Adds locale data.\r\n * Is called by `RelativeTimeFormat.addLocale(...)`.\r\n * @param {object} localeData\r\n */\r\nexport function addLocaleData(localeData) {\r\n if (!localeData) {\r\n throw new Error('No locale data passed')\r\n }\r\n // This locale data is stored in a global variable\r\n // and later used when calling `.format(time)`.\r\n localesData[localeData.locale] = localeData\r\n lowercaseLocaleLookup[localeData.locale.toLowerCase()] = localeData.locale\r\n}\r\n\r\n/**\r\n * Returns a locale for which locale data has been added\r\n * via `RelativeTimeFormat.addLocale(...)`.\r\n * @param {string} locale\r\n * @return {string} [locale]\r\n */\r\nexport function resolveLocale(locale) {\r\n\tif (localesData[locale]) {\r\n\t\treturn locale\r\n\t}\r\n\tif (lowercaseLocaleLookup[locale.toLowerCase()]) {\r\n\t\treturn lowercaseLocaleLookup[locale.toLowerCase()]\r\n\t}\r\n}","import {\r\n resolveLocale as resolveLocaleForData\r\n} from './LocaleDataStore.js'\r\n\r\n/**\r\n * Resolves a locale to a supported one (if any).\r\n * @param {string} locale\r\n * @param {Object} [options] - An object that may have the following property:\r\n * @param {string} [options.localeMatcher=\"lookup\"] - The locale matching algorithm to use. Possible values are \"lookup\" and \"best fit\". Currently only \"lookup\" is supported.\r\n * @return {string} [locale]\r\n * @example\r\n * // Returns \"sr\"\r\n * resolveLocale(\"sr-Cyrl-BA\")\r\n * // Returns `undefined`\r\n * resolveLocale(\"xx-Latn\")\r\n */\r\nexport default function resolveLocale(locale, options = {}) {\r\n const localeMatcher = options.localeMatcher || 'lookup'\r\n switch (localeMatcher) {\r\n case 'lookup':\r\n return resolveLocaleLookup(locale)\r\n // \"best fit\" locale matching is not supported.\r\n // https://github.com/catamphetamine/relative-time-format/issues/2\r\n case 'best fit':\r\n // return resolveLocaleBestFit(locale)\r\n return resolveLocaleLookup(locale)\r\n default:\r\n throw new RangeError(`Invalid \"localeMatcher\" option: ${localeMatcher}`)\r\n }\r\n}\r\n\r\n/**\r\n * Resolves a locale to a supported one (if any).\r\n * Starts from the most specific locale and gradually\r\n * falls back to less specific ones.\r\n * This is a basic implementation of the \"lookup\" algorithm.\r\n * https://tools.ietf.org/html/rfc4647#section-3.4\r\n * @param {string} locale\r\n * @return {string} [locale]\r\n * @example\r\n * // Returns \"sr\"\r\n * resolveLocaleLookup(\"sr-Cyrl-BA\")\r\n * // Returns `undefined`\r\n * resolveLocaleLookup(\"xx-Latn\")\r\n */\r\nexport function resolveLocaleLookup(locale) {\r\n const resolvedLocale = resolveLocaleForData(locale)\r\n if (resolvedLocale) {\r\n return resolvedLocale\r\n }\r\n // `sr-Cyrl-BA` -> `sr-Cyrl` -> `sr`.\r\n const parts = locale.split('-')\r\n while (locale.length > 1) {\r\n parts.pop()\r\n locale = parts.join('-')\r\n const resolvedLocale = resolveLocaleForData(locale)\r\n if (resolvedLocale) {\r\n return resolvedLocale\r\n }\r\n }\r\n}\r\n","// (this file was autogenerated by `generate-locales`)\n// \"plural rules\" functions are not stored in locale JSON files because they're not strings.\n// This file isn't big — it's about 5 kilobytes in size (minified).\n// Alternatively, the pluralization rules for each locale could be stored\n// in their JSON files in a non-parsed form and later parsed via `make-plural` library.\n// But `make-plural` library itself is relatively big in size:\n// `make-plural.min.js` is about 6 kilobytes (https://unpkg.com/make-plural/).\n// So, it's more practical to bypass runtime `make-plural` pluralization rules compilation\n// and just include the already compiled pluarlization rules for all locales in the library code.\n\nvar $ = {\n\taf: (n) => n == 1 ? 'one' : 'other',\n\tam: (n) => n >= 0 && n <= 1 ? 'one' : 'other',\n\tar: (n) => {\n\t\tconst s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n\t\treturn n == 0 ? 'zero'\n\t\t\t: n == 1 ? 'one'\n\t\t\t: n == 2 ? 'two'\n\t\t\t: (n100 >= 3 && n100 <= 10) ? 'few'\n\t\t\t: (n100 >= 11 && n100 <= 99) ? 'many'\n\t\t\t: 'other';\n\t},\n\tast: (n) => {\n\t\tconst s = String(n).split('.'), v0 = !s[1];\n\t\treturn n == 1 && v0 ? 'one' : 'other';\n\t},\n\tbe: (n) => {\n\t\tconst s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n\t\treturn n10 == 1 && n100 != 11 ? 'one'\n\t\t\t: (n10 >= 2 && n10 <= 4) && (n100 < 12 || n100 > 14) ? 'few'\n\t\t\t: t0 && n10 == 0 || (n10 >= 5 && n10 <= 9) || (n100 >= 11 && n100 <= 14) ? 'many'\n\t\t\t: 'other';\n\t},\n\tbr: (n) => {\n\t\tconst s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), n1000000 = t0 && s[0].slice(-6);\n\t\treturn n10 == 1 && n100 != 11 && n100 != 71 && n100 != 91 ? 'one'\n\t\t\t: n10 == 2 && n100 != 12 && n100 != 72 && n100 != 92 ? 'two'\n\t\t\t: ((n10 == 3 || n10 == 4) || n10 == 9) && (n100 < 10 || n100 > 19) && (n100 < 70 || n100 > 79) && (n100 < 90 || n100 > 99) ? 'few'\n\t\t\t: n != 0 && t0 && n1000000 == 0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tbs: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n\t\treturn v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'\n\t\t\t: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'\n\t\t\t: 'other';\n\t},\n\tca: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n\t\treturn n == 1 && v0 ? 'one'\n\t\t\t: i != 0 && i1000000 == 0 && v0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tceb: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);\n\t\treturn v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n\t},\n\tcs: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1];\n\t\treturn n == 1 && v0 ? 'one'\n\t\t\t: (i >= 2 && i <= 4) && v0 ? 'few'\n\t\t\t: !v0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tcy: (n) => n == 0 ? 'zero'\n\t\t\t: n == 1 ? 'one'\n\t\t\t: n == 2 ? 'two'\n\t\t\t: n == 3 ? 'few'\n\t\t\t: n == 6 ? 'many'\n\t\t\t: 'other',\n\tda: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], t0 = Number(s[0]) == n;\n\t\treturn n == 1 || !t0 && (i == 0 || i == 1) ? 'one' : 'other';\n\t},\n\tdsb: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);\n\t\treturn v0 && i100 == 1 || f100 == 1 ? 'one'\n\t\t\t: v0 && i100 == 2 || f100 == 2 ? 'two'\n\t\t\t: v0 && (i100 == 3 || i100 == 4) || (f100 == 3 || f100 == 4) ? 'few'\n\t\t\t: 'other';\n\t},\n\tdz: (n) => 'other',\n\tes: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n\t\treturn n == 1 ? 'one'\n\t\t\t: i != 0 && i1000000 == 0 && v0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tff: (n) => n >= 0 && n < 2 ? 'one' : 'other',\n\tfr: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n\t\treturn n >= 0 && n < 2 ? 'one'\n\t\t\t: i != 0 && i1000000 == 0 && v0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tga: (n) => {\n\t\tconst s = String(n).split('.'), t0 = Number(s[0]) == n;\n\t\treturn n == 1 ? 'one'\n\t\t\t: n == 2 ? 'two'\n\t\t\t: (t0 && n >= 3 && n <= 6) ? 'few'\n\t\t\t: (t0 && n >= 7 && n <= 10) ? 'many'\n\t\t\t: 'other';\n\t},\n\tgd: (n) => {\n\t\tconst s = String(n).split('.'), t0 = Number(s[0]) == n;\n\t\treturn (n == 1 || n == 11) ? 'one'\n\t\t\t: (n == 2 || n == 12) ? 'two'\n\t\t\t: ((t0 && n >= 3 && n <= 10) || (t0 && n >= 13 && n <= 19)) ? 'few'\n\t\t\t: 'other';\n\t},\n\the: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1];\n\t\treturn i == 1 && v0 || i == 0 && !v0 ? 'one'\n\t\t\t: i == 2 && v0 ? 'two'\n\t\t\t: 'other';\n\t},\n\tis: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], t = (s[1] || '').replace(/0+$/, ''), t0 = Number(s[0]) == n, i10 = i.slice(-1), i100 = i.slice(-2);\n\t\treturn t0 && i10 == 1 && i100 != 11 || t % 10 == 1 && t % 100 != 11 ? 'one' : 'other';\n\t},\n\tksh: (n) => n == 0 ? 'zero'\n\t\t\t: n == 1 ? 'one'\n\t\t\t: 'other',\n\tlt: (n) => {\n\t\tconst s = String(n).split('.'), f = s[1] || '', t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n\t\treturn n10 == 1 && (n100 < 11 || n100 > 19) ? 'one'\n\t\t\t: (n10 >= 2 && n10 <= 9) && (n100 < 11 || n100 > 19) ? 'few'\n\t\t\t: f != 0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tlv: (n) => {\n\t\tconst s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), f100 = f.slice(-2), f10 = f.slice(-1);\n\t\treturn t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'\n\t\t\t: n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'\n\t\t\t: 'other';\n\t},\n\tmk: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n\t\treturn v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : 'other';\n\t},\n\tmt: (n) => {\n\t\tconst s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n\t\treturn n == 1 ? 'one'\n\t\t\t: n == 2 ? 'two'\n\t\t\t: n == 0 || (n100 >= 3 && n100 <= 10) ? 'few'\n\t\t\t: (n100 >= 11 && n100 <= 19) ? 'many'\n\t\t\t: 'other';\n\t},\n\tpa: (n) => (n == 0 || n == 1) ? 'one' : 'other',\n\tpl: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);\n\t\treturn n == 1 && v0 ? 'one'\n\t\t\t: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'\n\t\t\t: v0 && i != 1 && (i10 == 0 || i10 == 1) || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 12 && i100 <= 14) ? 'many'\n\t\t\t: 'other';\n\t},\n\tpt: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n\t\treturn (i == 0 || i == 1) ? 'one'\n\t\t\t: i != 0 && i1000000 == 0 && v0 ? 'many'\n\t\t\t: 'other';\n\t},\n\tro: (n) => {\n\t\tconst s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n\t\treturn n == 1 && v0 ? 'one'\n\t\t\t: !v0 || n == 0 || n != 1 && (n100 >= 1 && n100 <= 19) ? 'few'\n\t\t\t: 'other';\n\t},\n\tru: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);\n\t\treturn v0 && i10 == 1 && i100 != 11 ? 'one'\n\t\t\t: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'\n\t\t\t: v0 && i10 == 0 || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 11 && i100 <= 14) ? 'many'\n\t\t\t: 'other';\n\t},\n\tse: (n) => n == 1 ? 'one'\n\t\t\t: n == 2 ? 'two'\n\t\t\t: 'other',\n\tsi: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], f = s[1] || '';\n\t\treturn (n == 0 || n == 1) || i == 0 && f == 1 ? 'one' : 'other';\n\t},\n\tsl: (n) => {\n\t\tconst s = String(n).split('.'), i = s[0], v0 = !s[1], i100 = i.slice(-2);\n\t\treturn v0 && i100 == 1 ? 'one'\n\t\t\t: v0 && i100 == 2 ? 'two'\n\t\t\t: v0 && (i100 == 3 || i100 == 4) || !v0 ? 'few'\n\t\t\t: 'other';\n\t}\n}\n\n$.as = $.am\n$.az = $.af\n$.bg = $.af\n$.bn = $.am\n$.brx = $.af\n$.ce = $.af\n$.chr = $.af\n$.de = $.ast\n$.ee = $.af\n$.el = $.af\n$.en = $.ast\n$.et = $.ast\n$.eu = $.af\n$.fa = $.am\n$.fi = $.ast\n$.fil = $.ceb\n$.fo = $.af\n$.fur = $.af\n$.fy = $.ast\n$.gl = $.ast\n$.gu = $.am\n$.ha = $.af\n$.hi = $.am\n$.hr = $.bs\n$.hsb = $.dsb\n$.hu = $.af\n$.hy = $.ff\n$.ia = $.ast\n$.id = $.dz\n$.ig = $.dz\n$.it = $.ca\n$.ja = $.dz\n$.jgo = $.af\n$.jv = $.dz\n$.ka = $.af\n$.kea = $.dz\n$.kk = $.af\n$.kl = $.af\n$.km = $.dz\n$.kn = $.am\n$.ko = $.dz\n$.ks = $.af\n$.ku = $.af\n$.ky = $.af\n$.lb = $.af\n$.lkt = $.dz\n$.lo = $.dz\n$.ml = $.af\n$.mn = $.af\n$.mr = $.af\n$.ms = $.dz\n$.my = $.dz\n$.nb = $.af\n$.ne = $.af\n$.nl = $.ast\n$.nn = $.af\n$.no = $.af\n$.or = $.af\n$.pcm = $.am\n$.ps = $.af\n$.rm = $.af\n$.sah = $.dz\n$.sc = $.ast\n$.sd = $.af\n$.sk = $.cs\n$.so = $.af\n$.sq = $.af\n$.sr = $.bs\n$.su = $.dz\n$.sv = $.ast\n$.sw = $.ast\n$.ta = $.af\n$.te = $.af\n$.th = $.dz\n$.ti = $.pa\n$.tk = $.af\n$.to = $.dz\n$.tr = $.af\n$.ug = $.af\n$.uk = $.ru\n$.ur = $.ast\n$.uz = $.af\n$.vi = $.dz\n$.wae = $.af\n$.wo = $.dz\n$.xh = $.af\n$.yi = $.ast\n$.yo = $.dz\n$.yue = $.dz\n$.zh = $.dz\n$.zu = $.am\n\nexport default $","/**\r\n * Returns a `locale` for which a function exists in `./PluralRuleFunctions.js`.\r\n * @param {string} locale\r\n * @return {string}\r\n * @example\r\n * getPluralRulesLocale(\"ru-RU-Cyrl\") // Returns \"ru\".\r\n */\r\nexport default function getPluralRulesLocale(locale) {\r\n\t// \"pt\" language is the only one having different pluralization rules\r\n\t// for the one (\"pt\") (Portuguese) locale and the other (\"pt-PT\") (European Portuguese).\r\n\t// http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html\r\n\t// (see the entries for \"pt\" and \"pt_PT\" there)\r\n\tif (locale === 'pt-PT') {\r\n\t\treturn locale\r\n\t}\r\n\treturn getLanguageFromLanguageTag(locale)\r\n}\r\n\r\n/**\r\n * Extracts language from an IETF BCP 47 language tag.\r\n * @param {string} languageTag - IETF BCP 47 language tag.\r\n * @return {string}\r\n * @example\r\n * // Returns \"he\"\r\n * getLanguageFromLanguageTag(\"he-IL-u-ca-hebrew-tz-jeruslm\")\r\n * // Returns \"ar\"\r\n * getLanguageFromLanguageTag(\"ar-u-nu-latn\")\r\n */\r\nconst LANGUAGE_REG_EXP = /^([a-z0-9]+)/i\r\nfunction getLanguageFromLanguageTag(languageTag) {\r\n\tconst match = languageTag.match(LANGUAGE_REG_EXP)\r\n\tif (!match) {\r\n\t\tthrow new TypeError(`Invalid locale: ${languageTag}`)\r\n\t}\r\n\treturn match[1]\r\n}\r\n","// Importing `PluralRule` polyfill from a separate package\r\n// results in a bundle that is larger by 1kB for some reason.\r\n// export { default as default } from 'intl-plural-rules-polyfill/cardinal'\r\n\r\nimport PluralRuleFunctions from \"./PluralRuleFunctions.js\"\r\nimport getPluralRulesLocale from \"./getPluralRulesLocale.js\"\r\n\r\n/**\r\n * `Intl.PluralRules` polyfill.\r\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules\r\n */\r\nexport default class PluralRules {\r\n\tconstructor(locale, options) {\r\n\t\tconst locales = PluralRules.supportedLocalesOf(locale)\r\n\t\tif (locales.length === 0) {\r\n\t\t\tthrow new RangeError(\"Unsupported locale: \" + locale)\r\n\t\t}\r\n\t\tif (options && options.type !== \"cardinal\") {\r\n\t\t\tthrow new RangeError(\"Only \\\"cardinal\\\" \\\"type\\\" is supported\")\r\n\t\t}\r\n\t\tthis.$ = PluralRuleFunctions[getPluralRulesLocale(locales[0])]\r\n\t}\r\n\tselect(number) {\r\n\t\treturn this.$(number)\r\n\t}\r\n\tstatic supportedLocalesOf(locales) {\r\n\t\tif (typeof locales === \"string\") {\r\n\t\t\tlocales = [locales]\r\n\t\t}\r\n\t\treturn locales.filter(locale => PluralRuleFunctions[getPluralRulesLocale(locale)])\r\n\t}\r\n}","import {\r\n getDefaultLocale,\r\n setDefaultLocale,\r\n getLocaleData,\r\n addLocaleData\r\n} from './LocaleDataStore.js'\r\n\r\nimport resolveLocale from './resolveLocale.js'\r\nimport PluralRules from './PluralRules.js'\r\n// Importing `PluralRule` polyfill from a separate package\r\n// results in a bundle that is larger by 1kB for some reason.\r\n// import PluralRules from 'intl-plural-rules-polyfill/cardinal'\r\n\r\n// Valid time units.\r\nexport const UNITS = [\r\n \"second\",\r\n \"minute\",\r\n \"hour\",\r\n \"day\",\r\n \"week\",\r\n \"month\",\r\n \"quarter\",\r\n \"year\"\r\n]\r\n\r\n// Valid values for the `numeric` option.\r\nconst NUMERIC_VALUES = [\r\n \"auto\",\r\n \"always\"\r\n]\r\n\r\n// Valid values for the `style` option.\r\nconst STYLE_VALUES = [\r\n \"long\",\r\n \"short\",\r\n \"narrow\"\r\n]\r\n\r\n// Valid values for the `localeMatcher` option.\r\nconst LOCALE_MATCHER_VALUES = [\r\n \"lookup\",\r\n \"best fit\"\r\n]\r\n\r\n/**\r\n * Polyfill for `Intl.RelativeTimeFormat` proposal.\r\n * https://github.com/tc39/proposal-intl-relative-time\r\n * https://github.com/tc39/proposal-intl-relative-time/issues/55\r\n */\r\nexport default class RelativeTimeFormat {\r\n /**\r\n * @param {(string|string[])} [locales] - Preferred locales (or locale).\r\n * @param {Object} [options] - Formatting options.\r\n * @param {string} [options.style=\"long\"] - One of: \"long\", \"short\", \"narrow\".\r\n * @param {string} [options.numeric=\"always\"] - (Version >= 2) One of: \"always\", \"auto\".\r\n * @param {string} [options.localeMatcher=\"lookup\"] - One of: \"lookup\", \"best fit\". Currently only \"lookup\" is supported.\r\n */\r\n constructor(locales = [], options = {}) {\r\n const {\r\n numeric,\r\n style,\r\n localeMatcher\r\n } = options\r\n\r\n this.numeric = \"always\"\r\n this.style = \"long\"\r\n this.localeMatcher = \"lookup\"\r\n\r\n // Set `numeric` option.\r\n if (numeric !== undefined) {\r\n if (NUMERIC_VALUES.indexOf(numeric) < 0) {\r\n throw new RangeError(`Invalid \"numeric\" option: ${numeric}`)\r\n }\r\n this.numeric = numeric\r\n }\r\n\r\n // Set `style` option.\r\n if (style !== undefined) {\r\n if (STYLE_VALUES.indexOf(style) < 0) {\r\n throw new RangeError(`Invalid \"style\" option: ${style}`)\r\n }\r\n this.style = style\r\n }\r\n\r\n // Set `localeMatcher` option.\r\n if (localeMatcher !== undefined) {\r\n if (LOCALE_MATCHER_VALUES.indexOf(localeMatcher) < 0) {\r\n throw new RangeError(`Invalid \"localeMatcher\" option: ${localeMatcher}`)\r\n }\r\n this.localeMatcher = localeMatcher\r\n }\r\n\r\n // Set `locale`.\r\n // Convert `locales` to an array.\r\n if (typeof locales === 'string') {\r\n locales = [locales]\r\n }\r\n // Add default locale.\r\n locales.push(getDefaultLocale())\r\n // Choose the most appropriate locale.\r\n this.locale = RelativeTimeFormat.supportedLocalesOf(locales, {\r\n localeMatcher: this.localeMatcher\r\n })[0]\r\n if (!this.locale) {\r\n throw new Error(\"No supported locale was found\")\r\n }\r\n\r\n // Construct an `Intl.PluralRules` instance (polyfill).\r\n if (PluralRules.supportedLocalesOf(this.locale).length > 0) {\r\n this.pluralRules = new PluralRules(this.locale)\r\n } else {\r\n console.warn(`\"${this.locale}\" locale is not supported`)\r\n }\r\n\r\n // Use `Intl.NumberFormat` for formatting numbers (when available).\r\n if (typeof Intl !== 'undefined' && Intl.NumberFormat) {\r\n this.numberFormat = new Intl.NumberFormat(this.locale)\r\n this.numberingSystem = this.numberFormat.resolvedOptions().numberingSystem\r\n } else {\r\n this.numberingSystem = 'latn'\r\n }\r\n\r\n this.locale = resolveLocale(this.locale, {\r\n localeMatcher: this.localeMatcher\r\n })\r\n }\r\n\r\n /**\r\n * Formats time `number` in `units` (either in past or in future).\r\n * @param {number} number - Time interval value.\r\n * @param {string} unit - Time interval measurement unit.\r\n * @return {string}\r\n * @throws {RangeError} If unit is not one of \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\".\r\n * @example\r\n * // Returns \"2 days ago\"\r\n * rtf.format(-2, \"day\")\r\n * // Returns \"in 5 minutes\"\r\n * rtf.format(5, \"minute\")\r\n */\r\n format() {\r\n const [number, unit] = parseFormatArgs(arguments)\r\n return this.getRule(number, unit).replace('{0}', this.formatNumber(Math.abs(number)))\r\n }\r\n\r\n /**\r\n * Formats time `number` in `units` (either in past or in future).\r\n * @param {number} number - Time interval value.\r\n * @param {string} unit - Time interval measurement unit.\r\n * @return {Object[]} The parts (`{ type, value, unit? }`).\r\n * @throws {RangeError} If unit is not one of \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\".\r\n * @example\r\n * // Version 1 (deprecated).\r\n * // Returns [\r\n * // { type: \"literal\", value: \"in \" },\r\n * // { type: \"day\", value: \"100\" },\r\n * // { type: \"literal\", value: \" days\" }\r\n * // ]\r\n * rtf.formatToParts(100, \"day\")\r\n * //\r\n * // Version 2.\r\n * // Returns [\r\n * // { type: \"literal\", value: \"in \" },\r\n * // { type: \"integer\", value: \"100\", unit: \"day\" },\r\n * // { type: \"literal\", value: \" days\" }\r\n * // ]\r\n * rtf.formatToParts(100, \"day\")\r\n */\r\n formatToParts() {\r\n const [number, unit] = parseFormatArgs(arguments)\r\n const rule = this.getRule(number, unit)\r\n const valueIndex = rule.indexOf(\"{0}\")\r\n // \"yesterday\"/\"today\"/\"tomorrow\".\r\n if (valueIndex < 0) {\r\n return [{\r\n type: \"literal\",\r\n value: rule\r\n }]\r\n }\r\n let parts = []\r\n if (valueIndex > 0) {\r\n parts.push({\r\n type: \"literal\",\r\n value: rule.slice(0, valueIndex)\r\n })\r\n }\r\n parts = parts.concat(\r\n this.formatNumberToParts(Math.abs(number))\r\n .map(part => ({ ...part, unit }))\r\n )\r\n if (valueIndex + \"{0}\".length < rule.length - 1) {\r\n parts.push({\r\n type: \"literal\",\r\n value: rule.slice(valueIndex + \"{0}\".length)\r\n })\r\n }\r\n return parts\r\n }\r\n\r\n /**\r\n * Returns formatting rule for `value` in `units` (either in past or in future).\r\n * @param {number} value - Time interval value.\r\n * @param {string} unit - Time interval measurement unit.\r\n * @return {string}\r\n * @throws {RangeError} If unit is not one of \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\".\r\n * @example\r\n * // Returns \"{0} days ago\"\r\n * getRule(-2, \"day\")\r\n */\r\n getRule(value, unit) {\r\n // Get locale-specific time interval formatting rules\r\n // of a given `style` for the given value of measurement `unit`.\r\n //\r\n // E.g.:\r\n //\r\n // ```json\r\n // {\r\n // \"past\": {\r\n // \"one\": \"a second ago\",\r\n // \"other\": \"{0} seconds ago\"\r\n // },\r\n // \"future\": {\r\n // \"one\": \"in a second\",\r\n // \"other\": \"in {0} seconds\"\r\n // }\r\n // }\r\n // ```\r\n //\r\n const unitMessages = getLocaleData(this.locale)[this.style][unit]\r\n // Bundle size optimization technique for styles like\r\n // \"tiny\" in `javascript-time-ago`: \"1m\", \"2h\", \"3d\"...\r\n if (typeof unitMessages === 'string') {\r\n return unitMessages\r\n }\r\n // Special case for \"yesterday\"/\"today\"/\"tomorrow\".\r\n if (this.numeric === \"auto\") {\r\n // \"yesterday\", \"the day before yesterday\", etc.\r\n if (value === -2 || value === -1) {\r\n const message = unitMessages[`previous${value === -1 ? '' : '-' + Math.abs(value)}`]\r\n if (message) {\r\n return message\r\n }\r\n }\r\n // \"tomorrow\", \"the day after tomorrow\", etc.\r\n else if (value === 1 || value === 2) {\r\n const message = unitMessages[`next${value === 1 ? '' : '-' + Math.abs(value)}`]\r\n if (message) {\r\n return message\r\n }\r\n }\r\n // \"today\"\r\n else if (value === 0) {\r\n if (unitMessages.current) {\r\n return unitMessages.current\r\n }\r\n }\r\n }\r\n // Choose either \"past\" or \"future\" based on time `value` sign.\r\n // If there's only \"other\" then it's being collapsed.\r\n // (the resulting bundle size optimization technique)\r\n const pluralizedMessages = unitMessages[isNegative(value) ? \"past\" : \"future\"]\r\n // Bundle size optimization technique for styles like \"narrow\"\r\n // having messages like \"in {0} d.\" or \"{0} d. ago\".\r\n if (typeof pluralizedMessages === \"string\") {\r\n return pluralizedMessages\r\n }\r\n // Quantify `value`.\r\n // There seems to be no such locale in CLDR\r\n // for which \"plural rules\" function is missing.\r\n const quantifier = this.pluralRules && this.pluralRules.select(Math.abs(value)) || 'other'\r\n // \"other\" rule is supposed to be always present.\r\n // If only \"other\" rule is present then \"rules\" is not an object and is a string.\r\n return pluralizedMessages[quantifier] || pluralizedMessages.other\r\n }\r\n\r\n /**\r\n * Formats a number into a string.\r\n * Uses `Intl.NumberFormat` when available.\r\n * @param {number} number\r\n * @return {string}\r\n */\r\n formatNumber(number) {\r\n return this.numberFormat ? this.numberFormat.format(number) : String(number)\r\n }\r\n\r\n /**\r\n * Formats a number into a list of parts.\r\n * Uses `Intl.NumberFormat` when available.\r\n * @param {number} number\r\n * @return {object[]}\r\n */\r\n formatNumberToParts(number) {\r\n // `Intl.NumberFormat.formatToParts()` is not present, for example,\r\n // in Node.js 8.x while `Intl.NumberFormat` itself is present.\r\n return this.numberFormat && this.numberFormat.formatToParts ?\r\n this.numberFormat.formatToParts(number) :\r\n [{\r\n type: \"integer\",\r\n value: this.formatNumber(number)\r\n }]\r\n }\r\n\r\n /**\r\n * Returns a new object with properties reflecting the locale and date and time formatting options computed during initialization of this DateTimeFormat object.\r\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/resolvedOptions\r\n * @return {Object}\r\n */\r\n resolvedOptions() {\r\n return {\r\n locale: this.locale,\r\n style: this.style,\r\n numeric: this.numeric,\r\n numberingSystem: this.numberingSystem\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Returns an array containing those of the provided locales\r\n * that are supported in collation without having to fall back\r\n * to the runtime's default locale.\r\n * @param {(string|string[])} locale - A string with a BCP 47 language tag, or an array of such strings. For the general form of the locales argument, see the Intl page.\r\n * @param {Object} [options] - An object that may have the following property:\r\n * @param {string} [options.localeMatcher=\"lookup\"] - The locale matching algorithm to use. Possible values are \"lookup\" and \"best fit\". Currently only \"lookup\" is supported.\r\n * @return {string[]} An array of strings representing a subset of the given locale tags that are supported in collation without having to fall back to the runtime's default locale.\r\n * @example\r\n * var locales = ['ban', 'id-u-co-pinyin', 'es-PY']\r\n * var options = { localeMatcher: 'lookup' }\r\n * // Returns [\"id\", \"es-PY\"]\r\n * Intl.RelativeTimeFormat.supportedLocalesOf(locales, options)\r\n */\r\nRelativeTimeFormat.supportedLocalesOf = function(locales, options = {}) {\r\n // Convert `locales` to an array.\r\n if (typeof locales === 'string') {\r\n locales = [locales]\r\n } else if (!Array.isArray(locales)) {\r\n throw new TypeError('Invalid \"locales\" argument')\r\n }\r\n return locales.filter(locale => resolveLocale(locale, options))\r\n}\r\n\r\n/**\r\n * Adds locale data for a specific locale.\r\n * @param {Object} localeData\r\n */\r\nRelativeTimeFormat.addLocale = addLocaleData\r\n\r\n/**\r\n * Sets default locale.\r\n * @param {string} locale\r\n */\r\nRelativeTimeFormat.setDefaultLocale = setDefaultLocale\r\n\r\n/**\r\n * Gets default locale.\r\n * @return {string} locale\r\n */\r\nRelativeTimeFormat.getDefaultLocale = getDefaultLocale\r\n\r\n/**\r\n * Export `Intl.PluralRules` just in case it's used somewhere else.\r\n */\r\nRelativeTimeFormat.PluralRules = PluralRules\r\n\r\n// The specification allows units to be in plural form.\r\n// Convert plural to singular.\r\n// Example: \"seconds\" -> \"second\".\r\nconst UNIT_ERROR = 'Invalid \"unit\" argument'\r\nfunction parseUnit(unit) {\r\n if (typeof unit === 'symbol') {\r\n throw new TypeError(UNIT_ERROR)\r\n }\r\n if (typeof unit !== 'string') {\r\n throw new RangeError(`${UNIT_ERROR}: ${unit}`)\r\n }\r\n if (unit[unit.length - 1] === 's') {\r\n unit = unit.slice(0, unit.length - 1)\r\n }\r\n if (UNITS.indexOf(unit) < 0) {\r\n throw new RangeError(`${UNIT_ERROR}: ${unit}`)\r\n }\r\n return unit\r\n}\r\n\r\n// Converts `value` to a `Number`.\r\n// The specification allows value to be a non-number.\r\n// For example, \"-0\" is supposed to be treated as `-0`.\r\n// Also checks if `value` is a finite number.\r\nconst NUMBER_ERROR = 'Invalid \"number\" argument'\r\nfunction parseNumber(value) {\r\n value = Number(value)\r\n if (Number.isFinite) {\r\n if (!Number.isFinite(value)) {\r\n throw new RangeError(`${NUMBER_ERROR}: ${value}`)\r\n }\r\n }\r\n return value\r\n}\r\n\r\n/**\r\n * Tells `0` from `-0`.\r\n * https://stackoverflow.com/questions/7223359/are-0-and-0-the-same\r\n * @param {number} number\r\n * @return {Boolean}\r\n * @example\r\n * isNegativeZero(0); // false\r\n * isNegativeZero(-0); // true\r\n */\r\nfunction isNegativeZero(number) {\r\n return 1 / number === -Infinity\r\n}\r\n\r\nfunction isNegative(number) {\r\n return number < 0 || number === 0 && isNegativeZero(number)\r\n}\r\n\r\nfunction parseFormatArgs(args) {\r\n if (args.length < 2) {\r\n throw new TypeError(`\"unit\" argument is required`)\r\n }\r\n return [\r\n parseNumber(args[0]),\r\n parseUnit(args[1])\r\n ]\r\n}","/**\r\n * A basic in-memory cache.\r\n *\r\n * import Cache from 'javascript-time-ago/Cache'\r\n * const cache = new Cache()\r\n * const object = cache.get('key1', 'key2', ...) || cache.put('key1', 'key2', ..., createObject())\r\n */\r\nexport default class Cache {\r\n\tconstructor() {\r\n\t\tthis.cache = {}\r\n\t}\r\n\r\n\tget(...keys) {\r\n\t\tlet cache = this.cache\r\n\t\tfor (const key of keys) {\r\n\t\t\tif (typeof cache !== 'object') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tcache = cache[key]\r\n\t\t}\r\n\t\treturn cache\r\n\t}\r\n\r\n\tput(...keys) {\r\n\t\tconst value = keys.pop()\r\n\t\tconst lastKey = keys.pop()\r\n\t\tlet cache = this.cache\r\n\t\tfor (const key of keys) {\r\n\t\t\tif (typeof cache[key] !== 'object') {\r\n\t\t\t\tcache[key] = {}\r\n\t\t\t}\r\n\t\t\tcache = cache[key]\r\n\t\t}\r\n\t\treturn cache[lastKey] = value\r\n\t}\r\n}","/**\r\n * Chooses the most appropriate locale\r\n * (one of the registered ones)\r\n * based on the list of preferred `locales` supplied by the user.\r\n *\r\n * @param {string[]} locales - the list of preferable locales (in [IETF format](https://en.wikipedia.org/wiki/IETF_language_tag)).\r\n * @param {Function} isLocaleDataAvailable - tests if a locale is available.\r\n *\r\n * @returns {string} The most suitable locale.\r\n *\r\n * @example\r\n * // Returns 'en'\r\n * chooseLocale(['en-US'], undefined, (locale) => locale === 'ru' || locale === 'en')\r\n */\r\nexport default function chooseLocale(locales, isLocaleDataAvailable) {\r\n\t// This is not an intelligent algorithm,\r\n\t// but it will do for this library's case.\r\n\t// `sr-Cyrl-BA` -> `sr-Cyrl` -> `sr`.\r\n\tfor (let locale of locales) {\r\n\t\tif (isLocaleDataAvailable(locale)) {\r\n\t\t\treturn locale\r\n\t\t}\r\n\t\tconst parts = locale.split('-')\r\n\t\twhile (parts.length > 1) {\r\n\t\t\tparts.pop()\r\n\t\t\tlocale = parts.join('-')\r\n\t\t\tif (isLocaleDataAvailable(locale)) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tthrow new Error(`No locale data has been registered for any of the locales: ${locales.join(', ')}`)\r\n}\r\n\r\n/**\r\n * Whether can use `Intl.DateTimeFormat` for these `locales`.\r\n * Returns the first suitable one.\r\n * @param {(string|string[])} locales\r\n * @return {?string} The first locale that can be used.\r\n */\r\nexport function intlDateTimeFormatSupportedLocale(locales) {\r\n\t/* istanbul ignore else */\r\n\tif (intlDateTimeFormatSupported()) {\r\n\t\treturn Intl.DateTimeFormat.supportedLocalesOf(locales)[0]\r\n\t}\r\n}\r\n\r\n/**\r\n * Whether can use `Intl.DateTimeFormat`.\r\n * @return {boolean}\r\n */\r\nexport function intlDateTimeFormatSupported() {\r\n\t// Babel transforms `typeof` into some \"branches\"\r\n\t// so istanbul will show this as \"branch not covered\".\r\n\t/* istanbul ignore next */\r\n\tconst isIntlAvailable = typeof Intl === 'object'\r\n\treturn isIntlAvailable && typeof Intl.DateTimeFormat === 'function'\r\n}\r\n","export default function isStyleObject(object) {\r\n\treturn isObject(object) && (\r\n\t\tArray.isArray(object.steps) ||\r\n\t\t// `gradation` property is deprecated: it has been renamed to `steps`.\r\n\t\tArray.isArray(object.gradation) ||\r\n\t\t// `flavour` property is deprecated: it has been renamed to `labels`.\r\n\t\tArray.isArray(object.flavour) ||\r\n\t\ttypeof object.flavour === 'string' ||\r\n\t\tArray.isArray(object.labels) ||\r\n\t\ttypeof object.labels === 'string' ||\r\n\t\t// `units` property is deprecated.\r\n\t\tArray.isArray(object.units) ||\r\n\t\t// `custom` property is deprecated.\r\n\t\ttypeof object.custom === 'function'\r\n\t)\r\n}\r\n\r\nconst OBJECT_CONSTRUCTOR = {}.constructor\r\nfunction isObject(object) {\r\n\treturn typeof object !== undefined && object !== null && object.constructor === OBJECT_CONSTRUCTOR\r\n}","export const minute = 60 // in seconds\r\n\r\nexport const hour = 60 * minute // in seconds\r\n\r\nexport const day = 24 * hour // in seconds\r\n\r\nexport const week = 7 * day // in seconds\r\n\r\n// https://www.quora.com/What-is-the-average-number-of-days-in-a-month\r\nexport const month = 30.44 * day // in seconds\r\n\r\n// \"400 years have 146097 days (taking into account leap year rules)\"\r\nexport const year = (146097 / 400) * day // in seconds\r\n\r\nexport function getSecondsInUnit(unit) {\r\n\tswitch (unit) {\r\n\t\tcase 'second':\r\n\t\t\treturn 1\r\n\t\tcase 'minute':\r\n\t\t\treturn minute\r\n\t\tcase 'hour':\r\n\t\t\treturn hour\r\n\t\tcase 'day':\r\n\t\t\treturn day\r\n\t\tcase 'week':\r\n\t\t\treturn week\r\n\t\tcase 'month':\r\n\t\t\treturn month\r\n\t\tcase 'year':\r\n\t\t\treturn year\r\n\t}\r\n}\r\n\r\n// export function getPreviousUnitFor(unit) {\r\n// \tswitch (unit) {\r\n// \t\tcase 'second':\r\n// \t\t\treturn 'now'\r\n// \t\tcase 'minute':\r\n// \t\t\treturn 'second'\r\n// \t\tcase 'hour':\r\n// \t\t\treturn 'minute'\r\n// \t\tcase 'day':\r\n// \t\t\treturn 'hour'\r\n// \t\tcase 'week':\r\n// \t\t\treturn 'day'\r\n// \t\tcase 'month':\r\n// \t\t\treturn 'week'\r\n// \t\tcase 'year':\r\n// \t\t\treturn 'month'\r\n// \t}\r\n// }","import { getSecondsInUnit } from './units.js'\r\n\r\nexport default function getStepDenominator(step) {\r\n\t// `factor` is a legacy property.\r\n\tif (step.factor !== undefined) {\r\n\t\treturn step.factor\r\n\t}\r\n\t// \"unit\" is now called \"formatAs\".\r\n\treturn getSecondsInUnit(step.unit || step.formatAs) || 1\r\n}","export function getRoundFunction(round) {\r\n\tswitch (round) {\r\n\t\tcase 'floor':\r\n\t\t\treturn Math.floor\r\n\t\tdefault:\r\n\t\t\treturn Math.round\r\n\t}\r\n}\r\n\r\n// For non-negative numbers.\r\nexport function getDiffRatioToNextRoundedNumber(round) {\r\n\tswitch (round) {\r\n\t\tcase 'floor':\r\n\t\t\t// Math.floor(x) = x\r\n\t\t\t// Math.floor(x + 1) = x + 1\r\n\t\t\treturn 1\r\n\t\tdefault:\r\n\t\t\t// Math.round(x) = x\r\n\t\t\t// Math.round(x + 0.5) = x + 1\r\n\t\t\treturn 0.5\r\n\t}\r\n}","import { getSecondsInUnit } from './units.js'\r\nimport { getDiffRatioToNextRoundedNumber } from '../round.js'\r\n\r\nexport default function getStepMinTime(step, {\r\n\tprevStep,\r\n\ttimestamp,\r\n\t// `now` argument is used in a deprecated `step.test()` function.\r\n\tnow,\r\n\tfuture,\r\n\tround\r\n}) {\r\n\tlet minTime\r\n\t// \"threshold_for_xxx\" is a legacy property.\r\n\tif (prevStep) {\r\n\t\tif (prevStep.id || prevStep.unit) {\r\n\t\t\tminTime = step[`threshold_for_${prevStep.id || prevStep.unit}`]\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\t// \"threshold\" is a legacy property.\r\n\t\tif (step.threshold !== undefined) {\r\n\t\t\t// \"threshold\" is a legacy name for \"minTime\".\r\n\t\t\tminTime = step.threshold\r\n\t\t\t// \"threshold\" function is deprecated.\r\n\t\t\tif (typeof minTime === 'function') {\r\n\t\t\t\tminTime = minTime(now, future)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\tminTime = step.minTime\r\n\t}\r\n\t// A deprecated way of specifying a different threshold\r\n\t// depending on the previous step's unit.\r\n\tif (typeof minTime === 'object') {\r\n\t\tif (prevStep && prevStep.id && minTime[prevStep.id] !== undefined) {\r\n\t\t\tminTime = minTime[prevStep.id]\r\n\t\t} else {\r\n\t\t\tminTime = minTime.default\r\n\t\t}\r\n\t}\r\n\tif (typeof minTime === 'function') {\r\n\t\tminTime = minTime(timestamp, {\r\n\t\t\tfuture,\r\n\t\t\tgetMinTimeForUnit(toUnit, fromUnit) {\r\n\t\t\t\treturn getMinTimeForUnit(\r\n\t\t\t\t\ttoUnit,\r\n\t\t\t\t\tfromUnit || prevStep && prevStep.formatAs,\r\n\t\t\t\t\t{ round }\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// Evaluate the `test()` function.\r\n\t// `test()` function is deprecated.\r\n\tif (minTime === undefined) {\r\n\t\tif (step.test) {\r\n\t\t\tif (step.test(timestamp, {\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture\r\n\t\t\t})) {\r\n\t\t\t\t// `0` threshold always passes.\r\n\t\t\t\tminTime = 0\r\n\t\t\t} else {\r\n\t\t\t\t// `MAX_SAFE_INTEGER` threshold won't ever pass in real life.\r\n\t\t\t\tminTime = 9007199254740991 // Number.MAX_SAFE_INTEGER\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\tif (prevStep) {\r\n\t\t\tif (step.formatAs && prevStep.formatAs) {\r\n\t\t\t\tminTime = getMinTimeForUnit(step.formatAs, prevStep.formatAs, { round })\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// The first step's `minTime` is `0` by default.\r\n\t\t\tminTime = 0\r\n\t\t}\r\n\t}\r\n\t// Warn if no `minTime` was defined or could be deduced.\r\n\tif (minTime === undefined) {\r\n\t\tconsole.warn('[javascript-time-ago] A step should specify `minTime`:\\n' + JSON.stringify(step, null, 2))\r\n\t}\r\n\treturn minTime\r\n}\r\n\r\nfunction getMinTimeForUnit(toUnit, fromUnit, { round }) {\r\n\tconst toUnitAmount = getSecondsInUnit(toUnit)\r\n\t// if (!fromUnit) {\r\n\t// \treturn toUnitAmount;\r\n\t// }\r\n\t// if (!fromUnit) {\r\n\t// \tfromUnit = getPreviousUnitFor(toUnit)\r\n\t// }\r\n\tlet fromUnitAmount\r\n\tif (fromUnit === 'now') {\r\n\t\tfromUnitAmount = getSecondsInUnit(toUnit)\r\n\t} else {\r\n\t\tfromUnitAmount = getSecondsInUnit(fromUnit)\r\n\t}\r\n\tif (toUnitAmount !== undefined && fromUnitAmount !== undefined) {\r\n\t\treturn toUnitAmount - fromUnitAmount * (1 - getDiffRatioToNextRoundedNumber(round))\r\n\t}\r\n}","import getStepDenominator from './getStepDenominator.js'\r\nimport getStepMinTime from './getStepMinTime.js'\r\nimport { getRoundFunction } from '../round.js'\r\n\r\n/**\r\n * Finds an appropriate `step` of `steps` for the time interval (in seconds).\r\n *\r\n * @param {Object[]} steps - Time formatting steps.\r\n *\r\n * @param {number} secondsPassed - Time interval (in seconds).\r\n * `< 0` for past dates and `> 0` for future dates.\r\n *\r\n * @param {number} options.now - Current timestamp.\r\n *\r\n * @param {boolean} [options.future] - Whether the date should be formatted as a future one\r\n * instead of a past one.\r\n *\r\n * @param {string} [options.round] - (undocumented) Rounding mechanism.\r\n *\r\n * @param {string[]} [options.units] - A list of allowed time units.\r\n * (Example: ['second', 'minute', 'hour', …])\r\n *\r\n * @param {boolean} [options.getNextStep] - Pass true to return `[step, nextStep]` instead of just `step`.\r\n *\r\n * @return {Object|Object[]} [step] — Either a `step` or `[prevStep, step, nextStep]`.\r\n */\r\nexport default function getStep(steps, secondsPassed, { now, future, round, units, getNextStep }) {\r\n\t// Ignore steps having not-supported time units in `formatAs`.\r\n\tsteps = filterStepsByUnits(steps, units)\r\n\tconst step = _getStep(steps, secondsPassed, { now, future, round })\r\n\tif (getNextStep) {\r\n\t\tif (step) {\r\n\t\t\tconst prevStep = steps[steps.indexOf(step) - 1]\r\n\t\t\tconst nextStep = steps[steps.indexOf(step) + 1]\r\n\t\t\treturn [prevStep, step, nextStep]\r\n\t\t}\r\n\t\treturn [undefined, undefined, steps[0]]\r\n\t}\r\n\treturn step\r\n}\r\n\r\nfunction _getStep(steps, secondsPassed, { now, future, round }) {\r\n\t// If no steps fit the conditions then return nothing.\r\n\tif (steps.length === 0) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Find the most appropriate step.\r\n\tconst i = getStepIndex(steps, secondsPassed, {\r\n\t\tnow,\r\n\t\tfuture: future || secondsPassed < 0,\r\n\t\tround\r\n\t})\r\n\r\n\t// If no step is applicable the return nothing.\r\n\tif (i === -1) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst step = steps[i]\r\n\r\n\t// Apply granularity to the time amount\r\n\t// (and fall back to the previous step\r\n\t// if the first level of granularity\r\n\t// isn't met by this amount)\r\n\tif (step.granularity) {\r\n\t\t// Recalculate the amount of seconds passed based on `granularity`.\r\n\t\tconst secondsPassedGranular = getRoundFunction(round)((Math.abs(secondsPassed) / getStepDenominator(step)) / step.granularity) * step.granularity\r\n\t\t// If the granularity for this step is too high,\r\n\t\t// then fall back to the previous step.\r\n\t\t// (if there is any previous step)\r\n\t\tif (secondsPassedGranular === 0 && i > 0) {\r\n\t\t\treturn steps[i - 1]\r\n\t\t}\r\n\t}\r\n\r\n\treturn step\r\n}\r\n\r\n/**\r\n * Iterates through steps until it finds the maximum one satisfying the `minTime` threshold.\r\n * @param {Object} steps - Steps.\r\n * @param {number} secondsPassed - How much seconds have passed since the date till `now`.\r\n * @param {number} options.now - Current timestamp.\r\n * @param {boolean} options.future - Whether the time interval should be formatted as a future one.\r\n * @param {number} [i] - Gradation step currently being tested.\r\n * @return {number} Gradation step index.\r\n */\r\nfunction getStepIndex(steps, secondsPassed, options, i = 0) {\r\n\tconst minTime = getStepMinTime(steps[i], {\r\n\t\tprevStep: steps[i - 1],\r\n\t\ttimestamp: options.now - secondsPassed * 1000,\r\n\t\t...options\r\n\t})\r\n\t// If `minTime` isn't defined or deduceable for this step, then stop.\r\n\tif (minTime === undefined) {\r\n\t\treturn i - 1\r\n\t}\r\n\t// If the `minTime` threshold for moving from previous step\r\n\t// to this step is too high then return the previous step.\r\n\tif (Math.abs(secondsPassed) < minTime) {\r\n\t\treturn i - 1\r\n\t}\r\n\t// If it's the last step then return it.\r\n\tif (i === steps.length - 1) {\r\n\t\treturn i\r\n\t}\r\n\t// Move to the next step.\r\n\treturn getStepIndex(steps, secondsPassed, options, i + 1)\r\n}\r\n\r\n/**\r\n * Leaves only allowed steps.\r\n * @param {Object[]} steps\r\n * @param {string[]} units - Allowed time units.\r\n * @return {Object[]}\r\n */\r\nfunction filterStepsByUnits(steps, units) {\r\n\treturn steps.filter(({ unit, formatAs }) => {\r\n\t\t// \"unit\" is now called \"formatAs\".\r\n\t\tunit = unit || formatAs\r\n\t\t// If this step has a `unit` defined\r\n\t\t// then this `unit` must be in the list of allowed `units`.\r\n\t\tif (unit) {\r\n\t\t\treturn units.indexOf(unit) >= 0\r\n\t\t}\r\n\t\t// A step is not required to specify a `unit`:\r\n\t\t// alternatively, it could specify `format()`.\r\n\t\t// (see \"twitter\" style for an example)\r\n\t\treturn true\r\n\t})\r\n}","import { getSecondsInUnit } from './units.js'\r\nimport { getRoundFunction, getDiffRatioToNextRoundedNumber } from '../round.js'\r\n\r\n/**\r\n * Gets the time to next update for a step with a time unit defined.\r\n * @param {string} unit\r\n * @param {number} date — The date passed to `.format()`, converted to a timestamp.\r\n * @param {number} options.now\r\n * @param {string} [options.round] — (undocumented) Rounding mechanism.\r\n * @return {number} [timeToNextUpdate]\r\n */\r\nexport default function getTimeToNextUpdateForUnit(unit, timestamp, { now, round }) {\r\n\t// For some units, like \"now\", there's no defined amount of seconds in them.\r\n\tif (!getSecondsInUnit(unit)) {\r\n\t\t// If there's no amount of seconds defined for this unit\r\n\t\t// then the update interval can't be determined reliably.\r\n\t\treturn\r\n\t}\r\n\tconst unitDenominator = getSecondsInUnit(unit) * 1000\r\n\tconst future = timestamp > now\r\n\tconst preciseAmount = Math.abs(timestamp - now)\r\n\tconst roundedAmount = getRoundFunction(round)(preciseAmount / unitDenominator) * unitDenominator\r\n\tif (future) {\r\n\t\tif (roundedAmount > 0) {\r\n\t\t\t// Amount decreases with time.\r\n\t\t\treturn (preciseAmount - roundedAmount) +\r\n\t\t\t\tgetDiffToPreviousRoundedNumber(round, unitDenominator)\r\n\t\t} else {\r\n\t\t\t// Refresh right after the zero point,\r\n\t\t\t// when \"future\" changes to \"past\".\r\n\t\t\treturn (preciseAmount - roundedAmount) + 1\r\n\t\t}\r\n\t}\r\n \t// Amount increases with time.\r\n\treturn -(preciseAmount - roundedAmount) + getDiffToNextRoundedNumber(round, unitDenominator)\r\n}\r\n\r\nfunction getDiffToNextRoundedNumber(round, unitDenominator) {\r\n\treturn getDiffRatioToNextRoundedNumber(round) * unitDenominator\r\n}\r\n\r\nfunction getDiffToPreviousRoundedNumber(round, unitDenominator) {\r\n\treturn (1 - getDiffRatioToNextRoundedNumber(round)) * unitDenominator + 1\r\n}","import _getTimeToNextUpdateForUnit from './getTimeToNextUpdateForUnit.js'\r\nimport getStepMinTime from './getStepMinTime.js'\r\nimport { getRoundFunction } from '../round.js'\r\n\r\n// A thousand years is practically a metaphor for \"infinity\".\r\nconst YEAR = 365 * 24 * 60 * 60 * 1000\r\nexport const INFINITY = 1000 * YEAR\r\n\r\n/**\r\n * Gets the time to next update for a date and a step.\r\n * @param {number} date — The date passed to `.format()`, converted to a timestamp.\r\n * @param {object} step\r\n * @param {object} [options.previousStep]\r\n * @param {object} [options.nextStep]\r\n * @param {number} options.now\r\n * @param {boolean} options.future\r\n * @param {string} [options.round] - (undocumented) Rounding mechanism.\r\n * @return {number} [timeToNextUpdate]\r\n */\r\nexport default function getTimeToNextUpdate(date, step, { prevStep, nextStep, now, future, round }) {\r\n\tconst timestamp = date.getTime ? date.getTime() : date\r\n\r\n\tconst getTimeToNextUpdateForUnit = (unit) => _getTimeToNextUpdateForUnit(unit, timestamp, { now, round })\r\n\r\n\t// For future dates, steps move from the last one to the first one,\r\n\t// while for past dates, steps move from the first one to the last one,\r\n\t// due to the fact that time flows in one direction,\r\n\t// and future dates' interval naturally becomes smaller\r\n\t// while past dates' interval naturally grows larger.\r\n\t//\r\n\t// For future dates, it's the transition\r\n\t// from the current step to the previous step,\r\n\t// therefore check the `minTime` of the current step.\r\n\t//\r\n\t// For past dates, it's the transition\r\n\t// from the current step to the next step,\r\n\t// therefore check the `minTime` of the next step.\r\n\t//\r\n\tconst timeToStepChange = getTimeToStepChange(future ? step : nextStep, timestamp, {\r\n\t\tfuture,\r\n\t\tnow,\r\n\t\tround,\r\n\t\tprevStep: future ? prevStep : step,\r\n\t\t// isFirstStep: future && isFirstStep\r\n\t})\r\n\r\n\tif (timeToStepChange === undefined) {\r\n\t\t// Can't reliably determine \"time to next update\"\r\n\t\t// if not all of the steps provide `minTime`.\r\n\t\treturn\r\n\t}\r\n\r\n\tlet timeToNextUpdate\r\n\r\n\tif (step) {\r\n\t\tif (step.getTimeToNextUpdate) {\r\n\t\t\ttimeToNextUpdate = step.getTimeToNextUpdate(timestamp, {\r\n\t\t\t\tgetTimeToNextUpdateForUnit,\r\n\t\t\t\tgetRoundFunction,\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture,\r\n\t\t\t\tround\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (timeToNextUpdate === undefined) {\r\n\t\t\t// \"unit\" is now called \"formatAs\".\r\n\t\t\tconst unit = step.unit || step.formatAs\r\n\t\t\tif (unit) {\r\n\t\t\t\t// For some units, like \"now\", there's no defined amount of seconds in them.\r\n\t\t\t\t// In such cases, `getTimeToNextUpdateForUnit()` returns `undefined`,\r\n\t\t\t\t// and the next step's `minTime` could be used to calculate the update interval:\r\n\t\t\t\t// it will just assume that the label never changes for this step.\r\n\t\t\t\ttimeToNextUpdate = getTimeToNextUpdateForUnit(unit)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (timeToNextUpdate === undefined) {\r\n\t\treturn timeToStepChange\r\n\t}\r\n\r\n\treturn Math.min(timeToNextUpdate, timeToStepChange)\r\n}\r\n\r\nexport function getStepChangesAt(currentOrNextStep, timestamp, { now, future, round, prevStep }) {\r\n\t// The first step's `minTime` is `0` by default.\r\n\t// It doesn't \"change\" steps at zero point\r\n\t// but it does change the wording when switching\r\n\t// from \"future\" to \"past\": \"in ...\" -> \"... ago\".\r\n\t// Therefore, the label should be updated at zero-point too.\r\n\tconst minTime = getStepMinTime(currentOrNextStep, { timestamp, now, future, round, prevStep })\r\n\tif (minTime === undefined) {\r\n\t\treturn\r\n\t}\r\n\tif (future) {\r\n\t\t// The step changes to the previous step\r\n\t\t// as soon as `timestamp - now` becomes\r\n\t\t// less than the `minTime` of the current step:\r\n\t\t// `timestamp - now === minTime - 1`\r\n\t\t// => `now === timestamp - minTime + 1`.\r\n\t\treturn timestamp - minTime * 1000 + 1\r\n\t} else {\r\n\t\t// The step changes to the next step\r\n\t\t// as soon as `now - timestamp` becomes\r\n\t\t// equal to `minTime` of the next step:\r\n\t\t// `now - timestamp === minTime`\r\n\t\t// => `now === timestamp + minTime`.\r\n\r\n\t\t// This is a special case when double-update could be skipped.\r\n\t\tif (minTime === 0 && timestamp === now) {\r\n\t\t\treturn INFINITY\r\n\t\t}\r\n\r\n\t\treturn timestamp + minTime * 1000\r\n\t}\r\n}\r\n\r\nexport function getTimeToStepChange(step, timestamp, {\r\n\tnow,\r\n\tfuture,\r\n\tround,\r\n\tprevStep\r\n}) {\r\n\tif (step) {\r\n\t\tconst stepChangesAt = getStepChangesAt(step, timestamp, {\r\n\t\t\tnow,\r\n\t\t\tfuture,\r\n\t\t\tround,\r\n\t\t\tprevStep\r\n\t\t})\r\n\t\tif (stepChangesAt === undefined) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn stepChangesAt - now\r\n\t} else {\r\n\t\tif (future) {\r\n\t\t\t// No step.\r\n\t\t\t// Update right after zero point, when it changes from \"future\" to \"past\".\r\n\t\t\treturn timestamp - now + 1\r\n\t\t} else {\r\n\t\t\t// The last step doesn't ever change when `date` is in the past.\r\n\t\t\treturn INFINITY\r\n\t\t}\r\n\t}\r\n}","// just now\r\n// 1 second ago\r\n// 2 seconds ago\r\n// …\r\n// 59 seconds ago\r\n// 1 minute ago\r\n// 2 minutes ago\r\n// …\r\n// 59 minutes ago\r\n// 1 hour ago\r\n// 2 hours ago\r\n// …\r\n// 24 hours ago\r\n// 1 day ago\r\n// 2 days ago\r\n// …\r\n// 6 days ago\r\n// 1 week ago\r\n// 2 weeks ago\r\n// …\r\n// 3 weeks ago\r\n// 1 month ago\r\n// 2 months ago\r\n// …\r\n// 11 months ago\r\n// 1 year ago\r\n// 2 years ago\r\n// …\r\nexport default [\r\n\t{\r\n\t\tformatAs: 'now'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'second'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'minute'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'hour'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'day'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'week'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'month'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'year'\r\n\t}\r\n]","import round from '../steps/round.js'\r\n\r\n// just now\r\n// 1 second ago\r\n// 2 seconds ago\r\n// …\r\n// 59 seconds ago\r\n// 1 minute ago\r\n// 2 minutes ago\r\n// …\r\n// 59 minutes ago\r\n// 1 minute ago\r\n// 2 minutes ago\r\n// …\r\n// 59 minutes ago\r\n// 1 hour ago\r\n// 2 hours ago\r\n// …\r\n// 24 hours ago\r\n// 1 day ago\r\n// 2 days ago\r\n// …\r\n// 6 days ago\r\n// 1 week ago\r\n// 2 weeks ago\r\n// 3 weeks ago\r\n// 4 weeks ago\r\n// 1 month ago\r\n// 2 months ago\r\n// …\r\n// 11 months ago\r\n// 1 year ago\r\n// 2 years ago\r\n// …\r\n//\r\nexport default {\r\n\tsteps: round,\r\n\tlabels: 'long'\r\n}","import round from './round.js'\r\n\r\n// just now\r\n// 1 minute ago\r\n// 2 minutes ago\r\n// …\r\n// 59 minutes ago\r\n// 1 minute ago\r\n// 2 minutes ago\r\n// …\r\n// 59 minutes ago\r\n// 1 hour ago\r\n// 2 hours ago\r\n// …\r\n// 24 hours ago\r\n// 1 day ago\r\n// 2 days ago\r\n// …\r\n// 6 days ago\r\n// 1 week ago\r\n// 2 weeks ago\r\n// 3 weeks ago\r\n// 4 weeks ago\r\n// 1 month ago\r\n// 2 months ago\r\n// …\r\n// 11 months ago\r\n// 1 year ago\r\n// 2 years ago\r\n// …\r\n//\r\nexport default {\r\n\t...round,\r\n\t// Skip \"seconds\".\r\n\tsteps: round.steps.filter(step => step.formatAs !== 'second')\r\n}","import { minute, hour, day, week, month, year } from './units.js'\r\n\r\n// \"factor\" is a legacy property.\r\n// Developers shouldn't need to use it in their custom steps.\r\n\r\n// \"threshold\" is a legacy name of \"min\".\r\n// Developers should use \"min\" property name instead of \"threshold\".\r\n\r\n// \"threshold_for_idOrUnit: value\" is a legacy way of specifying \"min: { id: value }\".\r\n// Developers should use \"min\" property instead of \"threshold\".\r\n\r\n// just now\r\n// 1 minute ago\r\n// 2 minutes ago\r\n// 5 minutes ago\r\n// 10 minutes ago\r\n// 15 minutes ago\r\n// 20 minutes ago\r\n// …\r\n// 50 minutes ago\r\n// an hour ago\r\n// 2 hours ago\r\n// …\r\n// 20 hours ago\r\n// a day ago\r\n// 2 days ago\r\n// 5 days ago\r\n// a week ago\r\n// 2 weeks ago\r\n// 3 weeks ago\r\n// a month ago\r\n// 2 months ago\r\n// 4 months ago\r\n// a year ago\r\n// 2 years ago\r\n// …\r\nexport default [\r\n\t{\r\n\t\t// This step returns the amount of seconds\r\n\t\t// by dividing the amount of seconds by `1`.\r\n\t\tfactor: 1,\r\n \t// \"now\" labels are used for formatting the output.\r\n\t\tunit: 'now'\r\n\t},\r\n\t{\r\n\t\t// When the language doesn't support `now` unit,\r\n\t\t// the first step is ignored, and it uses this `second` unit.\r\n\t\tthreshold: 1,\r\n\t\t// `threshold_for_now` should be the same as `threshold` on minutes.\r\n\t\tthreshold_for_now: 45.5,\r\n\t\t// This step returns the amount of seconds\r\n\t\t// by dividing the amount of seconds by `1`.\r\n\t\tfactor: 1,\r\n \t// \"second\" labels are used for formatting the output.\r\n\t\tunit: 'second'\r\n\t},\r\n\t{\r\n\t\t// `threshold` should be the same as `threshold_for_now` on seconds.\r\n\t\tthreshold: 45.5,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in a minute.\r\n\t\tfactor: minute,\r\n \t// \"minute\" labels are used for formatting the output.\r\n\t\tunit: 'minute'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 2.5 minutes.\r\n\t\tthreshold: 2.5 * minute,\r\n\t\t// Allow only 5-minute increments of minutes starting from 2.5 minutes.\r\n\t\t// `granularity` — (advanced) Time interval value \"granularity\".\r\n\t\t// For example, it could be set to `5` for minutes to allow only 5-minute increments\r\n\t\t// when formatting time intervals: `0 minutes`, `5 minutes`, `10 minutes`, etc.\r\n\t\t// Perhaps this feature will be removed because there seem to be no use cases\r\n\t\t// of it in the real world.\r\n\t\tgranularity: 5,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in a minute.\r\n\t\tfactor: minute,\r\n\t\t// \"minute\" labels are used for formatting the output.\r\n\t\tunit: 'minute'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 22.5 minutes.\r\n\t\tthreshold: 22.5 * minute,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in half-an-hour.\r\n\t\tfactor: 0.5 * hour,\r\n\t\t// \"half-hour\" labels are used for formatting the output.\r\n\t\t// (if available, which is no longer the case)\r\n\t\tunit: 'half-hour'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 42.5 minutes.\r\n\t\tthreshold: 42.5 * minute,\r\n\t\tthreshold_for_minute: 52.5 * minute,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in an hour.\r\n\t\tfactor: hour,\r\n\t\t// \"hour\" labels are used for formatting the output.\r\n\t\tunit: 'hour'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 20.5 hours.\r\n\t\tthreshold: (20.5 / 24) * day,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in a day.\r\n\t\tfactor: day,\r\n\t\t// \"day\" labels are used for formatting the output.\r\n\t\tunit: 'day'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 5.5 days.\r\n\t\tthreshold: 5.5 * day,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in a week.\r\n\t\tfactor: week,\r\n\t\t// \"week\" labels are used for formatting the output.\r\n\t\tunit: 'week'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 3.5 weeks.\r\n\t\tthreshold: 3.5 * week,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in a month.\r\n\t\tfactor: month,\r\n\t\t// \"month\" labels are used for formatting the output.\r\n\t\tunit: 'month'\r\n\t},\r\n\t{\r\n\t\t// This step is effective starting from 10.5 months.\r\n\t\tthreshold: 10.5 * month,\r\n\t\t// Return the amount of minutes by dividing the amount\r\n\t\t// of seconds by the amount of seconds in a year.\r\n\t\tfactor: year,\r\n\t\t// \"year\" labels are used for formatting the output.\r\n\t\tunit: 'year'\r\n\t}\r\n]","import approximate from '../steps/approximate.js'\r\n\r\n// \"gradation\" is a legacy name for \"steps\".\r\n// It's here just for legacy compatibility.\r\n// Use \"steps\" name instead.\r\n\r\n// \"flavour\" is a legacy name for \"labels\".\r\n// It's here just for legacy compatibility.\r\n// Use \"labels\" name instead.\r\n\r\n// \"units\" is a legacy property.\r\n// It's here just for legacy compatibility.\r\n// Developers shouldn't need to use it in their custom styles.\r\n\r\nexport default {\r\n\tgradation: approximate,\r\n\tflavour: 'long',\r\n\tunits: [\r\n\t\t'now',\r\n\t\t'minute',\r\n\t\t'hour',\r\n\t\t'day',\r\n\t\t'week',\r\n\t\t'month',\r\n\t\t'year'\r\n\t]\r\n}","import approximate from '../steps/approximate.js'\r\n\r\n// \"gradation\" is a legacy name for \"steps\".\r\n// It's here just for legacy compatibility.\r\n// Use \"steps\" name instead.\r\n\r\n// \"flavour\" is a legacy name for \"labels\".\r\n// It's here just for legacy compatibility.\r\n// Use \"labels\" name instead.\r\n\r\n// \"units\" is a legacy property.\r\n// It's here just for legacy compatibility.\r\n// Developers shouldn't need to use it in their custom styles.\r\n\r\n// Similar to the default style but with \"ago\" omitted.\r\n//\r\n// just now\r\n// 5 minutes\r\n// 10 minutes\r\n// 15 minutes\r\n// 20 minutes\r\n// an hour\r\n// 2 hours\r\n// …\r\n// 20 hours\r\n// 1 day\r\n// 2 days\r\n// a week\r\n// 2 weeks\r\n// 3 weeks\r\n// a month\r\n// 2 months\r\n// 3 months\r\n// 4 months\r\n// a year\r\n// 2 years\r\n//\r\nexport default {\r\n\tgradation: approximate,\r\n\tflavour: 'long-time',\r\n\tunits: [\r\n\t\t'now',\r\n\t\t'minute',\r\n\t\t'hour',\r\n\t\t'day',\r\n\t\t'week',\r\n\t\t'month',\r\n\t\t'year'\r\n\t]\r\n}","// Looks like this one's deprecated.\r\n// /**\r\n// * Returns a step corresponding to the unit.\r\n// * @param {Object[]} steps\r\n// * @param {string} unit\r\n// * @return {?Object}\r\n// */\r\n// export function getStepForUnit(steps, unit) {\r\n// \tfor (const step of steps) {\r\n// \t\tif (step.unit === unit) {\r\n// \t\t\treturn step\r\n// \t\t}\r\n// \t}\r\n// }\r\n\r\n// Looks like this one won't be used in the next major version.\r\n/**\r\n * Converts value to a `Date`\r\n * @param {(number|Date)} value\r\n * @return {Date}\r\n */\r\nexport function getDate(value) {\r\n\treturn value instanceof Date ? value : new Date(value)\r\n}","import { day, getDate } from '../steps/index.js'\r\nimport { intlDateTimeFormatSupported } from '../locale.js'\r\n\r\n// For compatibility with the old versions of this library.\r\nimport renameLegacyProperties from './renameLegacyProperties.js'\r\n\r\n// Twitter-style relative date/time formatting.\r\n// (\"1m\", \"2h\", \"Mar 3\", \"Apr 4, 2012\").\r\n//\r\n// Seconds, minutes or hours are shown for shorter intervals,\r\n// and longer intervals are formatted using full date format.\r\n\r\nconst steps = [\r\n\t{\r\n\t\tformatAs: 'second'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'minute'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'hour'\r\n\t}\r\n]\r\n\r\n// A cache for `Intl.DateTimeFormat` formatters\r\n// for various locales (is a global variable).\r\nconst formatters = {}\r\n\r\n// Starting from day intervals, output month and day.\r\nconst monthAndDay = {\r\n\tminTime(timestamp, { future, getMinTimeForUnit }) {\r\n\t\t// Returns `23.5 * 60 * 60` when `round` is \"round\",\r\n\t\t// and `24 * 60 * 60` when `round` is \"floor\".\r\n\t\treturn getMinTimeForUnit('day')\r\n\t},\r\n\tformat(value, locale) {\r\n\t\t/* istanbul ignore else */\r\n\t\tif (!formatters[locale]) {\r\n\t\t\tformatters[locale] = {}\r\n\t\t}\r\n\t\t/* istanbul ignore else */\r\n\t\tif (!formatters[locale].dayMonth) {\r\n\t\t\t// \"Apr 11\" (MMMd)\r\n\t\t\tformatters[locale].dayMonth = new Intl.DateTimeFormat(locale, {\r\n\t\t\t\tmonth: 'short',\r\n\t\t\t\tday: 'numeric'\r\n\t\t\t})\r\n\t\t}\r\n\t\t// Output month and day.\r\n\t\treturn formatters[locale].dayMonth.format(getDate(value))\r\n\t}\r\n}\r\n\r\n// If the `date` happened/happens outside of current year,\r\n// then output day, month and year.\r\n// The interval should be such that the `date` lies outside of the current year.\r\nconst yearMonthAndDay = {\r\n\tminTime(timestamp, { future }) {\r\n\t\tif (future) {\r\n\t\t\t// January 1, 00:00, of the `date`'s year is right after\r\n\t\t\t// the maximum `now` for formatting a future date:\r\n\t\t\t// When `now` is before that date, the `date` is formatted as \"day/month/year\" (this step),\r\n\t\t\t// When `now` is equal to or after that date, the `date` is formatted as \"day/month\" (another step).\r\n\t\t\t// After that, it's hours, minutes, seconds, and after that it's no longer `future`.\r\n\t\t\t// The date is right after the maximum `now` for formatting a future date,\r\n\t\t\t// so subtract 1 millisecond from it.\r\n\t\t\tconst maxFittingNow = new Date(new Date(timestamp).getFullYear(), 0).getTime() - 1\r\n\t\t\t// Return `minTime` (in seconds).\r\n\t\t\treturn (timestamp - maxFittingNow) / 1000\r\n\t\t} else {\r\n\t\t\t// January 1, 00:00, of the year following the `date`'s year\r\n\t\t\t// is the minimum `now` for formatting a past date:\r\n\t\t\t// When `now` is before that date, the `date` is formatted as \"day/month\" (another step),\r\n\t\t\t// When `now` is equal to or after that date, the `date` is formatted as \"day/month/year\" (this step).\r\n\t\t\t// After that, it's hours, minutes, seconds, and after that it's no longer `future`.\r\n\t\t\tconst minFittingNow = new Date(new Date(timestamp).getFullYear() + 1, 0).getTime()\r\n\t\t\t// Return `minTime` (in seconds).\r\n\t\t\treturn (minFittingNow - timestamp) / 1000\r\n\t\t}\r\n\t},\r\n\tformat(value, locale) {\r\n\t\t/* istanbul ignore if */\r\n\t\tif (!formatters[locale]) {\r\n\t\t\tformatters[locale] = {}\r\n\t\t}\r\n\t\t/* istanbul ignore else */\r\n\t\tif (!formatters[locale].dayMonthYear) {\r\n\t\t\t// \"Apr 11, 2017\" (yMMMd)\r\n\t\t\tformatters[locale].dayMonthYear = new Intl.DateTimeFormat(locale, {\r\n\t\t\t\tyear: 'numeric',\r\n\t\t\t\tmonth: 'short',\r\n\t\t\t\tday: 'numeric'\r\n\t\t\t})\r\n\t\t}\r\n\t\t// Output day, month and year.\r\n\t\treturn formatters[locale].dayMonthYear.format(getDate(value))\r\n\t}\r\n}\r\n\r\n// If `Intl.DateTimeFormat` is supported,\r\n// then longer time intervals will be formatted as dates.\r\n/* istanbul ignore else */\r\nif (intlDateTimeFormatSupported()) {\r\n\tsteps.push(monthAndDay, yearMonthAndDay)\r\n}\r\n// Otherwise, if `Intl.DateTimeFormat` is not supported,\r\n// which could be the case when using Internet Explorer,\r\n// then simply mimick \"round\" steps.\r\nelse {\r\n\tsteps.push(\r\n\t\t{\r\n\t\t\tformatAs: 'day'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'week'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'month'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'year'\r\n\t\t}\r\n\t)\r\n}\r\n\r\nexport default {\r\n\tsteps,\r\n\tlabels: [\r\n\t\t// \"mini\" labels are only defined for a few languages.\r\n\t\t'mini',\r\n\t\t// \"short-time\" labels are only defined for a few languages.\r\n\t\t'short-time',\r\n\t\t// \"narrow\" and \"short\" labels are defined for all languages.\r\n\t\t// \"narrow\" labels can sometimes be weird (like \"+5d.\"),\r\n\t\t// but \"short\" labels have the \" ago\" part, so \"narrow\" seem\r\n\t\t// more appropriate.\r\n\t\t// \"short\" labels would have been more appropriate if they\r\n\t\t// didn't have the \" ago\" part, hence the \"short-time\" above.\r\n\t\t'narrow',\r\n\t\t// Since \"narrow\" labels are always present, \"short\" element\r\n\t\t// of this array can be removed.\r\n\t\t'short'\r\n\t]\r\n}","import twitter from './twitter.js'\r\n\r\nexport default {\r\n\t...twitter,\r\n\t// Add \"now\".\r\n\tsteps: [{ formatAs: 'now' }].concat(twitter.steps)\r\n}","import twitter from './twitter.js'\r\n\r\nexport default {\r\n\t...twitter,\r\n\t// Skip \"seconds\".\r\n\tsteps: twitter.steps.filter(step => step.formatAs !== 'second')\r\n}","import twitterMinute from './twitterMinute.js'\r\n\r\nexport default {\r\n\t...twitterMinute,\r\n\t// Add \"now\".\r\n\tsteps: [{ formatAs: 'now' }].concat(twitterMinute.steps)\r\n}","import { minute } from '../steps/units.js'\r\nimport twitter from './twitter.js'\r\n\r\nexport default {\r\n\t...twitter,\r\n\t// Skip \"seconds\".\r\n\tsteps: twitter.steps.filter(step => step.formatAs !== 'second')\r\n\t\t// Start showing `1m` from the first minute.\r\n\t\t.map(step => step.formatAs === 'minute' ? { ...step, minTime: minute } : step)\r\n}","export default {\r\n\tsteps: [\r\n\t\t{\r\n\t\t\tformatAs: 'second'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'minute'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'hour'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'day'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'month'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'year'\r\n\t\t}\r\n\t],\r\n\tlabels: [\r\n\t\t// \"mini\" labels are only defined for a few languages.\r\n\t\t'mini',\r\n\t\t// \"short-time\" labels are only defined for a few languages.\r\n\t\t'short-time',\r\n\t\t// \"narrow\" and \"short\" labels are defined for all languages.\r\n\t\t// \"narrow\" labels can sometimes be weird (like \"+5d.\"),\r\n\t\t// but \"short\" labels have the \" ago\" part, so \"narrow\" seem\r\n\t\t// more appropriate.\r\n\t\t// \"short\" labels would have been more appropriate if they\r\n\t\t// didn't have the \" ago\" part, hence the \"short-time\" above.\r\n\t\t'narrow',\r\n\t\t// Since \"narrow\" labels are always present, \"short\" element\r\n\t\t// of this array can be removed.\r\n\t\t'short'\r\n\t]\r\n}","import mini from './mini.js'\r\n\r\nexport default {\r\n\t...mini,\r\n\t// Add \"now\".\r\n\tsteps: [{ formatAs: 'now' }].concat(mini.steps)\r\n}","import mini from './mini.js'\r\n\r\nexport default {\r\n\t...mini,\r\n\t// Skip \"seconds\".\r\n\tsteps: mini.steps.filter(step => step.formatAs !== 'second')\r\n}","import miniMinute from './miniMinute.js'\r\n\r\nexport default {\r\n\t...miniMinute,\r\n\t// Add \"now\".\r\n\tsteps: [{ formatAs: 'now' }].concat(miniMinute.steps)\r\n}","import round from './round.js'\r\nimport roundMinute from './roundMinute.js'\r\n// `approximate` style is deprecated.\r\nimport approximate from './approximate.js'\r\n// `approximateTime` style is deprecated.\r\nimport approximateTime from './approximateTime.js'\r\nimport twitter from './twitter.js'\r\nimport twitterNow from './twitterNow.js'\r\nimport twitterMinute from './twitterMinute.js'\r\nimport twitterMinuteNow from './twitterMinuteNow.js'\r\nimport twitterFirstMinute from './twitterFirstMinute.js'\r\nimport mini from './mini.js'\r\nimport miniNow from './miniNow.js'\r\nimport miniMinute from './miniMinute.js'\r\nimport miniMinuteNow from './miniMinuteNow.js'\r\n\r\nexport default function getStyleByName(style) {\r\n\tswitch (style) {\r\n\t\t// \"default\" style name is deprecated.\r\n\t\tcase 'default':\r\n\t\tcase 'round':\r\n\t\t\treturn round\r\n\t\tcase 'round-minute':\r\n\t\t\treturn roundMinute\r\n\t\tcase 'approximate':\r\n\t\t\treturn approximate\r\n\t\t// \"time\" style name is deprecated.\r\n\t\tcase 'time':\r\n\t\tcase 'approximate-time':\r\n\t\t\treturn approximateTime\r\n\t\tcase 'mini':\r\n\t\t\treturn mini\r\n\t\tcase 'mini-now':\r\n\t\t\treturn miniNow\r\n\t\tcase 'mini-minute':\r\n\t\t\treturn miniMinute\r\n\t\tcase 'mini-minute-now':\r\n\t\t\treturn miniMinuteNow\r\n\t\tcase 'twitter':\r\n\t\t\treturn twitter\r\n\t\tcase 'twitter-now':\r\n\t\t\treturn twitterNow\r\n\t\tcase 'twitter-minute':\r\n\t\t\treturn twitterMinute\r\n\t\tcase 'twitter-minute-now':\r\n\t\t\treturn twitterMinuteNow\r\n\t\tcase 'twitter-first-minute':\r\n\t\t\treturn twitterFirstMinute\r\n\t\tdefault:\r\n\t\t\t// For historical reasons, the default style is \"approximate\".\r\n\t\t\treturn approximate\r\n\t}\r\n}","import RelativeTimeFormatPolyfill from 'relative-time-format'\r\n\r\nimport Cache from './cache.js'\r\nimport chooseLocale from './locale.js'\r\nimport isStyleObject from './isStyleObject.js'\r\n\r\nimport getStep from './steps/getStep.js'\r\nimport getStepDenominator from './steps/getStepDenominator.js'\r\nimport getTimeToNextUpdate from './steps/getTimeToNextUpdate.js'\r\n\r\nimport {\r\n\taddLocaleData,\r\n\tgetLocaleData\r\n} from './LocaleDataStore.js'\r\n\r\nimport defaultStyle from './style/roundMinute.js'\r\nimport getStyleByName from './style/getStyleByName.js'\r\n\r\nimport { getRoundFunction } from './round.js'\r\n\r\n// Valid time units.\r\nconst UNITS = [\r\n\t'now',\r\n\t// The rest are the same as in `Intl.RelativeTimeFormat`.\r\n\t'second',\r\n\t'minute',\r\n\t'hour',\r\n\t'day',\r\n\t'week',\r\n\t'month',\r\n\t'quarter',\r\n\t'year'\r\n]\r\n\r\nexport default class TimeAgo {\r\n\t/**\r\n\t * @param {(string|string[])} locales=[] - Preferred locales (or locale).\r\n\t * @param {boolean} [polyfill] — Pass `false` to use native `Intl.RelativeTimeFormat` and `Intl.PluralRules` instead of the polyfills.\r\n\t */\r\n\tconstructor(locales = [], { polyfill } = {}) {\r\n\t\t// Convert `locales` to an array.\r\n\t\tif (typeof locales === 'string') {\r\n\t\t\tlocales = [locales]\r\n\t\t}\r\n\r\n\t\t// Choose the most appropriate locale\r\n\t\t// from the list of `locales` added by the user.\r\n\t\t// For example, new TimeAgo(\"en-US\") -> \"en\".\r\n\t\tthis.locale = chooseLocale(\r\n\t\t\tlocales.concat(TimeAgo.getDefaultLocale()),\r\n\t\t\tgetLocaleData\r\n\t\t)\r\n\r\n\t\tif (typeof Intl !== 'undefined') {\r\n\t\t\t// Use `Intl.NumberFormat` for formatting numbers (when available).\r\n\t\t\tif (Intl.NumberFormat) {\r\n\t\t\t\tthis.numberFormat = new Intl.NumberFormat(this.locale)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Some people have requested the ability to use native\r\n\t\t// `Intl.RelativeTimeFormat` and `Intl.PluralRules`\r\n\t\t// instead of the polyfills.\r\n\t\t// https://github.com/catamphetamine/javascript-time-ago/issues/21\r\n\t\tif (polyfill === false) {\r\n\t\t\tthis.IntlRelativeTimeFormat = Intl.RelativeTimeFormat\r\n\t\t\tthis.IntlPluralRules = Intl.PluralRules\r\n\t\t} else {\r\n\t\t\tthis.IntlRelativeTimeFormat = RelativeTimeFormatPolyfill\r\n\t\t\tthis.IntlPluralRules = RelativeTimeFormatPolyfill.PluralRules\r\n\t\t}\r\n\r\n\t\t// Cache `Intl.RelativeTimeFormat` instance.\r\n\t\tthis.relativeTimeFormatCache = new Cache()\r\n\r\n\t\t// Cache `Intl.PluralRules` instance.\r\n\t\tthis.pluralRulesCache = new Cache()\r\n\t}\r\n\r\n\t/**\r\n\t * Formats relative date/time.\r\n\t *\r\n\t * @param {(number|Date)} input — A `Date` or a javascript timestamp.\r\n\t *\r\n\t * @param {(string|object)} style — Date/time formatting style. Either one of the built-in style names or a \"custom\" style definition object having `steps: object[]` and `labels: string[]`.\r\n\t *\r\n\t * @param {number} [options.now] - Sets the current date timestamp.\r\n\t *\r\n\t * @param {boolean} [options.future] — Tells how to format value `0`:\r\n\t * as \"future\" (`true`) or \"past\" (`false`).\r\n\t * Is `false` by default, but should have been `true` actually,\r\n\t * in order to correspond to `Intl.RelativeTimeFormat`\r\n\t * that uses `future` formatting for `0` unless `-0` is passed.\r\n\t *\r\n\t * @param {string} [options.round] — Rounding method. Overrides the style's one.\r\n\t *\r\n\t * @param {boolean} [options.getTimeToNextUpdate] — Pass `true` to return `[formattedDate, timeToNextUpdate]` instead of just `formattedDate`.\r\n\t *\r\n\t * @return {string} The formatted relative date/time. If no eligible `step` is found, then an empty string is returned.\r\n\t */\r\n\tformat(input, style, options) {\r\n\t\tif (!options) {\r\n\t\t\tif (style && !isStyle(style)) {\r\n\t\t\t\toptions = style\r\n\t\t\t\tstyle = undefined\r\n\t\t\t} else {\r\n\t\t\t\toptions = {}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!style) {\r\n\t\t\tstyle = defaultStyle\r\n\t\t}\r\n\r\n\t\tif (typeof style === 'string') {\r\n\t\t\tstyle = getStyleByName(style)\r\n\t\t}\r\n\r\n\t\tconst timestamp = getTimestamp(input)\r\n\r\n\t\t// Get locale messages for this type of labels.\r\n\t\t// \"flavour\" is a legacy name for \"labels\".\r\n\t\tconst { labels, labelsType } = this.getLabels(style.flavour || style.labels)\r\n\r\n\t\tlet now\r\n\t\t// Can pass a custom `now`, e.g. for testing purposes.\r\n\t\t//\r\n\t\t// Legacy way was passing `now` in `style`.\r\n\t\t// That way is deprecated.\r\n\t\tif (style.now !== undefined) {\r\n\t\t\tnow = style.now\r\n\t\t}\r\n\t\t// The new way is passing `now` option to `.format()`.\r\n\t\tif (now === undefined && options.now !== undefined) {\r\n\t\t\tnow = options.now\r\n\t\t}\r\n\t\tif (now === undefined) {\r\n\t\t\tnow = Date.now()\r\n\t\t}\r\n\r\n\t\t// how much time has passed (in seconds)\r\n\t\tconst secondsPassed = (now - timestamp) / 1000 // in seconds\r\n\r\n\t\tconst future = options.future || secondsPassed < 0\r\n\r\n\t\tconst nowLabel = getNowLabel(\r\n\t\t\tlabels,\r\n\t\t\tgetLocaleData(this.locale).now,\r\n\t\t\tgetLocaleData(this.locale).long,\r\n\t\t\tfuture\r\n\t\t)\r\n\r\n\t\t// `custom` – A function of `{ elapsed, time, date, now, locale }`.\r\n\t\t//\r\n\t\t// Looks like `custom` function is deprecated and will be removed\r\n\t\t// in the next major version.\r\n\t\t//\r\n\t\t// If this function returns a value, then the `.format()` call will return that value.\r\n\t\t// Otherwise the relative date/time is formatted as usual.\r\n\t\t// This feature is currently not used anywhere and is here\r\n\t\t// just for providing the ultimate customization point\r\n\t\t// in case anyone would ever need that. Prefer using\r\n\t\t// `steps[step].format(value, locale)` instead.\r\n\t\t//\r\n\t\tif (style.custom) {\r\n\t\t\tconst custom = style.custom({\r\n\t\t\t\tnow,\r\n\t\t\t\tdate: new Date(timestamp),\r\n\t\t\t\ttime: timestamp,\r\n\t\t\t\telapsed: secondsPassed,\r\n\t\t\t\tlocale: this.locale\r\n\t\t\t})\r\n\t\t\tif (custom !== undefined) {\r\n\t\t\t\t// Won't return `timeToNextUpdate` here\r\n\t\t\t\t// because `custom()` seems deprecated.\r\n\t\t\t\treturn custom\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Get the list of available time interval units.\r\n\t\tconst units = getTimeIntervalMeasurementUnits(\r\n\t\t\t// Controlling `style.steps` through `style.units` seems to be deprecated:\r\n\t\t\t// create a new custom `style` instead.\r\n\t\t\tstyle.units,\r\n\t\t\tlabels,\r\n\t\t\tnowLabel\r\n\t\t)\r\n\r\n\t\t// // If no available time unit is suitable, just output an empty string.\r\n\t\t// if (units.length === 0) {\r\n\t\t// \tconsole.error(`None of the \"${units.join(', ')}\" time units have been found in \"${labelsType}\" labels for \"${this.locale}\" locale.`)\r\n\t\t// \treturn ''\r\n\t\t// }\r\n\r\n\t\tconst round = options.round || style.round\r\n\r\n\t\t// Choose the appropriate time measurement unit\r\n\t\t// and get the corresponding rounded time amount.\r\n\t\tconst [prevStep, step, nextStep] = getStep(\r\n\t\t\t// \"gradation\" is a legacy name for \"steps\".\r\n\t\t\t// For historical reasons, \"approximate\" steps are used by default.\r\n\t\t\t// In the next major version, there'll be no default for `steps`.\r\n\t\t\tstyle.gradation || style.steps || defaultStyle.steps,\r\n\t\t\tsecondsPassed,\r\n\t\t\t{ now, units, round, future, getNextStep: true }\r\n\t\t)\r\n\r\n\t\tconst formattedDate = this.formatDateForStep(timestamp, step, secondsPassed, {\r\n\t\t\tlabels,\r\n\t\t\tlabelsType,\r\n\t\t\tnowLabel,\r\n\t\t\tnow,\r\n\t\t\tfuture,\r\n\t\t\tround\r\n\t\t}) || ''\r\n\r\n\t\tif (options.getTimeToNextUpdate) {\r\n\t\t\tconst timeToNextUpdate = getTimeToNextUpdate(timestamp, step, {\r\n\t\t\t\tnextStep,\r\n\t\t\t\tprevStep,\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture,\r\n\t\t\t\tround\r\n\t\t\t})\r\n\t\t\treturn [formattedDate, timeToNextUpdate]\r\n\t\t}\r\n\r\n\t\treturn formattedDate\r\n\t}\r\n\r\n\tformatDateForStep(timestamp, step, secondsPassed, {\r\n\t\tlabels,\r\n\t\tlabelsType,\r\n\t\tnowLabel,\r\n\t\tnow,\r\n\t\tfuture,\r\n\t\tround\r\n\t}) {\r\n\t\t// If no step matches, then output an empty string.\r\n\t\tif (!step) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (step.format) {\r\n\t\t\treturn step.format(timestamp, this.locale, {\r\n\t\t\t\tformatAs: (unit, value) => {\r\n\t\t\t\t\t// Mimicks `Intl.RelativeTimeFormat.format()`.\r\n\t\t\t\t\treturn this.formatValue(value, unit, {\r\n\t\t\t\t\t\tlabels,\r\n\t\t\t\t\t\tfuture\r\n\t\t\t\t\t})\r\n\t\t\t\t},\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t// \"unit\" is now called \"formatAs\".\r\n\t\tconst unit = step.unit || step.formatAs\r\n\r\n\t\tif (!unit) {\r\n\t\t\tthrow new Error(`[javascript-time-ago] Each step must define either \\`formatAs\\` or \\`format()\\`. Step: ${JSON.stringify(step)}`)\r\n\t\t}\r\n\r\n\t\t// `Intl.RelativeTimeFormat` doesn't operate in \"now\" units.\r\n\t\t// Therefore, threat \"now\" as a special case.\r\n\t\tif (unit === 'now') {\r\n\t\t\treturn nowLabel\r\n\t\t}\r\n\r\n\t\t// Amount in units.\r\n\t\tlet amount = Math.abs(secondsPassed) / getStepDenominator(step)\r\n\r\n\t\t// Apply granularity to the time amount\r\n\t\t// (and fallback to the previous step\r\n\t\t// if the first level of granularity\r\n\t\t// isn't met by this amount)\r\n\t\t//\r\n\t\t// `granularity` — (advanced) Time interval value \"granularity\".\r\n\t\t// For example, it could be set to `5` for minutes to allow only 5-minute increments\r\n\t\t// when formatting time intervals: `0 minutes`, `5 minutes`, `10 minutes`, etc.\r\n\t\t// Perhaps this feature will be removed because there seem to be no use cases\r\n\t\t// of it in the real world.\r\n\t\t//\r\n\t\tif (step.granularity) {\r\n\t\t\t// Recalculate the amount of seconds passed based on granularity\r\n\t\t\tamount = getRoundFunction(round)(amount / step.granularity) * step.granularity\r\n\t\t}\r\n\r\n\t\tlet valueForFormatting = -1 * Math.sign(secondsPassed) * getRoundFunction(round)(amount)\r\n\r\n\t\t// By default, this library formats a `0` in \"past\" mode,\r\n\t\t// unless `future: true` option is passed.\r\n\t\t// This is different to `relative-time-format`'s behavior\r\n\t\t// which formats a `0` in \"future\" mode by default, unless it's a `-0`.\r\n\t\t// So, convert `0` to `-0` if `future: true` option wasn't passed.\r\n\t\t// `=== 0` matches both `0` and `-0`.\r\n\t\tif (valueForFormatting === 0) {\r\n\t\t\tif (future) {\r\n\t\t\t\tvalueForFormatting = 0\r\n\t\t\t} else {\r\n\t\t\t\tvalueForFormatting = -0\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tswitch (labelsType) {\r\n\t\t\tcase 'long':\r\n\t\t\tcase 'short':\r\n\t\t\tcase 'narrow':\r\n\t\t\t\t// Format the amount using `Intl.RelativeTimeFormat`.\r\n\t\t\t\treturn this.getFormatter(labelsType).format(valueForFormatting, unit)\r\n\t\t\tdefault:\r\n\t\t\t\t// Format the amount.\r\n\t\t\t\t// (mimicks `Intl.RelativeTimeFormat` behavior for other time label styles)\r\n\t\t\t\treturn this.formatValue(valueForFormatting, unit, {\r\n\t\t\t\t\tlabels,\r\n\t\t\t\t\tfuture\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Mimicks what `Intl.RelativeTimeFormat` does for additional locale styles.\r\n\t * @param {number} value\r\n\t * @param {string} unit\r\n\t * @param {object} options.labels — Relative time labels.\r\n\t * @param {boolean} [options.future] — Tells how to format value `0`: as \"future\" (`true`) or \"past\" (`false`). Is `false` by default, but should have been `true` actually.\r\n\t * @return {string}\r\n\t */\r\n\tformatValue(value, unit, { labels, future }) {\r\n\t\treturn this.getFormattingRule(labels, unit, value, { future })\r\n\t\t\t.replace('{0}', this.formatNumber(Math.abs(value)))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns formatting rule for `value` in `units` (either in past or in future).\r\n\t * @param {object} formattingRules — Relative time labels for different units.\r\n\t * @param {string} unit - Time interval measurement unit.\r\n\t * @param {number} value - Time interval value.\r\n\t * @param {boolean} [options.future] — Tells how to format value `0`: as \"future\" (`true`) or \"past\" (`false`). Is `false` by default.\r\n\t * @return {string}\r\n\t * @example\r\n\t * // Returns \"{0} days ago\"\r\n\t * getFormattingRule(en.long, \"day\", -2, 'en')\r\n\t */\r\n\tgetFormattingRule(formattingRules, unit, value, { future }) {\r\n\t\t// Passing the language is required in order to\r\n\t\t// be able to correctly classify the `value` as a number.\r\n\t\tconst locale = this.locale\r\n\t\tformattingRules = formattingRules[unit]\r\n\t\t// Check for a special \"compacted\" rules case:\r\n\t\t// if formatting rules are the same for \"past\" and \"future\",\r\n\t\t// and also for all possible `value`s, then those rules are\r\n\t\t// stored as a single string.\r\n\t\tif (typeof formattingRules === 'string') {\r\n\t\t\treturn formattingRules\r\n\t\t}\r\n\t\t// Choose either \"past\" or \"future\" based on time `value` sign.\r\n\t\t// If \"past\" is same as \"future\" then they're stored as \"other\".\r\n\t\t// If there's only \"other\" then it's being collapsed.\r\n\t\tconst pastOrFuture = value === 0 ? (future ? 'future' : 'past') : (value < 0 ? 'past' : 'future')\r\n\t\tconst quantifierRules = formattingRules[pastOrFuture] || formattingRules\r\n\t\t// Bundle size optimization technique.\r\n\t\tif (typeof quantifierRules === 'string') {\r\n\t\t\treturn quantifierRules\r\n\t\t}\r\n\t\t// Quantify `value`.\r\n\t\tconst quantifier = this.getPluralRules().select(Math.abs(value))\r\n\t\t// \"other\" rule is supposed to always be present.\r\n\t\t// If only \"other\" rule is present then \"rules\" is not an object and is a string.\r\n\t\treturn quantifierRules[quantifier] || quantifierRules.other\r\n\t}\r\n\r\n\t/**\r\n\t * Formats a number into a string.\r\n\t * Uses `Intl.NumberFormat` when available.\r\n\t * @param {number} number\r\n\t * @return {string}\r\n\t */\r\n\tformatNumber(number) {\r\n\t\treturn this.numberFormat ? this.numberFormat.format(number) : String(number)\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an `Intl.RelativeTimeFormat` for a given `labelsType`.\r\n\t * @param {string} labelsType\r\n\t * @return {object} `Intl.RelativeTimeFormat` instance\r\n\t */\r\n\tgetFormatter(labelsType) {\r\n\t\t// `Intl.RelativeTimeFormat` instance creation is (hypothetically) assumed\r\n\t\t// a lengthy operation so the instances are cached and reused.\r\n\t\treturn this.relativeTimeFormatCache.get(this.locale, labelsType) ||\r\n\t\t\tthis.relativeTimeFormatCache.put(this.locale, labelsType, new this.IntlRelativeTimeFormat(this.locale, { style: labelsType }))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an `Intl.PluralRules` instance.\r\n\t * @return {object} `Intl.PluralRules` instance\r\n\t */\r\n\tgetPluralRules() {\r\n\t\t// `Intl.PluralRules` instance creation is (hypothetically) assumed\r\n\t\t// a lengthy operation so the instances are cached and reused.\r\n\t\treturn this.pluralRulesCache.get(this.locale) ||\r\n\t\t\tthis.pluralRulesCache.put(this.locale, new this.IntlPluralRules(this.locale))\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Gets localized labels for this type of labels.\r\n\t *\r\n\t * @param {(string|string[])} labelsType - Relative date/time labels type.\r\n\t * If it's an array then all label types are tried\r\n\t * until a suitable one is found.\r\n\t *\r\n\t * @returns {Object} Returns an object of shape { labelsType, labels }\r\n\t */\r\n\tgetLabels(labelsType = []) {\r\n\t\t// Convert `labels` to an array.\r\n\t\tif (typeof labelsType === 'string') {\r\n\t\t\tlabelsType = [labelsType]\r\n\t\t}\r\n\r\n\t\t// Supports legacy \"tiny\" and \"mini-time\" label styles.\r\n\t\tlabelsType = labelsType.map((labelsType) => {\r\n\t\t\tswitch (labelsType) {\r\n\t\t\t\tcase 'tiny':\r\n\t\t\t\tcase 'mini-time':\r\n\t\t\t\t\treturn 'mini'\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn labelsType\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t// \"long\" labels type is the default one.\r\n\t\t// (it's always present for all languages)\r\n\t\tlabelsType = labelsType.concat('long')\r\n\r\n\t\t// Find a suitable labels type.\r\n\t\tconst localeData = getLocaleData(this.locale)\r\n\t\tfor (const _labelsType of labelsType) {\r\n\t\t\tif (localeData[_labelsType]) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tlabelsType: _labelsType,\r\n\t\t\t\t\tlabels: localeData[_labelsType]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Default locale global variable.\r\n */\r\nlet defaultLocale = 'en'\r\n\r\n/**\r\n * Gets default locale.\r\n * @return {string} locale\r\n */\r\nTimeAgo.getDefaultLocale = () => defaultLocale\r\n\r\n/**\r\n * Sets default locale.\r\n * @param {string} locale\r\n */\r\nTimeAgo.setDefaultLocale = (locale) => defaultLocale = locale\r\n\r\n/**\r\n * Adds locale data for a specific locale and marks the locale as default.\r\n * @param {Object} localeData\r\n */\r\nTimeAgo.addDefaultLocale = function(localeData) {\r\n\tif (defaultLocaleHasBeenSpecified) {\r\n\t\treturn console.error('[javascript-time-ago] `TimeAgo.addDefaultLocale()` can only be called once. To add other locales, use `TimeAgo.addLocale()`.')\r\n\t}\r\n\tdefaultLocaleHasBeenSpecified = true\r\n\tTimeAgo.setDefaultLocale(localeData.locale)\r\n\tTimeAgo.addLocale(localeData)\r\n}\r\n\r\nlet defaultLocaleHasBeenSpecified\r\n\r\n/**\r\n * Adds locale data for a specific locale.\r\n * @param {Object} localeData\r\n */\r\nTimeAgo.addLocale = function(localeData) {\r\n\taddLocaleData(localeData)\r\n\tRelativeTimeFormatPolyfill.addLocale(localeData)\r\n}\r\n\r\n/**\r\n * (legacy alias)\r\n * Adds locale data for a specific locale.\r\n * @param {Object} localeData\r\n * @deprecated\r\n */\r\nTimeAgo.locale = TimeAgo.addLocale\r\n\r\n/**\r\n * Adds custom labels to locale data.\r\n * @param {string} locale\r\n * @param {string} name\r\n * @param {object} labels\r\n */\r\nTimeAgo.addLabels = (locale, name, labels) => {\r\n\tlet localeData = getLocaleData(locale)\r\n\tif (!localeData) {\r\n\t\taddLocaleData({\r\n\t\t\tlocale\r\n\t\t})\r\n\t\tlocaleData = getLocaleData(locale)\r\n\t\t// throw new Error(`[javascript-time-ago] No data for locale \"${locale}\"`)\r\n\t}\r\n\tlocaleData[name] = labels\r\n}\r\n\r\n// Normalizes `.format()` `time` argument.\r\nfunction getTimestamp(input) {\r\n\tif (input.constructor === Date || isMockedDate(input)) {\r\n\t\treturn input.getTime()\r\n\t}\r\n\r\n\tif (typeof input === 'number') {\r\n\t\treturn input\r\n\t}\r\n\r\n\t// For some weird reason istanbul doesn't see this `throw` covered.\r\n\t/* istanbul ignore next */\r\n\tthrow new Error(`Unsupported relative time formatter input: ${typeof input}, ${input}`)\r\n}\r\n\r\n// During testing via some testing libraries `Date`s aren't actually `Date`s.\r\n// https://github.com/catamphetamine/javascript-time-ago/issues/22\r\nfunction isMockedDate(object) {\r\n\treturn typeof object === 'object' && typeof object.getTime === 'function'\r\n}\r\n\r\n// Get available time interval measurement units.\r\nfunction getTimeIntervalMeasurementUnits(allowedUnits, labels, nowLabel) {\r\n\t// Get all time interval measurement units that're available\r\n\t// in locale data for a given time labels style.\r\n\tlet units = Object.keys(labels)\r\n\r\n\t// `now` unit is handled separately and is shipped in its own `now.json` file.\r\n\t// `now.json` isn't present for all locales, so it could be substituted with\r\n\t// \".second.current\".\r\n\t// Add `now` unit if it's available in locale data.\r\n\tif (nowLabel) {\r\n\t\tunits.push('now')\r\n\t}\r\n\r\n\t// If only a specific set of available time measurement units can be used\r\n\t// then only those units are allowed (if they're present in locale data).\r\n\tif (allowedUnits) {\r\n\t\tunits = allowedUnits.filter(unit => unit === 'now' || units.indexOf(unit) >= 0)\r\n\t}\r\n\r\n\treturn units\r\n}\r\n\r\nfunction getNowLabel(labels, nowLabels, longLabels, future) {\r\n\tconst nowLabel = labels.now || (nowLabels && nowLabels.now)\r\n\t// Specific \"now\" message form extended locale data (if present).\r\n\tif (nowLabel) {\r\n\t\t// Bundle size optimization technique.\r\n\t\tif (typeof nowLabel === 'string') {\r\n\t\t\treturn nowLabel\r\n\t\t}\r\n\t\t// Not handling `value === 0` as `localeData.now.current` here\r\n\t\t// because it wouldn't make sense: \"now\" is a moment,\r\n\t\t// so one can't possibly differentiate between a\r\n\t\t// \"previous\" moment, a \"current\" moment and a \"next moment\".\r\n\t\t// It can only be differentiated between \"past\" and \"future\".\r\n\t\tif (future) {\r\n\t\t\treturn nowLabel.future\r\n\t\t} else {\r\n\t\t\treturn nowLabel.past\r\n\t\t}\r\n\t}\r\n\t// Use \".second.current\" as \"now\" message.\r\n\tif (longLabels && longLabels.second && longLabels.second.current) {\r\n\t\treturn longLabels.second.current\r\n\t}\r\n}\r\n\r\nfunction isStyle(variable) {\r\n\treturn typeof variable === 'string' || isStyleObject(variable)\r\n}","export default {\n\t\"locale\": \"ru\",\n\t\"long\": {\n\t\t\"year\": {\n\t\t\t\"previous\": \"в прошлом году\",\n\t\t\t\"current\": \"в этом году\",\n\t\t\t\"next\": \"в следующем году\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} год назад\",\n\t\t\t\t\"many\": \"{0} лет назад\",\n\t\t\t\t\"other\": \"{0} года назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} год\",\n\t\t\t\t\"many\": \"через {0} лет\",\n\t\t\t\t\"other\": \"через {0} года\"\n\t\t\t}\n\t\t},\n\t\t\"quarter\": {\n\t\t\t\"previous\": \"в прошлом квартале\",\n\t\t\t\"current\": \"в текущем квартале\",\n\t\t\t\"next\": \"в следующем квартале\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} квартал назад\",\n\t\t\t\t\"many\": \"{0} кварталов назад\",\n\t\t\t\t\"other\": \"{0} квартала назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} квартал\",\n\t\t\t\t\"many\": \"через {0} кварталов\",\n\t\t\t\t\"other\": \"через {0} квартала\"\n\t\t\t}\n\t\t},\n\t\t\"month\": {\n\t\t\t\"previous\": \"в прошлом месяце\",\n\t\t\t\"current\": \"в этом месяце\",\n\t\t\t\"next\": \"в следующем месяце\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} месяц назад\",\n\t\t\t\t\"many\": \"{0} месяцев назад\",\n\t\t\t\t\"other\": \"{0} месяца назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} месяц\",\n\t\t\t\t\"many\": \"через {0} месяцев\",\n\t\t\t\t\"other\": \"через {0} месяца\"\n\t\t\t}\n\t\t},\n\t\t\"week\": {\n\t\t\t\"previous\": \"на прошлой неделе\",\n\t\t\t\"current\": \"на этой неделе\",\n\t\t\t\"next\": \"на следующей неделе\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} неделю назад\",\n\t\t\t\t\"many\": \"{0} недель назад\",\n\t\t\t\t\"other\": \"{0} недели назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} неделю\",\n\t\t\t\t\"many\": \"через {0} недель\",\n\t\t\t\t\"other\": \"через {0} недели\"\n\t\t\t}\n\t\t},\n\t\t\"day\": {\n\t\t\t\"previous\": \"вчера\",\n\t\t\t\"previous-2\": \"позавчера\",\n\t\t\t\"current\": \"сегодня\",\n\t\t\t\"next\": \"завтра\",\n\t\t\t\"next-2\": \"послезавтра\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} день назад\",\n\t\t\t\t\"many\": \"{0} дней назад\",\n\t\t\t\t\"other\": \"{0} дня назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} день\",\n\t\t\t\t\"many\": \"через {0} дней\",\n\t\t\t\t\"other\": \"через {0} дня\"\n\t\t\t}\n\t\t},\n\t\t\"hour\": {\n\t\t\t\"current\": \"в этот час\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} час назад\",\n\t\t\t\t\"many\": \"{0} часов назад\",\n\t\t\t\t\"other\": \"{0} часа назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} час\",\n\t\t\t\t\"many\": \"через {0} часов\",\n\t\t\t\t\"other\": \"через {0} часа\"\n\t\t\t}\n\t\t},\n\t\t\"minute\": {\n\t\t\t\"current\": \"в эту минуту\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} минуту назад\",\n\t\t\t\t\"many\": \"{0} минут назад\",\n\t\t\t\t\"other\": \"{0} минуты назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} минуту\",\n\t\t\t\t\"many\": \"через {0} минут\",\n\t\t\t\t\"other\": \"через {0} минуты\"\n\t\t\t}\n\t\t},\n\t\t\"second\": {\n\t\t\t\"current\": \"сейчас\",\n\t\t\t\"past\": {\n\t\t\t\t\"one\": \"{0} секунду назад\",\n\t\t\t\t\"many\": \"{0} секунд назад\",\n\t\t\t\t\"other\": \"{0} секунды назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"one\": \"через {0} секунду\",\n\t\t\t\t\"many\": \"через {0} секунд\",\n\t\t\t\t\"other\": \"через {0} секунды\"\n\t\t\t}\n\t\t}\n\t},\n\t\"short\": {\n\t\t\"year\": {\n\t\t\t\"previous\": \"в прошлом г.\",\n\t\t\t\"current\": \"в этом г.\",\n\t\t\t\"next\": \"в след. г.\",\n\t\t\t\"past\": {\n\t\t\t\t\"many\": \"{0} л. назад\",\n\t\t\t\t\"other\": \"{0} г. назад\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"many\": \"через {0} л.\",\n\t\t\t\t\"other\": \"через {0} г.\"\n\t\t\t}\n\t\t},\n\t\t\"quarter\": {\n\t\t\t\"previous\": \"последний кв.\",\n\t\t\t\"current\": \"текущий кв.\",\n\t\t\t\"next\": \"следующий кв.\",\n\t\t\t\"past\": \"{0} кв. назад\",\n\t\t\t\"future\": \"через {0} кв.\"\n\t\t},\n\t\t\"month\": {\n\t\t\t\"previous\": \"в прошлом мес.\",\n\t\t\t\"current\": \"в этом мес.\",\n\t\t\t\"next\": \"в следующем мес.\",\n\t\t\t\"past\": \"{0} мес. назад\",\n\t\t\t\"future\": \"через {0} мес.\"\n\t\t},\n\t\t\"week\": {\n\t\t\t\"previous\": \"на прошлой нед.\",\n\t\t\t\"current\": \"на этой нед.\",\n\t\t\t\"next\": \"на следующей нед.\",\n\t\t\t\"past\": \"{0} нед. назад\",\n\t\t\t\"future\": \"через {0} нед.\"\n\t\t},\n\t\t\"day\": {\n\t\t\t\"previous\": \"вчера\",\n\t\t\t\"previous-2\": \"позавчера\",\n\t\t\t\"current\": \"сегодня\",\n\t\t\t\"next\": \"завтра\",\n\t\t\t\"next-2\": \"послезавтра\",\n\t\t\t\"past\": \"{0} дн. назад\",\n\t\t\t\"future\": \"через {0} дн.\"\n\t\t},\n\t\t\"hour\": {\n\t\t\t\"current\": \"в этот час\",\n\t\t\t\"past\": \"{0} ч назад\",\n\t\t\t\"future\": \"через {0} ч\"\n\t\t},\n\t\t\"minute\": {\n\t\t\t\"current\": \"в эту минуту\",\n\t\t\t\"past\": \"{0} мин. назад\",\n\t\t\t\"future\": \"через {0} мин.\"\n\t\t},\n\t\t\"second\": {\n\t\t\t\"current\": \"сейчас\",\n\t\t\t\"past\": \"{0} сек. назад\",\n\t\t\t\"future\": \"через {0} сек.\"\n\t\t}\n\t},\n\t\"narrow\": {\n\t\t\"year\": {\n\t\t\t\"previous\": \"в пр. г.\",\n\t\t\t\"current\": \"в эт. г.\",\n\t\t\t\"next\": \"в сл. г.\",\n\t\t\t\"past\": {\n\t\t\t\t\"many\": \"-{0} л.\",\n\t\t\t\t\"other\": \"-{0} г.\"\n\t\t\t},\n\t\t\t\"future\": {\n\t\t\t\t\"many\": \"+{0} л.\",\n\t\t\t\t\"other\": \"+{0} г.\"\n\t\t\t}\n\t\t},\n\t\t\"quarter\": {\n\t\t\t\"previous\": \"посл. кв.\",\n\t\t\t\"current\": \"тек. кв.\",\n\t\t\t\"next\": \"след. кв.\",\n\t\t\t\"past\": \"-{0} кв.\",\n\t\t\t\"future\": \"+{0} кв.\"\n\t\t},\n\t\t\"month\": {\n\t\t\t\"previous\": \"в пр. мес.\",\n\t\t\t\"current\": \"в эт. мес.\",\n\t\t\t\"next\": \"в след. мес.\",\n\t\t\t\"past\": \"-{0} мес.\",\n\t\t\t\"future\": \"+{0} мес.\"\n\t\t},\n\t\t\"week\": {\n\t\t\t\"previous\": \"на пр. нед.\",\n\t\t\t\"current\": \"на эт. нед.\",\n\t\t\t\"next\": \"на след. нед.\",\n\t\t\t\"past\": \"-{0} нед.\",\n\t\t\t\"future\": \"+{0} нед.\"\n\t\t},\n\t\t\"day\": {\n\t\t\t\"previous\": \"вчера\",\n\t\t\t\"previous-2\": \"позавчера\",\n\t\t\t\"current\": \"сегодня\",\n\t\t\t\"next\": \"завтра\",\n\t\t\t\"next-2\": \"послезавтра\",\n\t\t\t\"past\": \"-{0} дн.\",\n\t\t\t\"future\": \"+{0} дн.\"\n\t\t},\n\t\t\"hour\": {\n\t\t\t\"current\": \"в этот час\",\n\t\t\t\"past\": \"-{0} ч\",\n\t\t\t\"future\": \"+{0} ч\"\n\t\t},\n\t\t\"minute\": {\n\t\t\t\"current\": \"в эту минуту\",\n\t\t\t\"past\": \"-{0} мин\",\n\t\t\t\"future\": \"+{0} мин\"\n\t\t},\n\t\t\"second\": {\n\t\t\t\"current\": \"сейчас\",\n\t\t\t\"past\": \"-{0} с\",\n\t\t\t\"future\": \"+{0} с\"\n\t\t}\n\t},\n\t\"now\": {\n\t\t\"now\": {\n\t\t\t\"current\": \"сейчас\",\n\t\t\t\"past\": \"только что\",\n\t\t\t\"future\": \"сейчас\"\n\t\t}\n\t},\n\t\"mini\": {\n\t\t\"year\": {\n\t\t\t\"many\": \"{0} л\",\n\t\t\t\"other\": \"{0} г\"\n\t\t},\n\t\t\"month\": \"{0} мес\",\n\t\t\"week\": \"{0} нед\",\n\t\t\"day\": \"{0} д\",\n\t\t\"hour\": \"{0} ч\",\n\t\t\"minute\": \"{0} мин\",\n\t\t\"second\": \"{0} с\",\n\t\t\"now\": \"сейчас\"\n\t},\n\t\"short-time\": {\n\t\t\"year\": {\n\t\t\t\"many\": \"{0} л.\",\n\t\t\t\"other\": \"{0} г.\"\n\t\t},\n\t\t\"month\": \"{0} мес.\",\n\t\t\"week\": \"{0} нед.\",\n\t\t\"day\": {\n\t\t\t\"one\": \"{0} д.\",\n\t\t\t\"other\": \"{0} дн.\"\n\t\t},\n\t\t\"hour\": \"{0} ч.\",\n\t\t\"minute\": \"{0} мин.\",\n\t\t\"second\": \"{0} сек.\"\n\t},\n\t\"long-time\": {\n\t\t\"year\": {\n\t\t\t\"one\": \"{0} год\",\n\t\t\t\"many\": \"{0} лет\",\n\t\t\t\"other\": \"{0} года\"\n\t\t},\n\t\t\"month\": {\n\t\t\t\"one\": \"{0} месяц\",\n\t\t\t\"many\": \"{0} месяцев\",\n\t\t\t\"other\": \"{0} месяца\"\n\t\t},\n\t\t\"week\": {\n\t\t\t\"one\": \"{0} неделю\",\n\t\t\t\"many\": \"{0} недель\",\n\t\t\t\"other\": \"{0} недели\"\n\t\t},\n\t\t\"day\": {\n\t\t\t\"one\": \"{0} день\",\n\t\t\t\"few\": \"{0} дня\",\n\t\t\t\"other\": \"{0} дней\"\n\t\t},\n\t\t\"hour\": {\n\t\t\t\"one\": \"{0} час\",\n\t\t\t\"many\": \"{0} часов\",\n\t\t\t\"other\": \"{0} часа\"\n\t\t},\n\t\t\"minute\": {\n\t\t\t\"one\": \"{0} минута\",\n\t\t\t\"many\": \"{0} минут\",\n\t\t\t\"other\": \"{0} минуты\"\n\t\t},\n\t\t\"second\": {\n\t\t\t\"one\": \"{0} секунда\",\n\t\t\t\"many\": \"{0} секунд\",\n\t\t\t\"other\": \"{0} секунды\"\n\t\t}\n\t}\n}","import TimeAgoLib from 'javascript-time-ago'\nimport ru from 'javascript-time-ago/locale/ru'\n\nTimeAgoLib.addLocale(ru)\nconst ta = new TimeAgoLib('ru-RU')\n\nexport function TimeAgo (datetime: string): string {\n const d = new Date(datetime)\n\n return ta.format(d)\n}\n\nexport function SecondsToTime (seconds: number): string {\n const h = Math.floor(seconds / 3600)\n const m = Math.floor((seconds % 3600) / 60)\n const s = seconds % 60\n\n return [\n h,\n m > 9 ? m : (h ? '0' + m : m || '0'),\n s > 9 ? s : '0' + s\n ].filter(a => a).join(':')\n}\n\nexport function CompactNumber (value: number| null, fixed = 0): string|null {\n if (value === null) { // terminate early\n return null\n }\n\n value = Number(value)\n\n if (isNaN(value)) {\n return '0'\n }\n\n if (value === 0) {\n return '0'\n }\n\n fixed = (!fixed || fixed < 0) ? 0 : fixed // number of decimal places to show\n\n const b = (value).toPrecision(2).split('e') // get power\n\n const k: number = b.length === 1 ? 0 : Math.floor(Math.min(Number(b[1].slice(1)), 14) / 3) // floor at decimals, ceiling at trillions\n const c: string = k < 1 ? value.toFixed(0 + fixed) : (value / Math.pow(10, k * 3)).toFixed(fixed) // divide by power\n const d: number = Number(c) < 0 ? Number(c) : Math.abs(Number(c)) // enforce -0 is 0\n // append power\n return d + ['', 'k', 'm', 'b', 't'][k]\n}\n\nexport function LikesPercent (likes: number, dislikes = 0) {\n const votesSum = likes + dislikes\n\n if (votesSum === 0) {\n return 100\n }\n\n const likesPercent = (likes / votesSum) * 100\n\n return Math.ceil(likesPercent)\n}\n\nexport default {\n TimeAgo,\n SecondsToTime,\n CompactNumber,\n LikesPercent\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot } from \"vue\"\n\nimport { LikesPercent } from '@/js/helpers/Formatters'\nimport { ref, withDefaults, computed, reactive } from 'vue'\n\ntype ComponentProperties = {\n resourceId: number|string;\n sendUrl: string;\n likes?: number;\n dislikes?: number;\n}\ntype VoteResult = {\n resourceId: number|string;\n action: 'up'|'down'\n}\ntype ApiPayload = {\n id: number|string;\n action: 'up'|'down'\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VoteBox',\n props: {\n resourceId: null,\n sendUrl: null,\n likes: { default: 0 },\n dislikes: { default: 0 }\n },\n emits: [\"voted\"],\n setup(__props: any, { emit }: { emit: ({\n (e: 'voted', data: VoteResult): void\n}), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { resourceId: number|string, sendUrl: string, likes: number, dislikes: number };\n\n\n\n\n\nconst getFromStorage = (key: string): Array => {\n const record = localStorage.getItem(key)\n\n if (record) {\n return JSON.parse(record)\n }\n\n return []\n}\n\nconst setToStorage = (key: string, payload: Array): void => {\n return localStorage.setItem(key, JSON.stringify(payload))\n}\n\nconst likes = ref(props.likes)\nconst dislikes = ref(props.dislikes)\nconst likesPercent = computed((): number => LikesPercent(likes.value, dislikes.value))\nconst votedResources: Array = reactive(getFromStorage('votedResources'))\n\nconst notifyBackend = (apiUrl: string, payload: ApiPayload): Promise => {\n return fetch(apiUrl, {\n method: 'POST',\n cache: 'no-cache',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(payload)\n })\n .then((response) => {\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n\n return response\n })\n}\n\nconst voteLike = () => {\n if (isVoted()) {\n return\n }\n\n const payload: ApiPayload = { id: props.resourceId, action: 'up'}\n\n notifyBackend(props.sendUrl, payload)\n .then(() => {\n likes.value += 1\n votedResources.push(props.resourceId)\n setToStorage('votedResources', votedResources)\n emit('voted', { resourceId: props.resourceId, action: 'up'})\n })\n /*.catch((err) => {\n console.error(err)\n })*/\n}\n\nconst voteDislike = () => {\n if (isVoted()) {\n return\n }\n\n const payload: ApiPayload = { id: props.resourceId, action: 'down'}\n\n notifyBackend(props.sendUrl, payload)\n .then(() => {\n dislikes.value += 1\n votedResources.push(props.resourceId)\n setToStorage('votedResources', votedResources)\n emit('voted', { resourceId: props.resourceId, action: 'down'})\n })\n /*.catch((err) => {\n console.error(err)\n })*/\n}\n\nconst isVoted = (): boolean => {\n return votedResources.indexOf(props.resourceId) !== -1\n}\n\nreturn (_ctx: any,_cache: any) => {\n return _renderSlot(_ctx.$slots, \"default\", {\n resourceId: __props.resourceId,\n likes: likes.value,\n dislikes: dislikes.value,\n likesPercent: _unref(likesPercent),\n isVoted: isVoted,\n voteLike: voteLike,\n voteDislike: voteDislike\n })\n}\n}\n\n})","import script from \"./VoteBox.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./VoteBox.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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 _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 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}","type RotatorConfig = {\n sendUrl: string\n}\n\nexport default {\n sendUrl: '/api/v1/videos/rotator/'\n}\n","import config from '@/configs/rotator'\n\n/**\n * Thumb show new in viewport square\n *\n * @param {*} el\n */\nconst isInViewport = (el: Element) => {\n // let clientWidth = window.innerWidth || document.documentElement.clientWidth\n const clientHeight = window.innerHeight || document.documentElement.clientHeight\n const bounding = el.getBoundingClientRect()\n const halfElementHeight = bounding.height / 2\n const minRegisterHeight = (clientHeight - halfElementHeight)\n\n return (\n bounding.top <= minRegisterHeight &&\n bounding.top >= -halfElementHeight\n )\n}\n\ntype Stats = {\n categoriesClicked: Array,\n videosViewed: Array,\n videosClicked: Array\n}\n\nexport type RotatorOptions = {\n enabled: boolean,\n videosSelector: string,\n videosAttribute: string,\n categoriesSelector: string,\n categoriesAttribute: string\n}\n\nclass Rotator {\n options: RotatorOptions = {\n enabled: false,\n videosSelector: '[data-vt]',\n videosAttribute: 'data-vt',\n categoriesSelector: '[data-ct]',\n categoriesAttribute: 'data-ct'\n }\n\n stats: Stats = {\n categoriesClicked: [],\n videosViewed: [],\n videosClicked: []\n }\n\n /**\n * Rotator constructor\n *\n * @param options\n */\n constructor (options: Partial = {}) {\n this.options = { ...this.options, ...options }\n }\n\n /**\n * Replace default configuration\n *\n * @param {*} options\n */\n configure (options: Partial = {}) {\n this.options = { ...this.options, ...options }\n }\n\n /**\n * Run watch\n */\n run () {\n if (!this.options.enabled) {\n return\n }\n\n const videosLinks = document.querySelectorAll(this.options.videosSelector)\n const categoriesLinks = document.querySelectorAll(this.options.categoriesSelector)\n\n videosLinks.forEach((el): void => {\n this.handleVideoThumbs(el)\n })\n categoriesLinks.forEach((el) => {\n this.handleCategoriesLinks(el)\n })\n\n window.addEventListener('scroll', () => {\n if (videosLinks.length === this.stats.videosViewed.length) {\n return\n }\n\n videosLinks.forEach((el) => {\n this.registerVideoShow(el)\n })\n }, true)\n\n this.sendReport()\n }\n\n /**\n * Send report when window closer or move to other page\n */\n sendReport () {\n window.addEventListener('pagehide', () => {\n fetch(config.sendUrl, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n },\n cache: 'no-cache',\n keepalive: true,\n body: JSON.stringify(this.stats)\n })\n })\n }\n\n /**\n * Регистрирует клик по категории.\n *\n * @param data\n */\n registerCategoryClick (data: string|null) {\n if (data !== null && this.stats.categoriesClicked.indexOf(data) === -1) {\n this.stats.categoriesClicked.push(data)\n }\n }\n\n /**\n * Регистрирует клик по видео.\n *\n * @param data\n */\n registerVideoClick(data: string|null) {\n if (data !== null && this.stats.videosClicked.indexOf(data) === -1) {\n this.stats.videosClicked.push(data)\n }\n }\n\n /**\n * Регистрирует показ видео тумбы на экране\n * @param {*} el\n */\n registerVideoShow (el: Element) {\n if (!isInViewport(el)) {\n return\n }\n\n const encodedVideo = el.getAttribute(this.options.videosAttribute)\n\n if (encodedVideo !== null && this.stats.videosViewed.indexOf(encodedVideo) === -1) {\n this.stats.videosViewed.push(encodedVideo)\n }\n }\n\n /**\n * Начальная обработка видео тумбы. Регистрация на экране и аттач листеров\n * @param {*} el\n */\n handleVideoThumbs (el: Element) {\n this.registerVideoShow(el)\n\n el.addEventListener('click', () => {\n this.registerVideoClick(el.getAttribute(this.options.videosAttribute))\n })\n }\n\n /**\n * Начальная обработка тумбы\\ссылки категории. Аттач листеров\n * @param {*} el\n */\n handleCategoriesLinks (el: Element) {\n el.addEventListener('click', () => {\n this.registerCategoryClick(el.getAttribute(this.options.categoriesAttribute))\n })\n }\n}\n\nconst rt = new Rotator()\n\nexport default rt\n","export type RotatorConfig = {\n enabled: boolean;\n sendReportUrl: string;\n galleryWatchAttrName: string,\n categoryWatchAttrName: string\n}\n\nexport default {\n enabled: false,\n sendReportUrl: '/api/v1/gallery/watch-stats/',\n galleryWatchAttrName: 'data-gw',\n categoryWatchAttrName: 'data-gcw'\n}\n","import defaultConfig from '@/configs/galleryRotatorWatcher'\nimport type { RotatorConfig } from '@/configs/galleryRotatorWatcher'\n//import type { RotatorConfig }, defaultConfig from '@/configs/galleryRotatorWatcher'\n\ntype Stats = {\n categoriesClicked: Array,\n galleriesViewed: Array,\n galleriesClicked: Array\n}\n\nconst config = { ...defaultConfig }\nconst statsCollector: Stats = {\n categoriesClicked: [],\n galleriesViewed: [],\n galleriesClicked: []\n}\n\nconst observerOptions = {\n root: null,\n threshold: 0.75\n}\n\nconst handleIntersection: IntersectionObserverCallback = (entries, observer) => {\n entries.map((entry) => {\n if (entry.isIntersecting) {\n const el = entry.target\n const val = el.getAttribute(config.galleryWatchAttrName)\n\n if (val !== null) {\n statsCollector.galleriesViewed.push(val)\n }\n\n observer.unobserve(entry.target);\n }\n })\n}\n\nconst registerGalleryClick = (id: string|null) => {\n if (id === null || statsCollector.galleriesClicked.indexOf(id) > -1) {\n return\n }\n\n statsCollector.galleriesClicked.push(id)\n}\n\nconst registerCategoryClick = (id: string|null) => {\n if (id === null || statsCollector.categoriesClicked.indexOf(id) > -1) {\n return\n }\n\n statsCollector.categoriesClicked.push(id)\n}\n\n/**\n * Send report when window closer or move to other page\n */\nconst sendReport = (sendReportUrl: string, statsCollector: object) => {\n fetch(sendReportUrl, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n },\n cache: 'no-cache',\n keepalive: true,\n body: JSON.stringify(statsCollector)\n })\n}\n\nconst configure = (newConf: RotatorConfig) => {\n Object.assign(config, { ...newConf })\n}\n\nconst watch = () => {\n const observer = new IntersectionObserver(handleIntersection, observerOptions);\n\n const galleriesThumbs = document.querySelectorAll(`[${config.galleryWatchAttrName}]`)\n\n galleriesThumbs.forEach((el) => {\n observer.observe(el)\n\n el.addEventListener('click', () => {\n registerGalleryClick(el.getAttribute(config.galleryWatchAttrName))\n })\n })\n\n const observedCategories = document.querySelectorAll(`[${config.categoryWatchAttrName}]`)\n\n observedCategories.forEach((el) => {\n el.addEventListener('click', () => {\n registerCategoryClick(el.getAttribute(config.categoryWatchAttrName))\n })\n })\n\n window.addEventListener('pagehide', () => {\n sendReport(config.sendReportUrl, statsCollector)\n })\n}\n\nexport {\n watch,\n configure\n}\n","import './assets/scss/main.scss'\nimport './assets/fonts/icons.css'\nimport { createApp, defineAsyncComponent } from 'vue'\nimport AppConfig from './js/AppConfig'\nimport ScrollToTop from './components/ScrollToTop.vue'\n//import FlagButton from './components/FlagForm/FlagButton.vue'\n//import FlagFormContainer from './components/FlagForm/FlagFormContainer.vue'\nimport VoteBox from './components/VoteBox.vue'\n//const VideoPlayer = () => import('./components/VideoPlayer.vue');\n//import VideoPreview from './components/VideoPreview.vue'\nimport Rotator from './js/Rotator'\nimport { watch as galleryWatch } from './js/GalleryRotatorWatch'\n\ncreateApp({\n components: {\n ScrollToTop,\n GallerySlider: defineAsyncComponent(() => import('@/components/LightGallery/GallerySlider.vue')),\n //FlagButton,\n //FlagFormContainer,\n VoteBox,\n //VideoPreview,\n //VideoPlayer\n }\n}).mount('#app')\n\nif (AppConfig.videoRotator.enabled) {\n Rotator.configure(AppConfig.videoRotator)\n Rotator.run()\n}\n\nif (AppConfig.galleryRotator.enabled) {\n galleryWatch()\n}\n","/**\n * Make a map and return a function for checking if a key\n * is in that map.\n * IMPORTANT: all calls of this function must be prefixed with\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\n * So that rollup can tree-shake them if necessary.\n */\nfunction makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\n}\n\n/**\n * dev only flag -> name mapping\n */\nconst PatchFlagNames = {\n [1 /* PatchFlags.TEXT */]: `TEXT`,\n [2 /* PatchFlags.CLASS */]: `CLASS`,\n [4 /* PatchFlags.STYLE */]: `STYLE`,\n [8 /* PatchFlags.PROPS */]: `PROPS`,\n [16 /* PatchFlags.FULL_PROPS */]: `FULL_PROPS`,\n [32 /* PatchFlags.HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\n [64 /* PatchFlags.STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\n [128 /* PatchFlags.KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\n [256 /* PatchFlags.UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\n [512 /* PatchFlags.NEED_PATCH */]: `NEED_PATCH`,\n [1024 /* PatchFlags.DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\n [2048 /* PatchFlags.DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\n [-1 /* PatchFlags.HOISTED */]: `HOISTED`,\n [-2 /* PatchFlags.BAIL */]: `BAIL`\n};\n\n/**\n * Dev only\n */\nconst slotFlagsText = {\n [1 /* SlotFlags.STABLE */]: 'STABLE',\n [2 /* SlotFlags.DYNAMIC */]: 'DYNAMIC',\n [3 /* SlotFlags.FORWARDED */]: 'FORWARDED'\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n // Split the content into individual lines but capture the newline sequence\n // that separated each line. This is important because the actual sequence is\n // needed to properly take into account the full line length for offset\n // comparison\n let lines = source.split(/(\\r?\\n)/);\n // Separate the lines and newline sequences into separate arrays for easier referencing\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count +=\n lines[i].length +\n ((newlineSequences[i] && newlineSequences[i].length) || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\n const lineLength = lines[j].length;\n const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0;\n if (j === i) {\n // push underline\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else if (isString(value)) {\n return value;\n }\n else if (isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*.*?\\*\\//gs;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText\n .replace(styleCommentRE, '')\n .split(listDelimiterRE)\n .forEach(item => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = '';\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === 'number') {\n // only render valid values\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = '';\n if (isString(value)) {\n res = value;\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + ' ';\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\n// These tag configs are shared between compiler-dom and runtime-dom, so they\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element\nconst HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +\n 'header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +\n 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +\n 'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +\n 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +\n 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' +\n 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' +\n 'option,output,progress,select,textarea,details,dialog,menu,' +\n 'summary,template,blockquote,iframe,tfoot';\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element\nconst SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +\n 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +\n 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +\n 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +\n 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +\n 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +\n 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +\n 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' +\n 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +\n 'text,textPath,title,tspan,unknown,use,view';\nconst VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.\n */\nconst isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.\n */\nconst isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.\n */\nconst isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);\n\n/**\n * On the client we only need to offer special cases for boolean attributes that\n * have different names from their corresponding dom properties:\n * - itemscope -> N/A\n * - allowfullscreen -> allowFullscreen\n * - formnovalidate -> formNoValidate\n * - ismap -> isMap\n * - nomodule -> noModule\n * - novalidate -> noValidate\n * - readonly -> readOnly\n */\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\n/**\n * The full list is needed during SSR to produce the correct initial markup.\n */\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\n `loop,open,required,reversed,scoped,seamless,` +\n `checked,muted,multiple,selected`);\n/**\n * Boolean attributes should be included if the value is truthy or ''.\n * e.g. `