From ae4cca0a0a537bd95f5fd7f250490bf1721df465 Mon Sep 17 00:00:00 2001
From: machsix <28209092+machsix@users.noreply.github.com>
Date: Wed, 8 May 2024 02:48:13 -0400
Subject: [PATCH] fix polyfill
---
.github/workflows/node.js.yml | 2 +-
.babelrc => babel.config.json | 14 +-
dist/Super_preloaderPlus_one_New.user.js | 12381 +++++++++++++++------
package.json | 18 +-
pnpm-lock.yaml | 32 +-
rollup.config.mjs | 1 +
test/test.js | 2 +-
7 files changed, 9224 insertions(+), 3226 deletions(-)
rename .babelrc => babel.config.json (67%)
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index fea43c560..6bc9344a4 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -40,7 +40,7 @@ jobs:
env:
CI: 'true'
with:
- args: pnpm test
+ args: npm test
doc:
runs-on: ubuntu-latest
steps:
diff --git a/.babelrc b/babel.config.json
similarity index 67%
rename from .babelrc
rename to babel.config.json
index 6e56c002c..ab5749860 100644
--- a/.babelrc
+++ b/babel.config.json
@@ -1,6 +1,7 @@
{
"plugins": [
"lodash",
+ "@babel/plugin-transform-async-to-generator",
[
"@babel/plugin-syntax-import-attributes",
{
@@ -10,9 +11,8 @@
[
"@babel/plugin-transform-runtime",
{
- // "corejs": 2,
- "regenerator": true,
- "helpers": true,
+ "corejs": 3,
+ "useESModules": true,
"proposals": false
}
],
@@ -20,7 +20,11 @@
"wildcard",
{
"noModifyCase": true,
- "exts": ["ejs", "css", "scss"]
+ "exts": [
+ "ejs",
+ "css",
+ "scss"
+ ]
}
]
],
@@ -28,7 +32,7 @@
[
"@babel/preset-env",
{
- "modules": false,
+ "modules": "auto",
"debug": false
}
]
diff --git a/dist/Super_preloaderPlus_one_New.user.js b/dist/Super_preloaderPlus_one_New.user.js
index 759c9e019..389f3014b 100644
--- a/dist/Super_preloaderPlus_one_New.user.js
+++ b/dist/Super_preloaderPlus_one_New.user.js
@@ -9,7 +9,7 @@
// @author Mach6
// @contributers alexolog, heroboy, suchunchen, YFdyh000
// @thanksto ywzhaiqi, NLF
-// @version 7.0.13
+// @version 7.0.15
// @license GPL-3.0
// @update 2024/5/8
// @homepageURL https://github.com/machsix/Super-preloader
@@ -74,3529 +74,9098 @@
// @exlucde http*://www.commcarehq.org/accounts/login/*gre
// @exclude http*://simkl.com/*
// ==/UserScript==
-(function (_asyncToGenerator, _slicedToArray, _regeneratorRuntime, _defineProperty$1) {
+(function () {
function getDefaultExportFromCjs (x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
- /**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */
+ var check = function (it) {
+ return it && it.Math === Math && it;
+ };
- var isArray$b = Array.isArray;
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+ var global$l =
+ // eslint-disable-next-line es/no-global-this -- safe
+ check(typeof globalThis == 'object' && globalThis) ||
+ check(typeof window == 'object' && window) ||
+ // eslint-disable-next-line no-restricted-globals -- safe
+ check(typeof self == 'object' && self) ||
+ check(typeof global$l == 'object' && global$l) ||
+ check(typeof window == 'object' && window) ||
+ // eslint-disable-next-line no-new-func -- fallback
+ (function () { return this; })() || Function('return this')();
+
+ var fails$r = function (exec) {
+ try {
+ return !!exec();
+ } catch (error) {
+ return true;
+ }
+ };
- var isArray_1 = isArray$b;
+ var fails$q = fails$r;
- var _isArray = /*@__PURE__*/getDefaultExportFromCjs(isArray_1);
+ var functionBindNative = !fails$q(function () {
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
+ var test = (function () { /* empty */ }).bind();
+ // eslint-disable-next-line no-prototype-builtins -- safe
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
+ });
- /**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */
+ var NATIVE_BIND$3 = functionBindNative;
- function listCacheClear$1() {
- this.__data__ = [];
- this.size = 0;
- }
+ var FunctionPrototype$3 = Function.prototype;
+ var apply$8 = FunctionPrototype$3.apply;
+ var call$k = FunctionPrototype$3.call;
- var _listCacheClear = listCacheClear$1;
+ // eslint-disable-next-line es/no-reflect -- safe
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND$3 ? call$k.bind(apply$8) : function () {
+ return call$k.apply(apply$8, arguments);
+ });
- /**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */
+ var NATIVE_BIND$2 = functionBindNative;
- function eq$2(value, other) {
- return value === other || (value !== value && other !== other);
- }
+ var FunctionPrototype$2 = Function.prototype;
+ var call$j = FunctionPrototype$2.call;
+ var uncurryThisWithBind = NATIVE_BIND$2 && FunctionPrototype$2.bind.bind(call$j, call$j);
- var eq_1 = eq$2;
+ var functionUncurryThis = NATIVE_BIND$2 ? uncurryThisWithBind : function (fn) {
+ return function () {
+ return call$j.apply(fn, arguments);
+ };
+ };
- var eq$1 = eq_1;
+ var uncurryThis$u = functionUncurryThis;
- /**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function assocIndexOf$4(array, key) {
- var length = array.length;
- while (length--) {
- if (eq$1(array[length][0], key)) {
- return length;
- }
- }
- return -1;
- }
+ var toString$f = uncurryThis$u({}.toString);
+ var stringSlice$2 = uncurryThis$u(''.slice);
- var _assocIndexOf = assocIndexOf$4;
+ var classofRaw$2 = function (it) {
+ return stringSlice$2(toString$f(it), 8, -1);
+ };
- var assocIndexOf$3 = _assocIndexOf;
+ var classofRaw$1 = classofRaw$2;
+ var uncurryThis$t = functionUncurryThis;
- /** Used for built-in method references. */
- var arrayProto = Array.prototype;
+ var functionUncurryThisClause = function (fn) {
+ // Nashorn bug:
+ // https://github.com/zloirock/core-js/issues/1128
+ // https://github.com/zloirock/core-js/issues/1130
+ if (classofRaw$1(fn) === 'Function') return uncurryThis$t(fn);
+ };
- /** Built-in value references. */
- var splice = arrayProto.splice;
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
+ var documentAll = typeof document == 'object' && document.all;
- /**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function listCacheDelete$1(key) {
- var data = this.__data__,
- index = assocIndexOf$3(data, key);
+ // `IsCallable` abstract operation
+ // https://tc39.es/ecma262/#sec-iscallable
+ // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
+ var isCallable$j = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
+ return typeof argument == 'function' || argument === documentAll;
+ } : function (argument) {
+ return typeof argument == 'function';
+ };
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- --this.size;
- return true;
- }
+ var objectGetOwnPropertyDescriptor = {};
- var _listCacheDelete = listCacheDelete$1;
+ var fails$p = fails$r;
- var assocIndexOf$2 = _assocIndexOf;
+ // Detect IE8's incomplete defineProperty implementation
+ var descriptors = !fails$p(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
+ });
- /**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function listCacheGet$1(key) {
- var data = this.__data__,
- index = assocIndexOf$2(data, key);
+ var NATIVE_BIND$1 = functionBindNative;
- return index < 0 ? undefined : data[index][1];
- }
+ var call$i = Function.prototype.call;
- var _listCacheGet = listCacheGet$1;
+ var functionCall = NATIVE_BIND$1 ? call$i.bind(call$i) : function () {
+ return call$i.apply(call$i, arguments);
+ };
- var assocIndexOf$1 = _assocIndexOf;
+ var objectPropertyIsEnumerable = {};
- /**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function listCacheHas$1(key) {
- return assocIndexOf$1(this.__data__, key) > -1;
- }
+ var $propertyIsEnumerable$2 = {}.propertyIsEnumerable;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor;
- var _listCacheHas = listCacheHas$1;
+ // Nashorn ~ JDK8 bug
+ var NASHORN_BUG = getOwnPropertyDescriptor$3 && !$propertyIsEnumerable$2.call({ 1: 2 }, 1);
- var assocIndexOf = _assocIndexOf;
+ // `Object.prototype.propertyIsEnumerable` method implementation
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
+ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
+ var descriptor = getOwnPropertyDescriptor$3(this, V);
+ return !!descriptor && descriptor.enumerable;
+ } : $propertyIsEnumerable$2;
- /**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */
- function listCacheSet$1(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
+ var createPropertyDescriptor$7 = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+ };
- if (index < 0) {
- ++this.size;
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
+ var uncurryThis$s = functionUncurryThis;
+ var fails$o = fails$r;
+ var classof$c = classofRaw$2;
+
+ var $Object$4 = Object;
+ var split = uncurryThis$s(''.split);
+
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
+ var indexedObject = fails$o(function () {
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
+ // eslint-disable-next-line no-prototype-builtins -- safe
+ return !$Object$4('z').propertyIsEnumerable(0);
+ }) ? function (it) {
+ return classof$c(it) === 'String' ? split(it, '') : $Object$4(it);
+ } : $Object$4;
+
+ // we can't use just `it == null` since of `document.all` special case
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
+ var isNullOrUndefined$5 = function (it) {
+ return it === null || it === undefined;
+ };
- var _listCacheSet = listCacheSet$1;
+ var isNullOrUndefined$4 = isNullOrUndefined$5;
- var listCacheClear = _listCacheClear,
- listCacheDelete = _listCacheDelete,
- listCacheGet = _listCacheGet,
- listCacheHas = _listCacheHas,
- listCacheSet = _listCacheSet;
+ var $TypeError$g = TypeError;
- /**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function ListCache$4(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
+ // `RequireObjectCoercible` abstract operation
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
+ var requireObjectCoercible$9 = function (it) {
+ if (isNullOrUndefined$4(it)) throw new $TypeError$g("Can't call method on " + it);
+ return it;
+ };
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
+ // toObject with fallback for non-array-like ES3 strings
+ var IndexedObject$3 = indexedObject;
+ var requireObjectCoercible$8 = requireObjectCoercible$9;
- // Add methods to `ListCache`.
- ListCache$4.prototype.clear = listCacheClear;
- ListCache$4.prototype['delete'] = listCacheDelete;
- ListCache$4.prototype.get = listCacheGet;
- ListCache$4.prototype.has = listCacheHas;
- ListCache$4.prototype.set = listCacheSet;
+ var toIndexedObject$b = function (it) {
+ return IndexedObject$3(requireObjectCoercible$8(it));
+ };
- var _ListCache = ListCache$4;
+ var isCallable$i = isCallable$j;
- var ListCache$3 = _ListCache;
+ var isObject$k = function (it) {
+ return typeof it == 'object' ? it !== null : isCallable$i(it);
+ };
- /**
- * Removes all key-value entries from the stack.
- *
- * @private
- * @name clear
- * @memberOf Stack
- */
- function stackClear$1() {
- this.__data__ = new ListCache$3;
- this.size = 0;
- }
+ var path$h = {};
- var _stackClear = stackClear$1;
+ var path$g = path$h;
+ var global$k = global$l;
+ var isCallable$h = isCallable$j;
- /**
- * Removes `key` and its value from the stack.
- *
- * @private
- * @name delete
- * @memberOf Stack
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
+ var aFunction = function (variable) {
+ return isCallable$h(variable) ? variable : undefined;
+ };
- function stackDelete$1(key) {
- var data = this.__data__,
- result = data['delete'](key);
+ var getBuiltIn$e = function (namespace, method) {
+ return arguments.length < 2 ? aFunction(path$g[namespace]) || aFunction(global$k[namespace])
+ : path$g[namespace] && path$g[namespace][method] || global$k[namespace] && global$k[namespace][method];
+ };
- this.size = data.size;
- return result;
- }
+ var uncurryThis$r = functionUncurryThis;
- var _stackDelete = stackDelete$1;
+ var objectIsPrototypeOf = uncurryThis$r({}.isPrototypeOf);
- /**
- * Gets the stack value for `key`.
- *
- * @private
- * @name get
- * @memberOf Stack
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
+ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
- function stackGet$1(key) {
- return this.__data__.get(key);
- }
+ var global$j = global$l;
+ var userAgent$3 = engineUserAgent;
- var _stackGet = stackGet$1;
+ var process$3 = global$j.process;
+ var Deno$1 = global$j.Deno;
+ var versions = process$3 && process$3.versions || Deno$1 && Deno$1.version;
+ var v8 = versions && versions.v8;
+ var match, version$1;
- /**
- * Checks if a stack value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Stack
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
+ if (v8) {
+ match = v8.split('.');
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
+ // but their correct versions are not interesting for us
+ version$1 = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
+ }
- function stackHas$1(key) {
- return this.__data__.has(key);
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
+ // so check `userAgent` even if `.v8` exists, but 0
+ if (!version$1 && userAgent$3) {
+ match = userAgent$3.match(/Edge\/(\d+)/);
+ if (!match || match[1] >= 74) {
+ match = userAgent$3.match(/Chrome\/(\d+)/);
+ if (match) version$1 = +match[1];
+ }
}
- var _stackHas = stackHas$1;
+ var engineV8Version = version$1;
+
+ /* eslint-disable es/no-symbol -- required for testing */
+ var V8_VERSION$3 = engineV8Version;
+ var fails$n = fails$r;
+ var global$i = global$l;
+
+ var $String$5 = global$i.String;
+
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$n(function () {
+ var symbol = Symbol('symbol detection');
+ // Chrome 38 Symbol has incorrect toString conversion
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
+ // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
+ // of course, fail.
+ return !$String$5(symbol) || !(Object(symbol) instanceof Symbol) ||
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
+ !Symbol.sham && V8_VERSION$3 && V8_VERSION$3 < 41;
+ });
- /** Detect free variable `global` from Node.js. */
+ /* eslint-disable es/no-symbol -- required for testing */
+ var NATIVE_SYMBOL$5 = symbolConstructorDetection;
- var freeGlobal$1 = typeof global == 'object' && global && global.Object === Object && global;
+ var useSymbolAsUid = NATIVE_SYMBOL$5
+ && !Symbol.sham
+ && typeof Symbol.iterator == 'symbol';
- var _freeGlobal = freeGlobal$1;
+ var getBuiltIn$d = getBuiltIn$e;
+ var isCallable$g = isCallable$j;
+ var isPrototypeOf$h = objectIsPrototypeOf;
+ var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
- var freeGlobal = _freeGlobal;
+ var $Object$3 = Object;
- /** Detect free variable `self`. */
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+ var isSymbol$a = USE_SYMBOL_AS_UID$1 ? function (it) {
+ return typeof it == 'symbol';
+ } : function (it) {
+ var $Symbol = getBuiltIn$d('Symbol');
+ return isCallable$g($Symbol) && isPrototypeOf$h($Symbol.prototype, $Object$3(it));
+ };
- /** Used as a reference to the global object. */
- var root$8 = freeGlobal || freeSelf || Function('return this')();
+ var $String$4 = String;
- var _root = root$8;
+ var tryToString$5 = function (argument) {
+ try {
+ return $String$4(argument);
+ } catch (error) {
+ return 'Object';
+ }
+ };
- var root$7 = _root;
+ var isCallable$f = isCallable$j;
+ var tryToString$4 = tryToString$5;
- /** Built-in value references. */
- var Symbol$6 = root$7.Symbol;
+ var $TypeError$f = TypeError;
- var _Symbol = Symbol$6;
+ // `Assert: IsCallable(argument) is true`
+ var aCallable$c = function (argument) {
+ if (isCallable$f(argument)) return argument;
+ throw new $TypeError$f(tryToString$4(argument) + ' is not a function');
+ };
- var Symbol$5 = _Symbol;
+ var aCallable$b = aCallable$c;
+ var isNullOrUndefined$3 = isNullOrUndefined$5;
- /** Used for built-in method references. */
- var objectProto$c = Object.prototype;
+ // `GetMethod` abstract operation
+ // https://tc39.es/ecma262/#sec-getmethod
+ var getMethod$3 = function (V, P) {
+ var func = V[P];
+ return isNullOrUndefined$3(func) ? undefined : aCallable$b(func);
+ };
- /** Used to check objects for own properties. */
- var hasOwnProperty$9 = objectProto$c.hasOwnProperty;
+ var call$h = functionCall;
+ var isCallable$e = isCallable$j;
+ var isObject$j = isObject$k;
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var nativeObjectToString$1 = objectProto$c.toString;
+ var $TypeError$e = TypeError;
- /** Built-in value references. */
- var symToStringTag$1 = Symbol$5 ? Symbol$5.toStringTag : undefined;
+ // `OrdinaryToPrimitive` abstract operation
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
+ var ordinaryToPrimitive$1 = function (input, pref) {
+ var fn, val;
+ if (pref === 'string' && isCallable$e(fn = input.toString) && !isObject$j(val = call$h(fn, input))) return val;
+ if (isCallable$e(fn = input.valueOf) && !isObject$j(val = call$h(fn, input))) return val;
+ if (pref !== 'string' && isCallable$e(fn = input.toString) && !isObject$j(val = call$h(fn, input))) return val;
+ throw new $TypeError$e("Can't convert object to primitive value");
+ };
- /**
- * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the raw `toStringTag`.
- */
- function getRawTag$1(value) {
- var isOwn = hasOwnProperty$9.call(value, symToStringTag$1),
- tag = value[symToStringTag$1];
+ var sharedStore = {exports: {}};
- try {
- value[symToStringTag$1] = undefined;
- var unmasked = true;
- } catch (e) {}
+ var isPure = true;
- var result = nativeObjectToString$1.call(value);
- if (unmasked) {
- if (isOwn) {
- value[symToStringTag$1] = tag;
- } else {
- delete value[symToStringTag$1];
- }
- }
- return result;
- }
+ var global$h = global$l;
- var _getRawTag = getRawTag$1;
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ var defineProperty$e = Object.defineProperty;
- /** Used for built-in method references. */
+ var defineGlobalProperty$1 = function (key, value) {
+ try {
+ defineProperty$e(global$h, key, { value: value, configurable: true, writable: true });
+ } catch (error) {
+ global$h[key] = value;
+ } return value;
+ };
- var objectProto$b = Object.prototype;
+ var globalThis$1 = global$l;
+ var defineGlobalProperty = defineGlobalProperty$1;
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var nativeObjectToString = objectProto$b.toString;
+ var SHARED = '__core-js_shared__';
+ var store$3 = sharedStore.exports = globalThis$1[SHARED] || defineGlobalProperty(SHARED, {});
- /**
- * Converts `value` to a string using `Object.prototype.toString`.
- *
- * @private
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- */
- function objectToString$1(value) {
- return nativeObjectToString.call(value);
- }
+ (store$3.versions || (store$3.versions = [])).push({
+ version: '3.37.0',
+ mode: 'pure' ,
+ copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
+ license: 'https://github.com/zloirock/core-js/blob/v3.37.0/LICENSE',
+ source: 'https://github.com/zloirock/core-js'
+ });
- var _objectToString = objectToString$1;
+ var sharedStoreExports = sharedStore.exports;
- var Symbol$4 = _Symbol,
- getRawTag = _getRawTag,
- objectToString = _objectToString;
+ var store$2 = sharedStoreExports;
- /** `Object#toString` result references. */
- var nullTag = '[object Null]',
- undefinedTag = '[object Undefined]';
+ var shared$7 = function (key, value) {
+ return store$2[key] || (store$2[key] = value || {});
+ };
- /** Built-in value references. */
- var symToStringTag = Symbol$4 ? Symbol$4.toStringTag : undefined;
+ var requireObjectCoercible$7 = requireObjectCoercible$9;
- /**
- * The base implementation of `getTag` without fallbacks for buggy environments.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
- function baseGetTag$7(value) {
- if (value == null) {
- return value === undefined ? undefinedTag : nullTag;
- }
- return (symToStringTag && symToStringTag in Object(value))
- ? getRawTag(value)
- : objectToString(value);
- }
+ var $Object$2 = Object;
- var _baseGetTag = baseGetTag$7;
+ // `ToObject` abstract operation
+ // https://tc39.es/ecma262/#sec-toobject
+ var toObject$b = function (argument) {
+ return $Object$2(requireObjectCoercible$7(argument));
+ };
- /**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
+ var uncurryThis$q = functionUncurryThis;
+ var toObject$a = toObject$b;
- function isObject$4(value) {
- var type = typeof value;
- return value != null && (type == 'object' || type == 'function');
- }
+ var hasOwnProperty$a = uncurryThis$q({}.hasOwnProperty);
- var isObject_1 = isObject$4;
+ // `HasOwnProperty` abstract operation
+ // https://tc39.es/ecma262/#sec-hasownproperty
+ // eslint-disable-next-line es/no-object-hasown -- safe
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
+ return hasOwnProperty$a(toObject$a(it), key);
+ };
- var _isObject = /*@__PURE__*/getDefaultExportFromCjs(isObject_1);
+ var uncurryThis$p = functionUncurryThis;
- var baseGetTag$6 = _baseGetTag,
- isObject$3 = isObject_1;
+ var id = 0;
+ var postfix = Math.random();
+ var toString$e = uncurryThis$p(1.0.toString);
- /** `Object#toString` result references. */
- var asyncTag = '[object AsyncFunction]',
- funcTag$1 = '[object Function]',
- genTag = '[object GeneratorFunction]',
- proxyTag = '[object Proxy]';
+ var uid$3 = function (key) {
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$e(++id + postfix, 36);
+ };
- /**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
- function isFunction$2(value) {
- if (!isObject$3(value)) {
- return false;
+ var global$g = global$l;
+ var shared$6 = shared$7;
+ var hasOwn$e = hasOwnProperty_1;
+ var uid$2 = uid$3;
+ var NATIVE_SYMBOL$4 = symbolConstructorDetection;
+ var USE_SYMBOL_AS_UID = useSymbolAsUid;
+
+ var Symbol$9 = global$g.Symbol;
+ var WellKnownSymbolsStore$2 = shared$6('wks');
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$9['for'] || Symbol$9 : Symbol$9 && Symbol$9.withoutSetter || uid$2;
+
+ var wellKnownSymbol$o = function (name) {
+ if (!hasOwn$e(WellKnownSymbolsStore$2, name)) {
+ WellKnownSymbolsStore$2[name] = NATIVE_SYMBOL$4 && hasOwn$e(Symbol$9, name)
+ ? Symbol$9[name]
+ : createWellKnownSymbol('Symbol.' + name);
+ } return WellKnownSymbolsStore$2[name];
+ };
+
+ var call$g = functionCall;
+ var isObject$i = isObject$k;
+ var isSymbol$9 = isSymbol$a;
+ var getMethod$2 = getMethod$3;
+ var ordinaryToPrimitive = ordinaryToPrimitive$1;
+ var wellKnownSymbol$n = wellKnownSymbol$o;
+
+ var $TypeError$d = TypeError;
+ var TO_PRIMITIVE = wellKnownSymbol$n('toPrimitive');
+
+ // `ToPrimitive` abstract operation
+ // https://tc39.es/ecma262/#sec-toprimitive
+ var toPrimitive$8 = function (input, pref) {
+ if (!isObject$i(input) || isSymbol$9(input)) return input;
+ var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
+ var result;
+ if (exoticToPrim) {
+ if (pref === undefined) pref = 'default';
+ result = call$g(exoticToPrim, input, pref);
+ if (!isObject$i(result) || isSymbol$9(result)) return result;
+ throw new $TypeError$d("Can't convert object to primitive value");
}
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 9 which returns 'object' for typed arrays and other constructors.
- var tag = baseGetTag$6(value);
- return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
- }
+ if (pref === undefined) pref = 'number';
+ return ordinaryToPrimitive(input, pref);
+ };
- var isFunction_1 = isFunction$2;
+ var toPrimitive$7 = toPrimitive$8;
+ var isSymbol$8 = isSymbol$a;
- var _isFunction = /*@__PURE__*/getDefaultExportFromCjs(isFunction_1);
+ // `ToPropertyKey` abstract operation
+ // https://tc39.es/ecma262/#sec-topropertykey
+ var toPropertyKey$4 = function (argument) {
+ var key = toPrimitive$7(argument, 'string');
+ return isSymbol$8(key) ? key : key + '';
+ };
- var root$6 = _root;
+ var global$f = global$l;
+ var isObject$h = isObject$k;
- /** Used to detect overreaching core-js shims. */
- var coreJsData$1 = root$6['__core-js_shared__'];
+ var document$3 = global$f.document;
+ // typeof document.createElement is 'object' in old IE
+ var EXISTS$1 = isObject$h(document$3) && isObject$h(document$3.createElement);
- var _coreJsData = coreJsData$1;
+ var documentCreateElement$1 = function (it) {
+ return EXISTS$1 ? document$3.createElement(it) : {};
+ };
- var coreJsData = _coreJsData;
+ var DESCRIPTORS$g = descriptors;
+ var fails$m = fails$r;
+ var createElement$1 = documentCreateElement$1;
- /** Used to detect methods masquerading as native. */
- var maskSrcKey = (function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
- return uid ? ('Symbol(src)_1.' + uid) : '';
- }());
+ // Thanks to IE8 for its funny defineProperty
+ var ie8DomDefine = !DESCRIPTORS$g && !fails$m(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+ return Object.defineProperty(createElement$1('div'), 'a', {
+ get: function () { return 7; }
+ }).a !== 7;
+ });
- /**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */
- function isMasked$1(func) {
- return !!maskSrcKey && (maskSrcKey in func);
- }
+ var DESCRIPTORS$f = descriptors;
+ var call$f = functionCall;
+ var propertyIsEnumerableModule$2 = objectPropertyIsEnumerable;
+ var createPropertyDescriptor$6 = createPropertyDescriptor$7;
+ var toIndexedObject$a = toIndexedObject$b;
+ var toPropertyKey$3 = toPropertyKey$4;
+ var hasOwn$d = hasOwnProperty_1;
+ var IE8_DOM_DEFINE$1 = ie8DomDefine;
+
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var $getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
+
+ // `Object.getOwnPropertyDescriptor` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$f ? $getOwnPropertyDescriptor$2 : function getOwnPropertyDescriptor(O, P) {
+ O = toIndexedObject$a(O);
+ P = toPropertyKey$3(P);
+ if (IE8_DOM_DEFINE$1) try {
+ return $getOwnPropertyDescriptor$2(O, P);
+ } catch (error) { /* empty */ }
+ if (hasOwn$d(O, P)) return createPropertyDescriptor$6(!call$f(propertyIsEnumerableModule$2.f, O, P), O[P]);
+ };
- var _isMasked = isMasked$1;
+ var fails$l = fails$r;
+ var isCallable$d = isCallable$j;
- /** Used for built-in method references. */
+ var replacement = /#|\.prototype\./;
- var funcProto$1 = Function.prototype;
+ var isForced$2 = function (feature, detection) {
+ var value = data[normalize(feature)];
+ return value === POLYFILL ? true
+ : value === NATIVE ? false
+ : isCallable$d(detection) ? fails$l(detection)
+ : !!detection;
+ };
- /** Used to resolve the decompiled source of functions. */
- var funcToString$1 = funcProto$1.toString;
+ var normalize = isForced$2.normalize = function (string) {
+ return String(string).replace(replacement, '.').toLowerCase();
+ };
- /**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to convert.
- * @returns {string} Returns the source code.
- */
- function toSource$2(func) {
- if (func != null) {
- try {
- return funcToString$1.call(func);
- } catch (e) {}
- try {
- return (func + '');
- } catch (e) {}
- }
- return '';
- }
+ var data = isForced$2.data = {};
+ var NATIVE = isForced$2.NATIVE = 'N';
+ var POLYFILL = isForced$2.POLYFILL = 'P';
- var _toSource = toSource$2;
+ var isForced_1 = isForced$2;
- var isFunction$1 = isFunction_1,
- isMasked = _isMasked,
- isObject$2 = isObject_1,
- toSource$1 = _toSource;
+ var uncurryThis$o = functionUncurryThisClause;
+ var aCallable$a = aCallable$c;
+ var NATIVE_BIND = functionBindNative;
- /**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+ var bind$7 = uncurryThis$o(uncurryThis$o.bind);
- /** Used to detect host constructors (Safari). */
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
+ // optional / simple context binding
+ var functionBindContext = function (fn, that) {
+ aCallable$a(fn);
+ return that === undefined ? fn : NATIVE_BIND ? bind$7(fn, that) : function (/* ...args */) {
+ return fn.apply(that, arguments);
+ };
+ };
- /** Used for built-in method references. */
- var funcProto = Function.prototype,
- objectProto$a = Object.prototype;
+ var objectDefineProperty = {};
- /** Used to resolve the decompiled source of functions. */
- var funcToString = funcProto.toString;
+ var DESCRIPTORS$e = descriptors;
+ var fails$k = fails$r;
- /** Used to check objects for own properties. */
- var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
+ // V8 ~ Chrome 36-
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
+ var v8PrototypeDefineBug = DESCRIPTORS$e && fails$k(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
+ value: 42,
+ writable: false
+ }).prototype !== 42;
+ });
- /** Used to detect if a method is native. */
- var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty$8).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
- );
+ var isObject$g = isObject$k;
- /**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
- function baseIsNative$1(value) {
- if (!isObject$2(value) || isMasked(value)) {
- return false;
- }
- var pattern = isFunction$1(value) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource$1(value));
- }
+ var $String$3 = String;
+ var $TypeError$c = TypeError;
- var _baseIsNative = baseIsNative$1;
+ // `Assert: Type(argument) is Object`
+ var anObject$b = function (argument) {
+ if (isObject$g(argument)) return argument;
+ throw new $TypeError$c($String$3(argument) + ' is not an object');
+ };
- /**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
+ var DESCRIPTORS$d = descriptors;
+ var IE8_DOM_DEFINE = ie8DomDefine;
+ var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
+ var anObject$a = anObject$b;
+ var toPropertyKey$2 = toPropertyKey$4;
+
+ var $TypeError$b = TypeError;
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ var $defineProperty$1 = Object.defineProperty;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
+ var ENUMERABLE = 'enumerable';
+ var CONFIGURABLE$1 = 'configurable';
+ var WRITABLE = 'writable';
+
+ // `Object.defineProperty` method
+ // https://tc39.es/ecma262/#sec-object.defineproperty
+ objectDefineProperty.f = DESCRIPTORS$d ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
+ anObject$a(O);
+ P = toPropertyKey$2(P);
+ anObject$a(Attributes);
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
+ var current = $getOwnPropertyDescriptor$1(O, P);
+ if (current && current[WRITABLE]) {
+ O[P] = Attributes.value;
+ Attributes = {
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
+ writable: false
+ };
+ }
+ } return $defineProperty$1(O, P, Attributes);
+ } : $defineProperty$1 : function defineProperty(O, P, Attributes) {
+ anObject$a(O);
+ P = toPropertyKey$2(P);
+ anObject$a(Attributes);
+ if (IE8_DOM_DEFINE) try {
+ return $defineProperty$1(O, P, Attributes);
+ } catch (error) { /* empty */ }
+ if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$b('Accessors not supported');
+ if ('value' in Attributes) O[P] = Attributes.value;
+ return O;
+ };
- function getValue$1(object, key) {
- return object == null ? undefined : object[key];
- }
+ var DESCRIPTORS$c = descriptors;
+ var definePropertyModule$4 = objectDefineProperty;
+ var createPropertyDescriptor$5 = createPropertyDescriptor$7;
- var _getValue = getValue$1;
+ var createNonEnumerableProperty$7 = DESCRIPTORS$c ? function (object, key, value) {
+ return definePropertyModule$4.f(object, key, createPropertyDescriptor$5(1, value));
+ } : function (object, key, value) {
+ object[key] = value;
+ return object;
+ };
- var baseIsNative = _baseIsNative,
- getValue = _getValue;
+ var global$e = global$l;
+ var apply$7 = functionApply;
+ var uncurryThis$n = functionUncurryThisClause;
+ var isCallable$c = isCallable$j;
+ var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
+ var isForced$1 = isForced_1;
+ var path$f = path$h;
+ var bind$6 = functionBindContext;
+ var createNonEnumerableProperty$6 = createNonEnumerableProperty$7;
+ var hasOwn$c = hasOwnProperty_1;
+ // add debugging info
+
+
+ var wrapConstructor = function (NativeConstructor) {
+ var Wrapper = function (a, b, c) {
+ if (this instanceof Wrapper) {
+ switch (arguments.length) {
+ case 0: return new NativeConstructor();
+ case 1: return new NativeConstructor(a);
+ case 2: return new NativeConstructor(a, b);
+ } return new NativeConstructor(a, b, c);
+ } return apply$7(NativeConstructor, this, arguments);
+ };
+ Wrapper.prototype = NativeConstructor.prototype;
+ return Wrapper;
+ };
- /**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */
- function getNative$7(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : undefined;
- }
+ /*
+ options.target - name of the target object
+ options.global - target is the global object
+ options.stat - export as static methods of target
+ options.proto - export as prototype methods of target
+ options.real - real prototype method for the `pure` version
+ options.forced - export even if the native feature is available
+ options.bind - bind methods to the target, required for the `pure` version
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
+ options.sham - add a flag to not completely full polyfills
+ options.enumerable - export as enumerable property
+ options.dontCallGetSet - prevent calling a getter on target
+ options.name - the .name of the function if it does not match the key
+ */
+ var _export = function (options, source) {
+ var TARGET = options.target;
+ var GLOBAL = options.global;
+ var STATIC = options.stat;
+ var PROTO = options.proto;
- var _getNative = getNative$7;
+ var nativeSource = GLOBAL ? global$e : STATIC ? global$e[TARGET] : global$e[TARGET] && global$e[TARGET].prototype;
- var getNative$6 = _getNative,
- root$5 = _root;
+ var target = GLOBAL ? path$f : path$f[TARGET] || createNonEnumerableProperty$6(path$f, TARGET, {})[TARGET];
+ var targetPrototype = target.prototype;
- /* Built-in method references that are verified to be native. */
- var Map$3 = getNative$6(root$5, 'Map');
+ var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;
+ var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;
- var _Map = Map$3;
+ for (key in source) {
+ FORCED = isForced$1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
+ // contains in native
+ USE_NATIVE = !FORCED && nativeSource && hasOwn$c(nativeSource, key);
- var getNative$5 = _getNative;
+ targetProperty = target[key];
- /* Built-in method references that are verified to be native. */
- var nativeCreate$4 = getNative$5(Object, 'create');
+ if (USE_NATIVE) if (options.dontCallGetSet) {
+ descriptor = getOwnPropertyDescriptor$2(nativeSource, key);
+ nativeProperty = descriptor && descriptor.value;
+ } else nativeProperty = nativeSource[key];
- var _nativeCreate = nativeCreate$4;
+ // export native or implementation
+ sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];
- var nativeCreate$3 = _nativeCreate;
+ if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;
- /**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */
- function hashClear$1() {
- this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
- this.size = 0;
- }
+ // bind methods to global for calling from export context
+ if (options.bind && USE_NATIVE) resultProperty = bind$6(sourceProperty, global$e);
+ // wrap global constructors for prevent changes in this version
+ else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);
+ // make static versions for prototype methods
+ else if (PROTO && isCallable$c(sourceProperty)) resultProperty = uncurryThis$n(sourceProperty);
+ // default case
+ else resultProperty = sourceProperty;
- var _hashClear = hashClear$1;
+ // add a flag to not completely full polyfills
+ if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {
+ createNonEnumerableProperty$6(resultProperty, 'sham', true);
+ }
- /**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
+ createNonEnumerableProperty$6(target, key, resultProperty);
- function hashDelete$1(key) {
- var result = this.has(key) && delete this.__data__[key];
- this.size -= result ? 1 : 0;
- return result;
- }
+ if (PROTO) {
+ VIRTUAL_PROTOTYPE = TARGET + 'Prototype';
+ if (!hasOwn$c(path$f, VIRTUAL_PROTOTYPE)) {
+ createNonEnumerableProperty$6(path$f, VIRTUAL_PROTOTYPE, {});
+ }
+ // export virtual prototype methods
+ createNonEnumerableProperty$6(path$f[VIRTUAL_PROTOTYPE], key, sourceProperty);
+ // export real prototype methods
+ if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {
+ createNonEnumerableProperty$6(targetPrototype, key, sourceProperty);
+ }
+ }
+ }
+ };
- var _hashDelete = hashDelete$1;
+ var shared$5 = shared$7;
+ var uid$1 = uid$3;
- var nativeCreate$2 = _nativeCreate;
+ var keys$4 = shared$5('keys');
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
+ var sharedKey$4 = function (key) {
+ return keys$4[key] || (keys$4[key] = uid$1(key));
+ };
- /** Used for built-in method references. */
- var objectProto$9 = Object.prototype;
+ var fails$j = fails$r;
- /** Used to check objects for own properties. */
- var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
+ var correctPrototypeGetter = !fails$j(function () {
+ function F() { /* empty */ }
+ F.prototype.constructor = null;
+ // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
+ return Object.getPrototypeOf(new F()) !== F.prototype;
+ });
- /**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function hashGet$1(key) {
- var data = this.__data__;
- if (nativeCreate$2) {
- var result = data[key];
- return result === HASH_UNDEFINED$2 ? undefined : result;
- }
- return hasOwnProperty$7.call(data, key) ? data[key] : undefined;
- }
+ var hasOwn$b = hasOwnProperty_1;
+ var isCallable$b = isCallable$j;
+ var toObject$9 = toObject$b;
+ var sharedKey$3 = sharedKey$4;
+ var CORRECT_PROTOTYPE_GETTER$1 = correctPrototypeGetter;
+
+ var IE_PROTO$1 = sharedKey$3('IE_PROTO');
+ var $Object$1 = Object;
+ var ObjectPrototype$1 = $Object$1.prototype;
+
+ // `Object.getPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
+ // eslint-disable-next-line es/no-object-getprototypeof -- safe
+ var objectGetPrototypeOf$1 = CORRECT_PROTOTYPE_GETTER$1 ? $Object$1.getPrototypeOf : function (O) {
+ var object = toObject$9(O);
+ if (hasOwn$b(object, IE_PROTO$1)) return object[IE_PROTO$1];
+ var constructor = object.constructor;
+ if (isCallable$b(constructor) && object instanceof constructor) {
+ return constructor.prototype;
+ } return object instanceof $Object$1 ? ObjectPrototype$1 : null;
+ };
- var _hashGet = hashGet$1;
+ var uncurryThis$m = functionUncurryThis;
+ var aCallable$9 = aCallable$c;
- var nativeCreate$1 = _nativeCreate;
+ var functionUncurryThisAccessor = function (object, key, method) {
+ try {
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ return uncurryThis$m(aCallable$9(Object.getOwnPropertyDescriptor(object, key)[method]));
+ } catch (error) { /* empty */ }
+ };
- /** Used for built-in method references. */
- var objectProto$8 = Object.prototype;
+ var isObject$f = isObject$k;
- /** Used to check objects for own properties. */
- var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
+ var isPossiblePrototype$1 = function (argument) {
+ return isObject$f(argument) || argument === null;
+ };
- /**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function hashHas$1(key) {
- var data = this.__data__;
- return nativeCreate$1 ? (data[key] !== undefined) : hasOwnProperty$6.call(data, key);
- }
+ var isPossiblePrototype = isPossiblePrototype$1;
- var _hashHas = hashHas$1;
+ var $String$2 = String;
+ var $TypeError$a = TypeError;
- var nativeCreate = _nativeCreate;
+ var aPossiblePrototype$1 = function (argument) {
+ if (isPossiblePrototype(argument)) return argument;
+ throw new $TypeError$a("Can't set " + $String$2(argument) + ' as a prototype');
+ };
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
+ /* eslint-disable no-proto -- safe */
+ var uncurryThisAccessor = functionUncurryThisAccessor;
+ var isObject$e = isObject$k;
+ var requireObjectCoercible$6 = requireObjectCoercible$9;
+ var aPossiblePrototype = aPossiblePrototype$1;
+
+ // `Object.setPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
+ // eslint-disable-next-line es/no-object-setprototypeof -- safe
+ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
+ var CORRECT_SETTER = false;
+ var test = {};
+ var setter;
+ try {
+ setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
+ setter(test, []);
+ CORRECT_SETTER = test instanceof Array;
+ } catch (error) { /* empty */ }
+ return function setPrototypeOf(O, proto) {
+ requireObjectCoercible$6(O);
+ aPossiblePrototype(proto);
+ if (!isObject$e(O)) return O;
+ if (CORRECT_SETTER) setter(O, proto);
+ else O.__proto__ = proto;
+ return O;
+ };
+ }() : undefined);
- /**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */
- function hashSet$1(key, value) {
- var data = this.__data__;
- this.size += this.has(key) ? 0 : 1;
- data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED$1 : value;
- return this;
- }
+ var objectGetOwnPropertyNames = {};
- var _hashSet = hashSet$1;
+ var ceil$1 = Math.ceil;
+ var floor = Math.floor;
- var hashClear = _hashClear,
- hashDelete = _hashDelete,
- hashGet = _hashGet,
- hashHas = _hashHas,
- hashSet = _hashSet;
+ // `Math.trunc` method
+ // https://tc39.es/ecma262/#sec-math.trunc
+ // eslint-disable-next-line es/no-math-trunc -- safe
+ var mathTrunc = Math.trunc || function trunc(x) {
+ var n = +x;
+ return (n > 0 ? floor : ceil$1)(n);
+ };
- /**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Hash$1(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
+ var trunc = mathTrunc;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
+ // `ToIntegerOrInfinity` abstract operation
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
+ var toIntegerOrInfinity$5 = function (argument) {
+ var number = +argument;
+ // eslint-disable-next-line no-self-compare -- NaN check
+ return number !== number || number === 0 ? 0 : trunc(number);
+ };
- // Add methods to `Hash`.
- Hash$1.prototype.clear = hashClear;
- Hash$1.prototype['delete'] = hashDelete;
- Hash$1.prototype.get = hashGet;
- Hash$1.prototype.has = hashHas;
- Hash$1.prototype.set = hashSet;
+ var toIntegerOrInfinity$4 = toIntegerOrInfinity$5;
- var _Hash = Hash$1;
+ var max$1 = Math.max;
+ var min$3 = Math.min;
- var Hash = _Hash,
- ListCache$2 = _ListCache,
- Map$2 = _Map;
+ // Helper for a popular repeating case of the spec:
+ // Let integer be ? ToInteger(index).
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
+ var toAbsoluteIndex$2 = function (index, length) {
+ var integer = toIntegerOrInfinity$4(index);
+ return integer < 0 ? max$1(integer + length, 0) : min$3(integer, length);
+ };
- /**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */
- function mapCacheClear$1() {
- this.size = 0;
- this.__data__ = {
- 'hash': new Hash,
- 'map': new (Map$2 || ListCache$2),
- 'string': new Hash
- };
- }
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$5;
- var _mapCacheClear = mapCacheClear$1;
+ var min$2 = Math.min;
- /**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */
+ // `ToLength` abstract operation
+ // https://tc39.es/ecma262/#sec-tolength
+ var toLength$3 = function (argument) {
+ var len = toIntegerOrInfinity$3(argument);
+ return len > 0 ? min$2(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
+ };
- function isKeyable$1(value) {
- var type = typeof value;
- return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
- ? (value !== '__proto__')
- : (value === null);
- }
+ var toLength$2 = toLength$3;
- var _isKeyable = isKeyable$1;
+ // `LengthOfArrayLike` abstract operation
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
+ var lengthOfArrayLike$9 = function (obj) {
+ return toLength$2(obj.length);
+ };
- var isKeyable = _isKeyable;
+ var toIndexedObject$9 = toIndexedObject$b;
+ var toAbsoluteIndex$1 = toAbsoluteIndex$2;
+ var lengthOfArrayLike$8 = lengthOfArrayLike$9;
+
+ // `Array.prototype.{ indexOf, includes }` methods implementation
+ var createMethod$6 = function (IS_INCLUDES) {
+ return function ($this, el, fromIndex) {
+ var O = toIndexedObject$9($this);
+ var length = lengthOfArrayLike$8(O);
+ if (length === 0) return !IS_INCLUDES && -1;
+ var index = toAbsoluteIndex$1(fromIndex, length);
+ var value;
+ // Array#includes uses SameValueZero equality algorithm
+ // eslint-disable-next-line no-self-compare -- NaN check
+ if (IS_INCLUDES && el !== el) while (length > index) {
+ value = O[index++];
+ // eslint-disable-next-line no-self-compare -- NaN check
+ if (value !== value) return true;
+ // Array#indexOf ignores holes, Array#includes - not
+ } else for (;length > index; index++) {
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
+ } return !IS_INCLUDES && -1;
+ };
+ };
- /**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */
- function getMapData$4(map, key) {
- var data = map.__data__;
- return isKeyable(key)
- ? data[typeof key == 'string' ? 'string' : 'hash']
- : data.map;
- }
+ var arrayIncludes$2 = {
+ // `Array.prototype.includes` method
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
+ includes: createMethod$6(true),
+ // `Array.prototype.indexOf` method
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
+ indexOf: createMethod$6(false)
+ };
- var _getMapData = getMapData$4;
+ var hiddenKeys$5 = {};
- var getMapData$3 = _getMapData;
+ var uncurryThis$l = functionUncurryThis;
+ var hasOwn$a = hasOwnProperty_1;
+ var toIndexedObject$8 = toIndexedObject$b;
+ var indexOf$4 = arrayIncludes$2.indexOf;
+ var hiddenKeys$4 = hiddenKeys$5;
- /**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function mapCacheDelete$1(key) {
- var result = getMapData$3(this, key)['delete'](key);
- this.size -= result ? 1 : 0;
+ var push$b = uncurryThis$l([].push);
+
+ var objectKeysInternal = function (object, names) {
+ var O = toIndexedObject$8(object);
+ var i = 0;
+ var result = [];
+ var key;
+ for (key in O) !hasOwn$a(hiddenKeys$4, key) && hasOwn$a(O, key) && push$b(result, key);
+ // Don't enum bug & hidden keys
+ while (names.length > i) if (hasOwn$a(O, key = names[i++])) {
+ ~indexOf$4(result, key) || push$b(result, key);
+ }
return result;
- }
+ };
- var _mapCacheDelete = mapCacheDelete$1;
+ // IE8- don't enum bug keys
+ var enumBugKeys$3 = [
+ 'constructor',
+ 'hasOwnProperty',
+ 'isPrototypeOf',
+ 'propertyIsEnumerable',
+ 'toLocaleString',
+ 'toString',
+ 'valueOf'
+ ];
+
+ var internalObjectKeys$1 = objectKeysInternal;
+ var enumBugKeys$2 = enumBugKeys$3;
+
+ var hiddenKeys$3 = enumBugKeys$2.concat('length', 'prototype');
+
+ // `Object.getOwnPropertyNames` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
+ // eslint-disable-next-line es/no-object-getownpropertynames -- safe
+ objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+ return internalObjectKeys$1(O, hiddenKeys$3);
+ };
- var getMapData$2 = _getMapData;
+ var objectGetOwnPropertySymbols = {};
- /**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function mapCacheGet$1(key) {
- return getMapData$2(this, key).get(key);
- }
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
+ objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
- var _mapCacheGet = mapCacheGet$1;
+ var getBuiltIn$c = getBuiltIn$e;
+ var uncurryThis$k = functionUncurryThis;
+ var getOwnPropertyNamesModule$1 = objectGetOwnPropertyNames;
+ var getOwnPropertySymbolsModule$3 = objectGetOwnPropertySymbols;
+ var anObject$9 = anObject$b;
- var getMapData$1 = _getMapData;
+ var concat$5 = uncurryThis$k([].concat);
- /**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function mapCacheHas$1(key) {
- return getMapData$1(this, key).has(key);
- }
+ // all object keys, includes non-enumerable and symbols
+ var ownKeys$5 = getBuiltIn$c('Reflect', 'ownKeys') || function ownKeys(it) {
+ var keys = getOwnPropertyNamesModule$1.f(anObject$9(it));
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule$3.f;
+ return getOwnPropertySymbols ? concat$5(keys, getOwnPropertySymbols(it)) : keys;
+ };
- var _mapCacheHas = mapCacheHas$1;
+ var hasOwn$9 = hasOwnProperty_1;
+ var ownKeys$4 = ownKeys$5;
+ var getOwnPropertyDescriptorModule$2 = objectGetOwnPropertyDescriptor;
+ var definePropertyModule$3 = objectDefineProperty;
+
+ var copyConstructorProperties$1 = function (target, source, exceptions) {
+ var keys = ownKeys$4(source);
+ var defineProperty = definePropertyModule$3.f;
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule$2.f;
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ if (!hasOwn$9(target, key) && !(exceptions && hasOwn$9(exceptions, key))) {
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
+ }
+ }
+ };
- var getMapData = _getMapData;
+ var objectDefineProperties = {};
- /**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */
- function mapCacheSet$1(key, value) {
- var data = getMapData(this, key),
- size = data.size;
+ var internalObjectKeys = objectKeysInternal;
+ var enumBugKeys$1 = enumBugKeys$3;
- data.set(key, value);
- this.size += data.size == size ? 0 : 1;
- return this;
- }
+ // `Object.keys` method
+ // https://tc39.es/ecma262/#sec-object.keys
+ // eslint-disable-next-line es/no-object-keys -- safe
+ var objectKeys$4 = Object.keys || function keys(O) {
+ return internalObjectKeys(O, enumBugKeys$1);
+ };
- var _mapCacheSet = mapCacheSet$1;
+ var DESCRIPTORS$b = descriptors;
+ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
+ var definePropertyModule$2 = objectDefineProperty;
+ var anObject$8 = anObject$b;
+ var toIndexedObject$7 = toIndexedObject$b;
+ var objectKeys$3 = objectKeys$4;
+
+ // `Object.defineProperties` method
+ // https://tc39.es/ecma262/#sec-object.defineproperties
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
+ objectDefineProperties.f = DESCRIPTORS$b && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
+ anObject$8(O);
+ var props = toIndexedObject$7(Properties);
+ var keys = objectKeys$3(Properties);
+ var length = keys.length;
+ var index = 0;
+ var key;
+ while (length > index) definePropertyModule$2.f(O, key = keys[index++], props[key]);
+ return O;
+ };
- var mapCacheClear = _mapCacheClear,
- mapCacheDelete = _mapCacheDelete,
- mapCacheGet = _mapCacheGet,
- mapCacheHas = _mapCacheHas,
- mapCacheSet = _mapCacheSet;
+ var getBuiltIn$b = getBuiltIn$e;
- /**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function MapCache$3(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
+ var html$2 = getBuiltIn$b('document', 'documentElement');
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
+ /* global ActiveXObject -- old IE, WSH */
+ var anObject$7 = anObject$b;
+ var definePropertiesModule$1 = objectDefineProperties;
+ var enumBugKeys = enumBugKeys$3;
+ var hiddenKeys$2 = hiddenKeys$5;
+ var html$1 = html$2;
+ var documentCreateElement = documentCreateElement$1;
+ var sharedKey$2 = sharedKey$4;
- // Add methods to `MapCache`.
- MapCache$3.prototype.clear = mapCacheClear;
- MapCache$3.prototype['delete'] = mapCacheDelete;
- MapCache$3.prototype.get = mapCacheGet;
- MapCache$3.prototype.has = mapCacheHas;
- MapCache$3.prototype.set = mapCacheSet;
+ var GT = '>';
+ var LT = '<';
+ var PROTOTYPE$1 = 'prototype';
+ var SCRIPT = 'script';
+ var IE_PROTO = sharedKey$2('IE_PROTO');
- var _MapCache = MapCache$3;
+ var EmptyConstructor = function () { /* empty */ };
- var ListCache$1 = _ListCache,
- Map$1 = _Map,
- MapCache$2 = _MapCache;
+ var scriptTag = function (content) {
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
+ };
- /** Used as the size to enable large array optimizations. */
- var LARGE_ARRAY_SIZE$1 = 200;
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
+ activeXDocument.write(scriptTag(''));
+ activeXDocument.close();
+ var temp = activeXDocument.parentWindow.Object;
+ activeXDocument = null; // avoid memory leak
+ return temp;
+ };
- /**
- * Sets the stack `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Stack
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the stack cache instance.
- */
- function stackSet$1(key, value) {
- var data = this.__data__;
- if (data instanceof ListCache$1) {
- var pairs = data.__data__;
- if (!Map$1 || (pairs.length < LARGE_ARRAY_SIZE$1 - 1)) {
- pairs.push([key, value]);
- this.size = ++data.size;
- return this;
- }
- data = this.__data__ = new MapCache$2(pairs);
- }
- data.set(key, value);
- this.size = data.size;
- return this;
- }
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
+ var NullProtoObjectViaIFrame = function () {
+ // Thrash, waste and sodomy: IE GC bug
+ var iframe = documentCreateElement('iframe');
+ var JS = 'java' + SCRIPT + ':';
+ var iframeDocument;
+ iframe.style.display = 'none';
+ html$1.appendChild(iframe);
+ // https://github.com/zloirock/core-js/issues/475
+ iframe.src = String(JS);
+ iframeDocument = iframe.contentWindow.document;
+ iframeDocument.open();
+ iframeDocument.write(scriptTag('document.F=Object'));
+ iframeDocument.close();
+ return iframeDocument.F;
+ };
- var _stackSet = stackSet$1;
+ // Check for document.domain and active x support
+ // No need to use active x approach when document.domain is not set
+ // see https://github.com/es-shims/es5-shim/issues/150
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
+ // avoid IE GC bug
+ var activeXDocument;
+ var NullProtoObject = function () {
+ try {
+ activeXDocument = new ActiveXObject('htmlfile');
+ } catch (error) { /* ignore */ }
+ NullProtoObject = typeof document != 'undefined'
+ ? document.domain && activeXDocument
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
+ : NullProtoObjectViaIFrame()
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
+ var length = enumBugKeys.length;
+ while (length--) delete NullProtoObject[PROTOTYPE$1][enumBugKeys[length]];
+ return NullProtoObject();
+ };
- var ListCache = _ListCache,
- stackClear = _stackClear,
- stackDelete = _stackDelete,
- stackGet = _stackGet,
- stackHas = _stackHas,
- stackSet = _stackSet;
+ hiddenKeys$2[IE_PROTO] = true;
+
+ // `Object.create` method
+ // https://tc39.es/ecma262/#sec-object.create
+ // eslint-disable-next-line es/no-object-create -- safe
+ var objectCreate = Object.create || function create(O, Properties) {
+ var result;
+ if (O !== null) {
+ EmptyConstructor[PROTOTYPE$1] = anObject$7(O);
+ result = new EmptyConstructor();
+ EmptyConstructor[PROTOTYPE$1] = null;
+ // add "__proto__" for Object.getPrototypeOf polyfill
+ result[IE_PROTO] = O;
+ } else result = NullProtoObject();
+ return Properties === undefined ? result : definePropertiesModule$1.f(result, Properties);
+ };
- /**
- * Creates a stack cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Stack$2(entries) {
- var data = this.__data__ = new ListCache(entries);
- this.size = data.size;
- }
+ var isObject$d = isObject$k;
+ var createNonEnumerableProperty$5 = createNonEnumerableProperty$7;
- // Add methods to `Stack`.
- Stack$2.prototype.clear = stackClear;
- Stack$2.prototype['delete'] = stackDelete;
- Stack$2.prototype.get = stackGet;
- Stack$2.prototype.has = stackHas;
- Stack$2.prototype.set = stackSet;
+ // `InstallErrorCause` abstract operation
+ // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
+ var installErrorCause$1 = function (O, options) {
+ if (isObject$d(options) && 'cause' in options) {
+ createNonEnumerableProperty$5(O, 'cause', options.cause);
+ }
+ };
- var _Stack = Stack$2;
+ var uncurryThis$j = functionUncurryThis;
- /** Used to stand-in for `undefined` hash values. */
+ var $Error$1 = Error;
+ var replace$2 = uncurryThis$j(''.replace);
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
+ var TEST = (function (arg) { return String(new $Error$1(arg).stack); })('zxcasd');
+ // eslint-disable-next-line redos/no-vulnerable -- safe
+ var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
+ var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
- /**
- * Adds `value` to the array cache.
- *
- * @private
- * @name add
- * @memberOf SetCache
- * @alias push
- * @param {*} value The value to cache.
- * @returns {Object} Returns the cache instance.
- */
- function setCacheAdd$1(value) {
- this.__data__.set(value, HASH_UNDEFINED);
- return this;
- }
+ var errorStackClear = function (stack, dropEntries) {
+ if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error$1.prepareStackTrace) {
+ while (dropEntries--) stack = replace$2(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
+ } return stack;
+ };
- var _setCacheAdd = setCacheAdd$1;
+ var fails$i = fails$r;
+ var createPropertyDescriptor$4 = createPropertyDescriptor$7;
- /**
- * Checks if `value` is in the array cache.
- *
- * @private
- * @name has
- * @memberOf SetCache
- * @param {*} value The value to search for.
- * @returns {number} Returns `true` if `value` is found, else `false`.
- */
+ var errorStackInstallable = !fails$i(function () {
+ var error = new Error('a');
+ if (!('stack' in error)) return true;
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ Object.defineProperty(error, 'stack', createPropertyDescriptor$4(1, 7));
+ return error.stack !== 7;
+ });
- function setCacheHas$1(value) {
- return this.__data__.has(value);
- }
+ var createNonEnumerableProperty$4 = createNonEnumerableProperty$7;
+ var clearErrorStack = errorStackClear;
+ var ERROR_STACK_INSTALLABLE = errorStackInstallable;
- var _setCacheHas = setCacheHas$1;
+ // non-standard V8
+ var captureStackTrace = Error.captureStackTrace;
- var MapCache$1 = _MapCache,
- setCacheAdd = _setCacheAdd,
- setCacheHas = _setCacheHas;
+ var errorStackInstall = function (error, C, stack, dropEntries) {
+ if (ERROR_STACK_INSTALLABLE) {
+ if (captureStackTrace) captureStackTrace(error, C);
+ else createNonEnumerableProperty$4(error, 'stack', clearErrorStack(stack, dropEntries));
+ }
+ };
- /**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */
- function SetCache$2(values) {
- var index = -1,
- length = values == null ? 0 : values.length;
+ var iterators = {};
- this.__data__ = new MapCache$1;
- while (++index < length) {
- this.add(values[index]);
- }
- }
+ var wellKnownSymbol$m = wellKnownSymbol$o;
+ var Iterators$5 = iterators;
- // Add methods to `SetCache`.
- SetCache$2.prototype.add = SetCache$2.prototype.push = setCacheAdd;
- SetCache$2.prototype.has = setCacheHas;
+ var ITERATOR$4 = wellKnownSymbol$m('iterator');
+ var ArrayPrototype$b = Array.prototype;
- var _SetCache = SetCache$2;
+ // check on default Array iterator
+ var isArrayIteratorMethod$2 = function (it) {
+ return it !== undefined && (Iterators$5.Array === it || ArrayPrototype$b[ITERATOR$4] === it);
+ };
- /**
- * A specialized version of `_.some` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- */
+ var wellKnownSymbol$l = wellKnownSymbol$o;
- function arraySome$1(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length;
+ var TO_STRING_TAG$3 = wellKnownSymbol$l('toStringTag');
+ var test$1 = {};
- while (++index < length) {
- if (predicate(array[index], index, array)) {
- return true;
- }
- }
- return false;
- }
+ test$1[TO_STRING_TAG$3] = 'z';
- var _arraySome = arraySome$1;
+ var toStringTagSupport = String(test$1) === '[object z]';
- /**
- * Checks if a `cache` value for `key` exists.
- *
- * @private
- * @param {Object} cache The cache to query.
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
+ var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport;
+ var isCallable$a = isCallable$j;
+ var classofRaw = classofRaw$2;
+ var wellKnownSymbol$k = wellKnownSymbol$o;
- function cacheHas$2(cache, key) {
- return cache.has(key);
- }
+ var TO_STRING_TAG$2 = wellKnownSymbol$k('toStringTag');
+ var $Object = Object;
- var _cacheHas = cacheHas$2;
+ // ES3 wrong here
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';
- var SetCache$1 = _SetCache,
- arraySome = _arraySome,
- cacheHas$1 = _cacheHas;
+ // fallback for IE11 Script Access Denied error
+ var tryGet = function (it, key) {
+ try {
+ return it[key];
+ } catch (error) { /* empty */ }
+ };
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG$5 = 1,
- COMPARE_UNORDERED_FLAG$3 = 2;
+ // getting tag from ES6+ `Object.prototype.toString`
+ var classof$b = TO_STRING_TAG_SUPPORT$2 ? classofRaw : function (it) {
+ var O, tag, result;
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
+ // @@toStringTag case
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG$2)) == 'string' ? tag
+ // builtinTag case
+ : CORRECT_ARGUMENTS ? classofRaw(O)
+ // ES3 arguments fallback
+ : (result = classofRaw(O)) === 'Object' && isCallable$a(O.callee) ? 'Arguments' : result;
+ };
- /**
- * A specialized version of `baseIsEqualDeep` for arrays with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Array} array The array to compare.
- * @param {Array} other The other array to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `array` and `other` objects.
- * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
- */
- function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) {
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5,
- arrLength = array.length,
- othLength = other.length;
+ var classof$a = classof$b;
+ var getMethod$1 = getMethod$3;
+ var isNullOrUndefined$2 = isNullOrUndefined$5;
+ var Iterators$4 = iterators;
+ var wellKnownSymbol$j = wellKnownSymbol$o;
- if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
- return false;
- }
- // Check that cyclic values are equal.
- var arrStacked = stack.get(array);
- var othStacked = stack.get(other);
- if (arrStacked && othStacked) {
- return arrStacked == other && othStacked == array;
- }
- var index = -1,
- result = true,
- seen = (bitmask & COMPARE_UNORDERED_FLAG$3) ? new SetCache$1 : undefined;
+ var ITERATOR$3 = wellKnownSymbol$j('iterator');
- stack.set(array, other);
- stack.set(other, array);
+ var getIteratorMethod$8 = function (it) {
+ if (!isNullOrUndefined$2(it)) return getMethod$1(it, ITERATOR$3)
+ || getMethod$1(it, '@@iterator')
+ || Iterators$4[classof$a(it)];
+ };
- // Ignore non-index properties.
- while (++index < arrLength) {
- var arrValue = array[index],
- othValue = other[index];
+ var call$e = functionCall;
+ var aCallable$8 = aCallable$c;
+ var anObject$6 = anObject$b;
+ var tryToString$3 = tryToString$5;
+ var getIteratorMethod$7 = getIteratorMethod$8;
- if (customizer) {
- var compared = isPartial
- ? customizer(othValue, arrValue, index, other, array, stack)
- : customizer(arrValue, othValue, index, array, other, stack);
+ var $TypeError$9 = TypeError;
+
+ var getIterator$2 = function (argument, usingIterator) {
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod$7(argument) : usingIterator;
+ if (aCallable$8(iteratorMethod)) return anObject$6(call$e(iteratorMethod, argument));
+ throw new $TypeError$9(tryToString$3(argument) + ' is not iterable');
+ };
+
+ var call$d = functionCall;
+ var anObject$5 = anObject$b;
+ var getMethod = getMethod$3;
+
+ var iteratorClose$2 = function (iterator, kind, value) {
+ var innerResult, innerError;
+ anObject$5(iterator);
+ try {
+ innerResult = getMethod(iterator, 'return');
+ if (!innerResult) {
+ if (kind === 'throw') throw value;
+ return value;
}
- if (compared !== undefined) {
- if (compared) {
- continue;
- }
- result = false;
- break;
+ innerResult = call$d(innerResult, iterator);
+ } catch (error) {
+ innerError = true;
+ innerResult = error;
+ }
+ if (kind === 'throw') throw value;
+ if (innerError) throw innerResult;
+ anObject$5(innerResult);
+ return value;
+ };
+
+ var bind$5 = functionBindContext;
+ var call$c = functionCall;
+ var anObject$4 = anObject$b;
+ var tryToString$2 = tryToString$5;
+ var isArrayIteratorMethod$1 = isArrayIteratorMethod$2;
+ var lengthOfArrayLike$7 = lengthOfArrayLike$9;
+ var isPrototypeOf$g = objectIsPrototypeOf;
+ var getIterator$1 = getIterator$2;
+ var getIteratorMethod$6 = getIteratorMethod$8;
+ var iteratorClose$1 = iteratorClose$2;
+
+ var $TypeError$8 = TypeError;
+
+ var Result = function (stopped, result) {
+ this.stopped = stopped;
+ this.result = result;
+ };
+
+ var ResultPrototype = Result.prototype;
+
+ var iterate$5 = function (iterable, unboundFunction, options) {
+ var that = options && options.that;
+ var AS_ENTRIES = !!(options && options.AS_ENTRIES);
+ var IS_RECORD = !!(options && options.IS_RECORD);
+ var IS_ITERATOR = !!(options && options.IS_ITERATOR);
+ var INTERRUPTED = !!(options && options.INTERRUPTED);
+ var fn = bind$5(unboundFunction, that);
+ var iterator, iterFn, index, length, result, next, step;
+
+ var stop = function (condition) {
+ if (iterator) iteratorClose$1(iterator, 'normal', condition);
+ return new Result(true, condition);
+ };
+
+ var callFn = function (value) {
+ if (AS_ENTRIES) {
+ anObject$4(value);
+ return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
+ } return INTERRUPTED ? fn(value, stop) : fn(value);
+ };
+
+ if (IS_RECORD) {
+ iterator = iterable.iterator;
+ } else if (IS_ITERATOR) {
+ iterator = iterable;
+ } else {
+ iterFn = getIteratorMethod$6(iterable);
+ if (!iterFn) throw new $TypeError$8(tryToString$2(iterable) + ' is not iterable');
+ // optimisation for array iterators
+ if (isArrayIteratorMethod$1(iterFn)) {
+ for (index = 0, length = lengthOfArrayLike$7(iterable); length > index; index++) {
+ result = callFn(iterable[index]);
+ if (result && isPrototypeOf$g(ResultPrototype, result)) return result;
+ } return new Result(false);
}
- // Recursively compare arrays (susceptible to call stack limits).
- if (seen) {
- if (!arraySome(other, function(othValue, othIndex) {
- if (!cacheHas$1(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
- return seen.push(othIndex);
- }
- })) {
- result = false;
- break;
- }
- } else if (!(
- arrValue === othValue ||
- equalFunc(arrValue, othValue, bitmask, customizer, stack)
- )) {
- result = false;
- break;
+ iterator = getIterator$1(iterable, iterFn);
+ }
+
+ next = IS_RECORD ? iterable.next : iterator.next;
+ while (!(step = call$c(next, iterator)).done) {
+ try {
+ result = callFn(step.value);
+ } catch (error) {
+ iteratorClose$1(iterator, 'throw', error);
}
+ if (typeof result == 'object' && result && isPrototypeOf$g(ResultPrototype, result)) return result;
+ } return new Result(false);
+ };
+
+ var classof$9 = classof$b;
+
+ var $String$1 = String;
+
+ var toString$d = function (argument) {
+ if (classof$9(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
+ return $String$1(argument);
+ };
+
+ var toString$c = toString$d;
+
+ var normalizeStringArgument$1 = function (argument, $default) {
+ return argument === undefined ? arguments.length < 2 ? '' : $default : toString$c(argument);
+ };
+
+ var $$J = _export;
+ var isPrototypeOf$f = objectIsPrototypeOf;
+ var getPrototypeOf$7 = objectGetPrototypeOf$1;
+ var setPrototypeOf$6 = objectSetPrototypeOf;
+ var copyConstructorProperties = copyConstructorProperties$1;
+ var create$9 = objectCreate;
+ var createNonEnumerableProperty$3 = createNonEnumerableProperty$7;
+ var createPropertyDescriptor$3 = createPropertyDescriptor$7;
+ var installErrorCause = installErrorCause$1;
+ var installErrorStack = errorStackInstall;
+ var iterate$4 = iterate$5;
+ var normalizeStringArgument = normalizeStringArgument$1;
+ var wellKnownSymbol$i = wellKnownSymbol$o;
+
+ var TO_STRING_TAG$1 = wellKnownSymbol$i('toStringTag');
+ var $Error = Error;
+ var push$a = [].push;
+
+ var $AggregateError = function AggregateError(errors, message /* , options */) {
+ var isInstance = isPrototypeOf$f(AggregateErrorPrototype, this);
+ var that;
+ if (setPrototypeOf$6) {
+ that = setPrototypeOf$6(new $Error(), isInstance ? getPrototypeOf$7(this) : AggregateErrorPrototype);
+ } else {
+ that = isInstance ? this : create$9(AggregateErrorPrototype);
+ createNonEnumerableProperty$3(that, TO_STRING_TAG$1, 'Error');
}
- stack['delete'](array);
- stack['delete'](other);
- return result;
- }
+ if (message !== undefined) createNonEnumerableProperty$3(that, 'message', normalizeStringArgument(message));
+ installErrorStack(that, $AggregateError, that.stack, 1);
+ if (arguments.length > 2) installErrorCause(that, arguments[2]);
+ var errorsArray = [];
+ iterate$4(errors, push$a, { that: errorsArray });
+ createNonEnumerableProperty$3(that, 'errors', errorsArray);
+ return that;
+ };
- var _equalArrays = equalArrays$2;
+ if (setPrototypeOf$6) setPrototypeOf$6($AggregateError, $Error);
+ else copyConstructorProperties($AggregateError, $Error, { name: true });
- var root$4 = _root;
+ var AggregateErrorPrototype = $AggregateError.prototype = create$9($Error.prototype, {
+ constructor: createPropertyDescriptor$3(1, $AggregateError),
+ message: createPropertyDescriptor$3(1, ''),
+ name: createPropertyDescriptor$3(1, 'AggregateError')
+ });
- /** Built-in value references. */
- var Uint8Array$2 = root$4.Uint8Array;
+ // `AggregateError` constructor
+ // https://tc39.es/ecma262/#sec-aggregate-error-constructor
+ $$J({ global: true, constructor: true, arity: 2 }, {
+ AggregateError: $AggregateError
+ });
- var _Uint8Array = Uint8Array$2;
+ var global$d = global$l;
+ var isCallable$9 = isCallable$j;
- /**
- * Converts `map` to its key-value pairs.
- *
- * @private
- * @param {Object} map The map to convert.
- * @returns {Array} Returns the key-value pairs.
- */
+ var WeakMap$3 = global$d.WeakMap;
- function mapToArray$1(map) {
- var index = -1,
- result = Array(map.size);
+ var weakMapBasicDetection = isCallable$9(WeakMap$3) && /native code/.test(String(WeakMap$3));
- map.forEach(function(value, key) {
- result[++index] = [key, value];
- });
- return result;
- }
+ var NATIVE_WEAK_MAP = weakMapBasicDetection;
+ var global$c = global$l;
+ var isObject$c = isObject$k;
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$7;
+ var hasOwn$8 = hasOwnProperty_1;
+ var shared$4 = sharedStoreExports;
+ var sharedKey$1 = sharedKey$4;
+ var hiddenKeys$1 = hiddenKeys$5;
- var _mapToArray = mapToArray$1;
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
+ var TypeError$3 = global$c.TypeError;
+ var WeakMap$2 = global$c.WeakMap;
+ var set$1, get$2, has;
- /**
- * Converts `set` to an array of its values.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the values.
- */
+ var enforce = function (it) {
+ return has(it) ? get$2(it) : set$1(it, {});
+ };
- function setToArray$1(set) {
- var index = -1,
- result = Array(set.size);
+ var getterFor = function (TYPE) {
+ return function (it) {
+ var state;
+ if (!isObject$c(it) || (state = get$2(it)).type !== TYPE) {
+ throw new TypeError$3('Incompatible receiver, ' + TYPE + ' required');
+ } return state;
+ };
+ };
- set.forEach(function(value) {
- result[++index] = value;
- });
- return result;
+ if (NATIVE_WEAK_MAP || shared$4.state) {
+ var store$1 = shared$4.state || (shared$4.state = new WeakMap$2());
+ /* eslint-disable no-self-assign -- prototype methods protection */
+ store$1.get = store$1.get;
+ store$1.has = store$1.has;
+ store$1.set = store$1.set;
+ /* eslint-enable no-self-assign -- prototype methods protection */
+ set$1 = function (it, metadata) {
+ if (store$1.has(it)) throw new TypeError$3(OBJECT_ALREADY_INITIALIZED);
+ metadata.facade = it;
+ store$1.set(it, metadata);
+ return metadata;
+ };
+ get$2 = function (it) {
+ return store$1.get(it) || {};
+ };
+ has = function (it) {
+ return store$1.has(it);
+ };
+ } else {
+ var STATE = sharedKey$1('state');
+ hiddenKeys$1[STATE] = true;
+ set$1 = function (it, metadata) {
+ if (hasOwn$8(it, STATE)) throw new TypeError$3(OBJECT_ALREADY_INITIALIZED);
+ metadata.facade = it;
+ createNonEnumerableProperty$2(it, STATE, metadata);
+ return metadata;
+ };
+ get$2 = function (it) {
+ return hasOwn$8(it, STATE) ? it[STATE] : {};
+ };
+ has = function (it) {
+ return hasOwn$8(it, STATE);
+ };
}
- var _setToArray = setToArray$1;
+ var internalState = {
+ set: set$1,
+ get: get$2,
+ has: has,
+ enforce: enforce,
+ getterFor: getterFor
+ };
- var Symbol$3 = _Symbol,
- Uint8Array$1 = _Uint8Array,
- eq = eq_1,
- equalArrays$1 = _equalArrays,
- mapToArray = _mapToArray,
- setToArray = _setToArray;
+ var DESCRIPTORS$a = descriptors;
+ var hasOwn$7 = hasOwnProperty_1;
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG$4 = 1,
- COMPARE_UNORDERED_FLAG$2 = 2;
+ var FunctionPrototype$1 = Function.prototype;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var getDescriptor = DESCRIPTORS$a && Object.getOwnPropertyDescriptor;
- /** `Object#toString` result references. */
- var boolTag$2 = '[object Boolean]',
- dateTag$1 = '[object Date]',
- errorTag$1 = '[object Error]',
- mapTag$3 = '[object Map]',
- numberTag$1 = '[object Number]',
- regexpTag$1 = '[object RegExp]',
- setTag$3 = '[object Set]',
- stringTag$2 = '[object String]',
- symbolTag$1 = '[object Symbol]';
+ var EXISTS = hasOwn$7(FunctionPrototype$1, 'name');
+ // additional protection from minified / mangled / dropped function names
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$a || (DESCRIPTORS$a && getDescriptor(FunctionPrototype$1, 'name').configurable));
- var arrayBufferTag$1 = '[object ArrayBuffer]',
- dataViewTag$2 = '[object DataView]';
+ var functionName = {
+ EXISTS: EXISTS,
+ PROPER: PROPER,
+ CONFIGURABLE: CONFIGURABLE
+ };
- /** Used to convert symbols to primitives and strings. */
- var symbolProto$1 = Symbol$3 ? Symbol$3.prototype : undefined,
- symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined;
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$7;
- /**
- * A specialized version of `baseIsEqualDeep` for comparing objects of
- * the same `toStringTag`.
- *
- * **Note:** This function only supports comparing values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {string} tag The `toStringTag` of the objects to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack) {
- switch (tag) {
- case dataViewTag$2:
- if ((object.byteLength != other.byteLength) ||
- (object.byteOffset != other.byteOffset)) {
- return false;
- }
- object = object.buffer;
- other = other.buffer;
+ var defineBuiltIn$5 = function (target, key, value, options) {
+ if (options && options.enumerable) target[key] = value;
+ else createNonEnumerableProperty$1(target, key, value);
+ return target;
+ };
- case arrayBufferTag$1:
- if ((object.byteLength != other.byteLength) ||
- !equalFunc(new Uint8Array$1(object), new Uint8Array$1(other))) {
- return false;
- }
- return true;
+ var fails$h = fails$r;
+ var isCallable$8 = isCallable$j;
+ var isObject$b = isObject$k;
+ var create$8 = objectCreate;
+ var getPrototypeOf$6 = objectGetPrototypeOf$1;
+ var defineBuiltIn$4 = defineBuiltIn$5;
+ var wellKnownSymbol$h = wellKnownSymbol$o;
+
+ var ITERATOR$2 = wellKnownSymbol$h('iterator');
+ var BUGGY_SAFARI_ITERATORS$1 = false;
+
+ // `%IteratorPrototype%` object
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
+ var IteratorPrototype$1, PrototypeOfArrayIteratorPrototype, arrayIterator;
+
+ /* eslint-disable es/no-array-prototype-keys -- safe */
+ if ([].keys) {
+ arrayIterator = [].keys();
+ // Safari 8 has buggy iterators w/o `next`
+ if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;
+ else {
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf$6(getPrototypeOf$6(arrayIterator));
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$1 = PrototypeOfArrayIteratorPrototype;
+ }
+ }
- case boolTag$2:
- case dateTag$1:
- case numberTag$1:
- // Coerce booleans to `1` or `0` and dates to milliseconds.
- // Invalid dates are coerced to `NaN`.
- return eq(+object, +other);
+ var NEW_ITERATOR_PROTOTYPE = !isObject$b(IteratorPrototype$1) || fails$h(function () {
+ var test = {};
+ // FF44- legacy iterators case
+ return IteratorPrototype$1[ITERATOR$2].call(test) !== test;
+ });
- case errorTag$1:
- return object.name == other.name && object.message == other.message;
+ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$1 = {};
+ else IteratorPrototype$1 = create$8(IteratorPrototype$1);
- case regexpTag$1:
- case stringTag$2:
- // Coerce regexes to strings and treat strings, primitives and objects,
- // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
- // for more details.
- return object == (other + '');
+ // `%IteratorPrototype%[@@iterator]()` method
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
+ if (!isCallable$8(IteratorPrototype$1[ITERATOR$2])) {
+ defineBuiltIn$4(IteratorPrototype$1, ITERATOR$2, function () {
+ return this;
+ });
+ }
- case mapTag$3:
- var convert = mapToArray;
+ var iteratorsCore = {
+ IteratorPrototype: IteratorPrototype$1,
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
+ };
- case setTag$3:
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
- convert || (convert = setToArray);
+ var TO_STRING_TAG_SUPPORT$1 = toStringTagSupport;
+ var classof$8 = classof$b;
- if (object.size != other.size && !isPartial) {
- return false;
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(object);
- if (stacked) {
- return stacked == other;
- }
- bitmask |= COMPARE_UNORDERED_FLAG$2;
+ // `Object.prototype.toString` method implementation
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
+ var objectToString$2 = TO_STRING_TAG_SUPPORT$1 ? {}.toString : function toString() {
+ return '[object ' + classof$8(this) + ']';
+ };
- // Recursively compare objects (susceptible to call stack limits).
- stack.set(object, other);
- var result = equalArrays$1(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
- stack['delete'](object);
- return result;
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
+ var defineProperty$d = objectDefineProperty.f;
+ var createNonEnumerableProperty = createNonEnumerableProperty$7;
+ var hasOwn$6 = hasOwnProperty_1;
+ var toString$b = objectToString$2;
+ var wellKnownSymbol$g = wellKnownSymbol$o;
- case symbolTag$1:
- if (symbolValueOf) {
- return symbolValueOf.call(object) == symbolValueOf.call(other);
- }
+ var TO_STRING_TAG = wellKnownSymbol$g('toStringTag');
+
+ var setToStringTag$7 = function (it, TAG, STATIC, SET_METHOD) {
+ var target = STATIC ? it : it && it.prototype;
+ if (target) {
+ if (!hasOwn$6(target, TO_STRING_TAG)) {
+ defineProperty$d(target, TO_STRING_TAG, { configurable: true, value: TAG });
+ }
+ if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {
+ createNonEnumerableProperty(target, 'toString', toString$b);
+ }
}
- return false;
- }
+ };
- var _equalByTag = equalByTag$1;
+ var IteratorPrototype = iteratorsCore.IteratorPrototype;
+ var create$7 = objectCreate;
+ var createPropertyDescriptor$2 = createPropertyDescriptor$7;
+ var setToStringTag$6 = setToStringTag$7;
+ var Iterators$3 = iterators;
- /**
- * Appends the elements of `values` to `array`.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {Array} values The values to append.
- * @returns {Array} Returns `array`.
- */
+ var returnThis$1 = function () { return this; };
- function arrayPush$2(array, values) {
- var index = -1,
- length = values.length,
- offset = array.length;
+ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
+ var TO_STRING_TAG = NAME + ' Iterator';
+ IteratorConstructor.prototype = create$7(IteratorPrototype, { next: createPropertyDescriptor$2(+!ENUMERABLE_NEXT, next) });
+ setToStringTag$6(IteratorConstructor, TO_STRING_TAG, false, true);
+ Iterators$3[TO_STRING_TAG] = returnThis$1;
+ return IteratorConstructor;
+ };
- while (++index < length) {
- array[offset + index] = values[index];
- }
- return array;
- }
+ var $$I = _export;
+ var call$b = functionCall;
+ var FunctionName = functionName;
+ var createIteratorConstructor = iteratorCreateConstructor;
+ var getPrototypeOf$5 = objectGetPrototypeOf$1;
+ var setToStringTag$5 = setToStringTag$7;
+ var defineBuiltIn$3 = defineBuiltIn$5;
+ var wellKnownSymbol$f = wellKnownSymbol$o;
+ var Iterators$2 = iterators;
+ var IteratorsCore = iteratorsCore;
+
+ var PROPER_FUNCTION_NAME$1 = FunctionName.PROPER;
+ FunctionName.CONFIGURABLE;
+ IteratorsCore.IteratorPrototype;
+ var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
+ var ITERATOR$1 = wellKnownSymbol$f('iterator');
+ var KEYS = 'keys';
+ var VALUES = 'values';
+ var ENTRIES = 'entries';
+
+ var returnThis = function () { return this; };
+
+ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
+ createIteratorConstructor(IteratorConstructor, NAME, next);
+
+ var getIterationMethod = function (KIND) {
+ if (KIND === DEFAULT && defaultIterator) return defaultIterator;
+ if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];
+
+ switch (KIND) {
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
+ }
- var _arrayPush = arrayPush$2;
+ return function () { return new IteratorConstructor(this); };
+ };
- var arrayPush$1 = _arrayPush,
- isArray$a = isArray_1;
+ var TO_STRING_TAG = NAME + ' Iterator';
+ var INCORRECT_VALUES_NAME = false;
+ var IterablePrototype = Iterable.prototype;
+ var nativeIterator = IterablePrototype[ITERATOR$1]
+ || IterablePrototype['@@iterator']
+ || DEFAULT && IterablePrototype[DEFAULT];
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
+ var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
+ var CurrentIteratorPrototype, methods, KEY;
+
+ // fix native
+ if (anyNativeIterator) {
+ CurrentIteratorPrototype = getPrototypeOf$5(anyNativeIterator.call(new Iterable()));
+ if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
+ // Set @@toStringTag to native iterators
+ setToStringTag$5(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
+ Iterators$2[TO_STRING_TAG] = returnThis;
+ }
+ }
- /**
- * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
- * `keysFunc` and `symbolsFunc` to get the enumerable property names and
- * symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @param {Function} symbolsFunc The function to get the symbols of `object`.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function baseGetAllKeys$1(object, keysFunc, symbolsFunc) {
- var result = keysFunc(object);
- return isArray$a(object) ? result : arrayPush$1(result, symbolsFunc(object));
- }
+ // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
+ if (PROPER_FUNCTION_NAME$1 && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
+ {
+ INCORRECT_VALUES_NAME = true;
+ defaultIterator = function values() { return call$b(nativeIterator, this); };
+ }
+ }
- var _baseGetAllKeys = baseGetAllKeys$1;
+ // export additional methods
+ if (DEFAULT) {
+ methods = {
+ values: getIterationMethod(VALUES),
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
+ entries: getIterationMethod(ENTRIES)
+ };
+ if (FORCED) for (KEY in methods) {
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
+ defineBuiltIn$3(IterablePrototype, KEY, methods[KEY]);
+ }
+ } else $$I({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
+ }
- /**
- * A specialized version of `_.filter` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- */
+ // define iterator
+ if ((FORCED) && IterablePrototype[ITERATOR$1] !== defaultIterator) {
+ defineBuiltIn$3(IterablePrototype, ITERATOR$1, defaultIterator, { name: DEFAULT });
+ }
+ Iterators$2[NAME] = defaultIterator;
- function arrayFilter$1(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length,
- resIndex = 0,
- result = [];
+ return methods;
+ };
- while (++index < length) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result[resIndex++] = value;
- }
+ // `CreateIterResultObject` abstract operation
+ // https://tc39.es/ecma262/#sec-createiterresultobject
+ var createIterResultObject$2 = function (value, done) {
+ return { value: value, done: done };
+ };
+
+ var toIndexedObject$6 = toIndexedObject$b;
+ var Iterators$1 = iterators;
+ var InternalStateModule$3 = internalState;
+ objectDefineProperty.f;
+ var defineIterator$1 = iteratorDefine;
+ var createIterResultObject$1 = createIterResultObject$2;
+
+ var ARRAY_ITERATOR = 'Array Iterator';
+ var setInternalState$3 = InternalStateModule$3.set;
+ var getInternalState$2 = InternalStateModule$3.getterFor(ARRAY_ITERATOR);
+
+ // `Array.prototype.entries` method
+ // https://tc39.es/ecma262/#sec-array.prototype.entries
+ // `Array.prototype.keys` method
+ // https://tc39.es/ecma262/#sec-array.prototype.keys
+ // `Array.prototype.values` method
+ // https://tc39.es/ecma262/#sec-array.prototype.values
+ // `Array.prototype[@@iterator]` method
+ // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
+ // `CreateArrayIterator` internal method
+ // https://tc39.es/ecma262/#sec-createarrayiterator
+ defineIterator$1(Array, 'Array', function (iterated, kind) {
+ setInternalState$3(this, {
+ type: ARRAY_ITERATOR,
+ target: toIndexedObject$6(iterated), // target
+ index: 0, // next index
+ kind: kind // kind
+ });
+ // `%ArrayIteratorPrototype%.next` method
+ // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
+ }, function () {
+ var state = getInternalState$2(this);
+ var target = state.target;
+ var index = state.index++;
+ if (!target || index >= target.length) {
+ state.target = undefined;
+ return createIterResultObject$1(undefined, true);
}
- return result;
- }
+ switch (state.kind) {
+ case 'keys': return createIterResultObject$1(index, false);
+ case 'values': return createIterResultObject$1(target[index], false);
+ } return createIterResultObject$1([index, target[index]], false);
+ }, 'values');
- var _arrayFilter = arrayFilter$1;
+ // argumentsList[@@iterator] is %ArrayProto_values%
+ // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
+ // https://tc39.es/ecma262/#sec-createmappedargumentsobject
+ Iterators$1.Arguments = Iterators$1.Array;
- /**
- * This method returns a new empty array.
- *
- * @static
- * @memberOf _
- * @since 4.13.0
- * @category Util
- * @returns {Array} Returns the new empty array.
- * @example
- *
- * var arrays = _.times(2, _.stubArray);
- *
- * console.log(arrays);
- * // => [[], []]
- *
- * console.log(arrays[0] === arrays[1]);
- * // => false
- */
+ var global$b = global$l;
+ var classof$7 = classofRaw$2;
- function stubArray$1() {
- return [];
- }
+ var engineIsNode = classof$7(global$b.process) === 'process';
- var stubArray_1 = stubArray$1;
+ var defineProperty$c = objectDefineProperty;
- var arrayFilter = _arrayFilter,
- stubArray = stubArray_1;
+ var defineBuiltInAccessor$2 = function (target, name, descriptor) {
+ return defineProperty$c.f(target, name, descriptor);
+ };
- /** Used for built-in method references. */
- var objectProto$7 = Object.prototype;
+ var getBuiltIn$a = getBuiltIn$e;
+ var defineBuiltInAccessor$1 = defineBuiltInAccessor$2;
+ var wellKnownSymbol$e = wellKnownSymbol$o;
+ var DESCRIPTORS$9 = descriptors;
- /** Built-in value references. */
- var propertyIsEnumerable$1 = objectProto$7.propertyIsEnumerable;
+ var SPECIES$5 = wellKnownSymbol$e('species');
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeGetSymbols = Object.getOwnPropertySymbols;
+ var setSpecies$1 = function (CONSTRUCTOR_NAME) {
+ var Constructor = getBuiltIn$a(CONSTRUCTOR_NAME);
- /**
- * Creates an array of the own enumerable symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of symbols.
- */
- var getSymbols$1 = !nativeGetSymbols ? stubArray : function(object) {
- if (object == null) {
- return [];
+ if (DESCRIPTORS$9 && Constructor && !Constructor[SPECIES$5]) {
+ defineBuiltInAccessor$1(Constructor, SPECIES$5, {
+ configurable: true,
+ get: function () { return this; }
+ });
}
- object = Object(object);
- return arrayFilter(nativeGetSymbols(object), function(symbol) {
- return propertyIsEnumerable$1.call(object, symbol);
- });
};
- var _getSymbols = getSymbols$1;
+ var isPrototypeOf$e = objectIsPrototypeOf;
- /**
- * The base implementation of `_.times` without support for iteratee shorthands
- * or max array length checks.
- *
- * @private
- * @param {number} n The number of times to invoke `iteratee`.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the array of results.
- */
+ var $TypeError$7 = TypeError;
- function baseTimes$1(n, iteratee) {
- var index = -1,
- result = Array(n);
+ var anInstance$1 = function (it, Prototype) {
+ if (isPrototypeOf$e(Prototype, it)) return it;
+ throw new $TypeError$7('Incorrect invocation');
+ };
- while (++index < n) {
- result[index] = iteratee(index);
- }
- return result;
+ var uncurryThis$i = functionUncurryThis;
+ var isCallable$7 = isCallable$j;
+ var store = sharedStoreExports;
+
+ var functionToString = uncurryThis$i(Function.toString);
+
+ // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
+ if (!isCallable$7(store.inspectSource)) {
+ store.inspectSource = function (it) {
+ return functionToString(it);
+ };
}
- var _baseTimes = baseTimes$1;
+ var inspectSource$2 = store.inspectSource;
- /**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
+ var uncurryThis$h = functionUncurryThis;
+ var fails$g = fails$r;
+ var isCallable$6 = isCallable$j;
+ var classof$6 = classof$b;
+ var getBuiltIn$9 = getBuiltIn$e;
+ var inspectSource$1 = inspectSource$2;
- function isObjectLike$8(value) {
- return value != null && typeof value == 'object';
- }
+ var noop = function () { /* empty */ };
+ var construct = getBuiltIn$9('Reflect', 'construct');
+ var constructorRegExp = /^\s*(?:class|function)\b/;
+ var exec$1 = uncurryThis$h(constructorRegExp.exec);
+ var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
- var isObjectLike_1 = isObjectLike$8;
+ var isConstructorModern = function isConstructor(argument) {
+ if (!isCallable$6(argument)) return false;
+ try {
+ construct(noop, [], argument);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ };
- var baseGetTag$5 = _baseGetTag,
- isObjectLike$7 = isObjectLike_1;
+ var isConstructorLegacy = function isConstructor(argument) {
+ if (!isCallable$6(argument)) return false;
+ switch (classof$6(argument)) {
+ case 'AsyncFunction':
+ case 'GeneratorFunction':
+ case 'AsyncGeneratorFunction': return false;
+ }
+ try {
+ // we can't check .prototype since constructors produced by .bind haven't it
+ // `Function#toString` throws on some built-it function in some legacy engines
+ // (for example, `DOMQuad` and similar in FF41-)
+ return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource$1(argument));
+ } catch (error) {
+ return true;
+ }
+ };
- /** `Object#toString` result references. */
- var argsTag$2 = '[object Arguments]';
+ isConstructorLegacy.sham = true;
- /**
- * The base implementation of `_.isArguments`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- */
- function baseIsArguments$1(value) {
- return isObjectLike$7(value) && baseGetTag$5(value) == argsTag$2;
- }
+ // `IsConstructor` abstract operation
+ // https://tc39.es/ecma262/#sec-isconstructor
+ var isConstructor$4 = !construct || fails$g(function () {
+ var called;
+ return isConstructorModern(isConstructorModern.call)
+ || !isConstructorModern(Object)
+ || !isConstructorModern(function () { called = true; })
+ || called;
+ }) ? isConstructorLegacy : isConstructorModern;
- var _baseIsArguments = baseIsArguments$1;
+ var isConstructor$3 = isConstructor$4;
+ var tryToString$1 = tryToString$5;
- var baseIsArguments = _baseIsArguments,
- isObjectLike$6 = isObjectLike_1;
+ var $TypeError$6 = TypeError;
- /** Used for built-in method references. */
- var objectProto$6 = Object.prototype;
+ // `Assert: IsConstructor(argument) is true`
+ var aConstructor$1 = function (argument) {
+ if (isConstructor$3(argument)) return argument;
+ throw new $TypeError$6(tryToString$1(argument) + ' is not a constructor');
+ };
- /** Used to check objects for own properties. */
- var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
+ var anObject$3 = anObject$b;
+ var aConstructor = aConstructor$1;
+ var isNullOrUndefined$1 = isNullOrUndefined$5;
+ var wellKnownSymbol$d = wellKnownSymbol$o;
- /** Built-in value references. */
- var propertyIsEnumerable = objectProto$6.propertyIsEnumerable;
+ var SPECIES$4 = wellKnownSymbol$d('species');
- /**
- * Checks if `value` is likely an `arguments` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- * else `false`.
- * @example
- *
- * _.isArguments(function() { return arguments; }());
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */
- var isArguments$4 = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
- return isObjectLike$6(value) && hasOwnProperty$5.call(value, 'callee') &&
- !propertyIsEnumerable.call(value, 'callee');
+ // `SpeciesConstructor` abstract operation
+ // https://tc39.es/ecma262/#sec-speciesconstructor
+ var speciesConstructor$2 = function (O, defaultConstructor) {
+ var C = anObject$3(O).constructor;
+ var S;
+ return C === undefined || isNullOrUndefined$1(S = anObject$3(C)[SPECIES$4]) ? defaultConstructor : aConstructor(S);
};
- var isArguments_1 = isArguments$4;
+ var uncurryThis$g = functionUncurryThis;
- var isBuffer$3 = {exports: {}};
+ var arraySlice$3 = uncurryThis$g([].slice);
- /**
- * This method returns `false`.
- *
- * @static
- * @memberOf _
- * @since 4.13.0
- * @category Util
- * @returns {boolean} Returns `false`.
- * @example
- *
- * _.times(2, _.stubFalse);
- * // => [false, false]
- */
+ var $TypeError$5 = TypeError;
- function stubFalse() {
- return false;
- }
+ var validateArgumentsLength$1 = function (passed, required) {
+ if (passed < required) throw new $TypeError$5('Not enough arguments');
+ return passed;
+ };
- var stubFalse_1 = stubFalse;
+ var userAgent$2 = engineUserAgent;
+
+ // eslint-disable-next-line redos/no-vulnerable -- safe
+ var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
+
+ var global$a = global$l;
+ var apply$6 = functionApply;
+ var bind$4 = functionBindContext;
+ var isCallable$5 = isCallable$j;
+ var hasOwn$5 = hasOwnProperty_1;
+ var fails$f = fails$r;
+ var html = html$2;
+ var arraySlice$2 = arraySlice$3;
+ var createElement = documentCreateElement$1;
+ var validateArgumentsLength = validateArgumentsLength$1;
+ var IS_IOS$1 = engineIsIos;
+ var IS_NODE$4 = engineIsNode;
+
+ var set = global$a.setImmediate;
+ var clear = global$a.clearImmediate;
+ var process$2 = global$a.process;
+ var Dispatch = global$a.Dispatch;
+ var Function$1 = global$a.Function;
+ var MessageChannel = global$a.MessageChannel;
+ var String$1 = global$a.String;
+ var counter = 0;
+ var queue$2 = {};
+ var ONREADYSTATECHANGE = 'onreadystatechange';
+ var $location, defer, channel, port;
+
+ fails$f(function () {
+ // Deno throws a ReferenceError on `location` access without `--location` flag
+ $location = global$a.location;
+ });
- isBuffer$3.exports;
+ var run = function (id) {
+ if (hasOwn$5(queue$2, id)) {
+ var fn = queue$2[id];
+ delete queue$2[id];
+ fn();
+ }
+ };
- (function (module, exports) {
- var root = _root,
- stubFalse = stubFalse_1;
+ var runner = function (id) {
+ return function () {
+ run(id);
+ };
+ };
- /** Detect free variable `exports`. */
- var freeExports = exports && !exports.nodeType && exports;
+ var eventListener = function (event) {
+ run(event.data);
+ };
- /** Detect free variable `module`. */
- var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
+ var globalPostMessageDefer = function (id) {
+ // old engines have not location.origin
+ global$a.postMessage(String$1(id), $location.protocol + '//' + $location.host);
+ };
- /** Detect the popular CommonJS extension `module.exports`. */
- var moduleExports = freeModule && freeModule.exports === freeExports;
+ // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
+ if (!set || !clear) {
+ set = function setImmediate(handler) {
+ validateArgumentsLength(arguments.length, 1);
+ var fn = isCallable$5(handler) ? handler : Function$1(handler);
+ var args = arraySlice$2(arguments, 1);
+ queue$2[++counter] = function () {
+ apply$6(fn, undefined, args);
+ };
+ defer(counter);
+ return counter;
+ };
+ clear = function clearImmediate(id) {
+ delete queue$2[id];
+ };
+ // Node.js 0.8-
+ if (IS_NODE$4) {
+ defer = function (id) {
+ process$2.nextTick(runner(id));
+ };
+ // Sphere (JS game engine) Dispatch API
+ } else if (Dispatch && Dispatch.now) {
+ defer = function (id) {
+ Dispatch.now(runner(id));
+ };
+ // Browsers with MessageChannel, includes WebWorkers
+ // except iOS - https://github.com/zloirock/core-js/issues/624
+ } else if (MessageChannel && !IS_IOS$1) {
+ channel = new MessageChannel();
+ port = channel.port2;
+ channel.port1.onmessage = eventListener;
+ defer = bind$4(port.postMessage, port);
+ // Browsers with postMessage, skip WebWorkers
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
+ } else if (
+ global$a.addEventListener &&
+ isCallable$5(global$a.postMessage) &&
+ !global$a.importScripts &&
+ $location && $location.protocol !== 'file:' &&
+ !fails$f(globalPostMessageDefer)
+ ) {
+ defer = globalPostMessageDefer;
+ global$a.addEventListener('message', eventListener, false);
+ // IE8-
+ } else if (ONREADYSTATECHANGE in createElement('script')) {
+ defer = function (id) {
+ html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
+ html.removeChild(this);
+ run(id);
+ };
+ };
+ // Rest old browsers
+ } else {
+ defer = function (id) {
+ setTimeout(runner(id), 0);
+ };
+ }
+ }
- /** Built-in value references. */
- var Buffer = moduleExports ? root.Buffer : undefined;
+ var task$1 = {
+ set: set,
+ clear: clear
+ };
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
+ var global$9 = global$l;
+ var DESCRIPTORS$8 = descriptors;
- /**
- * Checks if `value` is a buffer.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
- * @example
- *
- * _.isBuffer(new Buffer(2));
- * // => true
- *
- * _.isBuffer(new Uint8Array(2));
- * // => false
- */
- var isBuffer = nativeIsBuffer || stubFalse;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
- module.exports = isBuffer;
- } (isBuffer$3, isBuffer$3.exports));
+ // Avoid NodeJS experimental warning
+ var safeGetBuiltIn$1 = function (name) {
+ if (!DESCRIPTORS$8) return global$9[name];
+ var descriptor = getOwnPropertyDescriptor$1(global$9, name);
+ return descriptor && descriptor.value;
+ };
- var isBufferExports = isBuffer$3.exports;
+ var Queue$2 = function () {
+ this.head = null;
+ this.tail = null;
+ };
- /** Used as references for various `Number` constants. */
+ Queue$2.prototype = {
+ add: function (item) {
+ var entry = { item: item, next: null };
+ var tail = this.tail;
+ if (tail) tail.next = entry;
+ else this.head = entry;
+ this.tail = entry;
+ },
+ get: function () {
+ var entry = this.head;
+ if (entry) {
+ var next = this.head = entry.next;
+ if (next === null) this.tail = null;
+ return entry.item;
+ }
+ }
+ };
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
+ var queue$1 = Queue$2;
- /** Used to detect unsigned integer values. */
- var reIsUint = /^(?:0|[1-9]\d*)$/;
+ var userAgent$1 = engineUserAgent;
- /**
- * Checks if `value` is a valid array-like index.
- *
- * @private
- * @param {*} value The value to check.
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
- */
- function isIndex$2(value, length) {
- var type = typeof value;
- length = length == null ? MAX_SAFE_INTEGER$1 : length;
+ var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && typeof Pebble != 'undefined';
- return !!length &&
- (type == 'number' ||
- (type != 'symbol' && reIsUint.test(value))) &&
- (value > -1 && value % 1 == 0 && value < length);
- }
+ var userAgent = engineUserAgent;
- var _isIndex = isIndex$2;
+ var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
- /** Used as references for various `Number` constants. */
+ var global$8 = global$l;
+ var safeGetBuiltIn = safeGetBuiltIn$1;
+ var bind$3 = functionBindContext;
+ var macrotask = task$1.set;
+ var Queue$1 = queue$1;
+ var IS_IOS = engineIsIos;
+ var IS_IOS_PEBBLE = engineIsIosPebble;
+ var IS_WEBOS_WEBKIT = engineIsWebosWebkit;
+ var IS_NODE$3 = engineIsNode;
- var MAX_SAFE_INTEGER = 9007199254740991;
+ var MutationObserver$1 = global$8.MutationObserver || global$8.WebKitMutationObserver;
+ var document$2 = global$8.document;
+ var process$1 = global$8.process;
+ var Promise$3 = global$8.Promise;
+ var microtask$1 = safeGetBuiltIn('queueMicrotask');
+ var notify$1, toggle, node, promise$6, then;
- /**
- * Checks if `value` is a valid array-like length.
- *
- * **Note:** This method is loosely based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
- * @example
- *
- * _.isLength(3);
- * // => true
- *
- * _.isLength(Number.MIN_VALUE);
- * // => false
- *
- * _.isLength(Infinity);
- * // => false
- *
- * _.isLength('3');
- * // => false
- */
- function isLength$3(value) {
- return typeof value == 'number' &&
- value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
- }
+ // modern engines have queueMicrotask method
+ if (!microtask$1) {
+ var queue = new Queue$1();
- var isLength_1 = isLength$3;
+ var flush = function () {
+ var parent, fn;
+ if (IS_NODE$3 && (parent = process$1.domain)) parent.exit();
+ while (fn = queue.get()) try {
+ fn();
+ } catch (error) {
+ if (queue.head) notify$1();
+ throw error;
+ }
+ if (parent) parent.enter();
+ };
- var baseGetTag$4 = _baseGetTag,
- isLength$2 = isLength_1,
- isObjectLike$5 = isObjectLike_1;
+ // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
+ // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
+ if (!IS_IOS && !IS_NODE$3 && !IS_WEBOS_WEBKIT && MutationObserver$1 && document$2) {
+ toggle = true;
+ node = document$2.createTextNode('');
+ new MutationObserver$1(flush).observe(node, { characterData: true });
+ notify$1 = function () {
+ node.data = toggle = !toggle;
+ };
+ // environments with maybe non-completely correct, but existent Promise
+ } else if (!IS_IOS_PEBBLE && Promise$3 && Promise$3.resolve) {
+ // Promise.resolve without an argument throws an error in LG WebOS 2
+ promise$6 = Promise$3.resolve(undefined);
+ // workaround of WebKit ~ iOS Safari 10.1 bug
+ promise$6.constructor = Promise$3;
+ then = bind$3(promise$6.then, promise$6);
+ notify$1 = function () {
+ then(flush);
+ };
+ // Node.js without promises
+ } else if (IS_NODE$3) {
+ notify$1 = function () {
+ process$1.nextTick(flush);
+ };
+ // for other environments - macrotask based on:
+ // - setImmediate
+ // - MessageChannel
+ // - window.postMessage
+ // - onreadystatechange
+ // - setTimeout
+ } else {
+ // `webpack` dev server bug on IE global methods - use bind(fn, global)
+ macrotask = bind$3(macrotask, global$8);
+ notify$1 = function () {
+ macrotask(flush);
+ };
+ }
- /** `Object#toString` result references. */
- var argsTag$1 = '[object Arguments]',
- arrayTag$1 = '[object Array]',
- boolTag$1 = '[object Boolean]',
- dateTag = '[object Date]',
- errorTag = '[object Error]',
- funcTag = '[object Function]',
- mapTag$2 = '[object Map]',
- numberTag = '[object Number]',
- objectTag$2 = '[object Object]',
- regexpTag = '[object RegExp]',
- setTag$2 = '[object Set]',
- stringTag$1 = '[object String]',
- weakMapTag$1 = '[object WeakMap]';
+ microtask$1 = function (fn) {
+ if (!queue.head) notify$1();
+ queue.add(fn);
+ };
+ }
- var arrayBufferTag = '[object ArrayBuffer]',
- dataViewTag$1 = '[object DataView]',
- float32Tag = '[object Float32Array]',
- float64Tag = '[object Float64Array]',
- int8Tag = '[object Int8Array]',
- int16Tag = '[object Int16Array]',
- int32Tag = '[object Int32Array]',
- uint8Tag = '[object Uint8Array]',
- uint8ClampedTag = '[object Uint8ClampedArray]',
- uint16Tag = '[object Uint16Array]',
- uint32Tag = '[object Uint32Array]';
+ var microtask_1 = microtask$1;
- /** Used to identify `toStringTag` values of typed arrays. */
- var typedArrayTags = {};
- typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
- typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
- typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
- typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
- typedArrayTags[uint32Tag] = true;
- typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] =
- typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag$1] =
- typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] =
- typedArrayTags[errorTag] = typedArrayTags[funcTag] =
- typedArrayTags[mapTag$2] = typedArrayTags[numberTag] =
- typedArrayTags[objectTag$2] = typedArrayTags[regexpTag] =
- typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] =
- typedArrayTags[weakMapTag$1] = false;
+ var hostReportErrors$1 = function (a, b) {
+ try {
+ // eslint-disable-next-line no-console -- safe
+ arguments.length === 1 ? console.error(a) : console.error(a, b);
+ } catch (error) { /* empty */ }
+ };
- /**
- * The base implementation of `_.isTypedArray` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- */
- function baseIsTypedArray$1(value) {
- return isObjectLike$5(value) &&
- isLength$2(value.length) && !!typedArrayTags[baseGetTag$4(value)];
- }
+ var perform$6 = function (exec) {
+ try {
+ return { error: false, value: exec() };
+ } catch (error) {
+ return { error: true, value: error };
+ }
+ };
- var _baseIsTypedArray = baseIsTypedArray$1;
+ var global$7 = global$l;
+
+ var promiseNativeConstructor = global$7.Promise;
+
+ /* global Deno -- Deno case */
+ var engineIsDeno = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';
+
+ var IS_DENO$1 = engineIsDeno;
+ var IS_NODE$2 = engineIsNode;
+
+ var engineIsBrowser = !IS_DENO$1 && !IS_NODE$2
+ && typeof window == 'object'
+ && typeof document == 'object';
+
+ var global$6 = global$l;
+ var NativePromiseConstructor$5 = promiseNativeConstructor;
+ var isCallable$4 = isCallable$j;
+ var isForced = isForced_1;
+ var inspectSource = inspectSource$2;
+ var wellKnownSymbol$c = wellKnownSymbol$o;
+ var IS_BROWSER = engineIsBrowser;
+ var IS_DENO = engineIsDeno;
+ var V8_VERSION$2 = engineV8Version;
+
+ var NativePromisePrototype$2 = NativePromiseConstructor$5 && NativePromiseConstructor$5.prototype;
+ var SPECIES$3 = wellKnownSymbol$c('species');
+ var SUBCLASSING = false;
+ var NATIVE_PROMISE_REJECTION_EVENT$1 = isCallable$4(global$6.PromiseRejectionEvent);
+
+ var FORCED_PROMISE_CONSTRUCTOR$5 = isForced('Promise', function () {
+ var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor$5);
+ var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor$5);
+ // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
+ // We can't detect it synchronously, so just check versions
+ if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION$2 === 66) return true;
+ // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution
+ if (!(NativePromisePrototype$2['catch'] && NativePromisePrototype$2['finally'])) return true;
+ // We can't use @@species feature detection in V8 since it causes
+ // deoptimization and performance degradation
+ // https://github.com/zloirock/core-js/issues/679
+ if (!V8_VERSION$2 || V8_VERSION$2 < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {
+ // Detect correctness of subclassing with @@species support
+ var promise = new NativePromiseConstructor$5(function (resolve) { resolve(1); });
+ var FakePromise = function (exec) {
+ exec(function () { /* empty */ }, function () { /* empty */ });
+ };
+ var constructor = promise.constructor = {};
+ constructor[SPECIES$3] = FakePromise;
+ SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
+ if (!SUBCLASSING) return true;
+ // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
+ } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT$1;
+ });
- /**
- * The base implementation of `_.unary` without support for storing metadata.
- *
- * @private
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
- */
+ var promiseConstructorDetection = {
+ CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR$5,
+ REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT$1,
+ SUBCLASSING: SUBCLASSING
+ };
- function baseUnary$2(func) {
- return function(value) {
- return func(value);
- };
- }
+ var newPromiseCapability$2 = {};
- var _baseUnary = baseUnary$2;
+ var aCallable$7 = aCallable$c;
- var _nodeUtil = {exports: {}};
+ var $TypeError$4 = TypeError;
- _nodeUtil.exports;
+ var PromiseCapability = function (C) {
+ var resolve, reject;
+ this.promise = new C(function ($$resolve, $$reject) {
+ if (resolve !== undefined || reject !== undefined) throw new $TypeError$4('Bad Promise constructor');
+ resolve = $$resolve;
+ reject = $$reject;
+ });
+ this.resolve = aCallable$7(resolve);
+ this.reject = aCallable$7(reject);
+ };
- (function (module, exports) {
- var freeGlobal = _freeGlobal;
+ // `NewPromiseCapability` abstract operation
+ // https://tc39.es/ecma262/#sec-newpromisecapability
+ newPromiseCapability$2.f = function (C) {
+ return new PromiseCapability(C);
+ };
- /** Detect free variable `exports`. */
- var freeExports = exports && !exports.nodeType && exports;
+ var $$H = _export;
+ var IS_NODE$1 = engineIsNode;
+ var global$5 = global$l;
+ var call$a = functionCall;
+ var defineBuiltIn$2 = defineBuiltIn$5;
+ var setToStringTag$4 = setToStringTag$7;
+ var setSpecies = setSpecies$1;
+ var aCallable$6 = aCallable$c;
+ var isCallable$3 = isCallable$j;
+ var isObject$a = isObject$k;
+ var anInstance = anInstance$1;
+ var speciesConstructor$1 = speciesConstructor$2;
+ var task = task$1.set;
+ var microtask = microtask_1;
+ var hostReportErrors = hostReportErrors$1;
+ var perform$5 = perform$6;
+ var Queue = queue$1;
+ var InternalStateModule$2 = internalState;
+ var NativePromiseConstructor$4 = promiseNativeConstructor;
+ var PromiseConstructorDetection = promiseConstructorDetection;
+ var newPromiseCapabilityModule$7 = newPromiseCapability$2;
+
+ var PROMISE = 'Promise';
+ var FORCED_PROMISE_CONSTRUCTOR$4 = PromiseConstructorDetection.CONSTRUCTOR;
+ var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;
+ PromiseConstructorDetection.SUBCLASSING;
+ var getInternalPromiseState = InternalStateModule$2.getterFor(PROMISE);
+ var setInternalState$2 = InternalStateModule$2.set;
+ var NativePromisePrototype$1 = NativePromiseConstructor$4 && NativePromiseConstructor$4.prototype;
+ var PromiseConstructor = NativePromiseConstructor$4;
+ var PromisePrototype = NativePromisePrototype$1;
+ var TypeError$2 = global$5.TypeError;
+ var document$1 = global$5.document;
+ var process = global$5.process;
+ var newPromiseCapability$1 = newPromiseCapabilityModule$7.f;
+ var newGenericPromiseCapability = newPromiseCapability$1;
+
+ var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$5.dispatchEvent);
+ var UNHANDLED_REJECTION = 'unhandledrejection';
+ var REJECTION_HANDLED = 'rejectionhandled';
+ var PENDING = 0;
+ var FULFILLED = 1;
+ var REJECTED = 2;
+ var HANDLED = 1;
+ var UNHANDLED = 2;
+
+ var Internal, OwnPromiseCapability, PromiseWrapper;
+
+ // helpers
+ var isThenable = function (it) {
+ var then;
+ return isObject$a(it) && isCallable$3(then = it.then) ? then : false;
+ };
- /** Detect free variable `module`. */
- var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
+ var callReaction = function (reaction, state) {
+ var value = state.value;
+ var ok = state.state === FULFILLED;
+ var handler = ok ? reaction.ok : reaction.fail;
+ var resolve = reaction.resolve;
+ var reject = reaction.reject;
+ var domain = reaction.domain;
+ var result, then, exited;
+ try {
+ if (handler) {
+ if (!ok) {
+ if (state.rejection === UNHANDLED) onHandleUnhandled(state);
+ state.rejection = HANDLED;
+ }
+ if (handler === true) result = value;
+ else {
+ if (domain) domain.enter();
+ result = handler(value); // can throw
+ if (domain) {
+ domain.exit();
+ exited = true;
+ }
+ }
+ if (result === reaction.promise) {
+ reject(new TypeError$2('Promise-chain cycle'));
+ } else if (then = isThenable(result)) {
+ call$a(then, result, resolve, reject);
+ } else resolve(result);
+ } else reject(value);
+ } catch (error) {
+ if (domain && !exited) domain.exit();
+ reject(error);
+ }
+ };
- /** Detect the popular CommonJS extension `module.exports`. */
- var moduleExports = freeModule && freeModule.exports === freeExports;
+ var notify = function (state, isReject) {
+ if (state.notified) return;
+ state.notified = true;
+ microtask(function () {
+ var reactions = state.reactions;
+ var reaction;
+ while (reaction = reactions.get()) {
+ callReaction(reaction, state);
+ }
+ state.notified = false;
+ if (isReject && !state.rejection) onUnhandled(state);
+ });
+ };
- /** Detect free variable `process` from Node.js. */
- var freeProcess = moduleExports && freeGlobal.process;
+ var dispatchEvent = function (name, promise, reason) {
+ var event, handler;
+ if (DISPATCH_EVENT) {
+ event = document$1.createEvent('Event');
+ event.promise = promise;
+ event.reason = reason;
+ event.initEvent(name, false, true);
+ global$5.dispatchEvent(event);
+ } else event = { promise: promise, reason: reason };
+ if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global$5['on' + name])) handler(event);
+ else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
+ };
- /** Used to access faster Node.js helpers. */
- var nodeUtil = (function() {
- try {
- // Use `util.types` for Node.js 10+.
- var types = freeModule && freeModule.require && freeModule.require('util').types;
+ var onUnhandled = function (state) {
+ call$a(task, global$5, function () {
+ var promise = state.facade;
+ var value = state.value;
+ var IS_UNHANDLED = isUnhandled(state);
+ var result;
+ if (IS_UNHANDLED) {
+ result = perform$5(function () {
+ if (IS_NODE$1) {
+ process.emit('unhandledRejection', value, promise);
+ } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
+ });
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
+ state.rejection = IS_NODE$1 || isUnhandled(state) ? UNHANDLED : HANDLED;
+ if (result.error) throw result.value;
+ }
+ });
+ };
- if (types) {
- return types;
- }
+ var isUnhandled = function (state) {
+ return state.rejection !== HANDLED && !state.parent;
+ };
- // Legacy `process.binding('util')` for Node.js < 10.
- return freeProcess && freeProcess.binding && freeProcess.binding('util');
- } catch (e) {}
- }());
+ var onHandleUnhandled = function (state) {
+ call$a(task, global$5, function () {
+ var promise = state.facade;
+ if (IS_NODE$1) {
+ process.emit('rejectionHandled', promise);
+ } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
+ });
+ };
- module.exports = nodeUtil;
- } (_nodeUtil, _nodeUtil.exports));
+ var bind$2 = function (fn, state, unwrap) {
+ return function (value) {
+ fn(state, value, unwrap);
+ };
+ };
- var _nodeUtilExports = _nodeUtil.exports;
+ var internalReject = function (state, value, unwrap) {
+ if (state.done) return;
+ state.done = true;
+ if (unwrap) state = unwrap;
+ state.value = value;
+ state.state = REJECTED;
+ notify(state, true);
+ };
- var baseIsTypedArray = _baseIsTypedArray,
- baseUnary$1 = _baseUnary,
- nodeUtil = _nodeUtilExports;
+ var internalResolve = function (state, value, unwrap) {
+ if (state.done) return;
+ state.done = true;
+ if (unwrap) state = unwrap;
+ try {
+ if (state.facade === value) throw new TypeError$2("Promise can't be resolved itself");
+ var then = isThenable(value);
+ if (then) {
+ microtask(function () {
+ var wrapper = { done: false };
+ try {
+ call$a(then, value,
+ bind$2(internalResolve, wrapper, state),
+ bind$2(internalReject, wrapper, state)
+ );
+ } catch (error) {
+ internalReject(wrapper, error, state);
+ }
+ });
+ } else {
+ state.value = value;
+ state.state = FULFILLED;
+ notify(state, false);
+ }
+ } catch (error) {
+ internalReject({ done: false }, error, state);
+ }
+ };
- /* Node.js helper references. */
- var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+ // constructor polyfill
+ if (FORCED_PROMISE_CONSTRUCTOR$4) {
+ // 25.4.3.1 Promise(executor)
+ PromiseConstructor = function Promise(executor) {
+ anInstance(this, PromisePrototype);
+ aCallable$6(executor);
+ call$a(Internal, this);
+ var state = getInternalPromiseState(this);
+ try {
+ executor(bind$2(internalResolve, state), bind$2(internalReject, state));
+ } catch (error) {
+ internalReject(state, error);
+ }
+ };
- /**
- * Checks if `value` is classified as a typed array.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- * @example
- *
- * _.isTypedArray(new Uint8Array);
- * // => true
- *
- * _.isTypedArray([]);
- * // => false
- */
- var isTypedArray$3 = nodeIsTypedArray ? baseUnary$1(nodeIsTypedArray) : baseIsTypedArray;
+ PromisePrototype = PromiseConstructor.prototype;
+
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ Internal = function Promise(executor) {
+ setInternalState$2(this, {
+ type: PROMISE,
+ done: false,
+ notified: false,
+ parent: false,
+ reactions: new Queue(),
+ rejection: false,
+ state: PENDING,
+ value: undefined
+ });
+ };
- var isTypedArray_1 = isTypedArray$3;
+ // `Promise.prototype.then` method
+ // https://tc39.es/ecma262/#sec-promise.prototype.then
+ Internal.prototype = defineBuiltIn$2(PromisePrototype, 'then', function then(onFulfilled, onRejected) {
+ var state = getInternalPromiseState(this);
+ var reaction = newPromiseCapability$1(speciesConstructor$1(this, PromiseConstructor));
+ state.parent = true;
+ reaction.ok = isCallable$3(onFulfilled) ? onFulfilled : true;
+ reaction.fail = isCallable$3(onRejected) && onRejected;
+ reaction.domain = IS_NODE$1 ? process.domain : undefined;
+ if (state.state === PENDING) state.reactions.add(reaction);
+ else microtask(function () {
+ callReaction(reaction, state);
+ });
+ return reaction.promise;
+ });
- var baseTimes = _baseTimes,
- isArguments$3 = isArguments_1,
- isArray$9 = isArray_1,
- isBuffer$2 = isBufferExports,
- isIndex$1 = _isIndex,
- isTypedArray$2 = isTypedArray_1;
+ OwnPromiseCapability = function () {
+ var promise = new Internal();
+ var state = getInternalPromiseState(promise);
+ this.promise = promise;
+ this.resolve = bind$2(internalResolve, state);
+ this.reject = bind$2(internalReject, state);
+ };
- /** Used for built-in method references. */
- var objectProto$5 = Object.prototype;
+ newPromiseCapabilityModule$7.f = newPromiseCapability$1 = function (C) {
+ return C === PromiseConstructor || C === PromiseWrapper
+ ? new OwnPromiseCapability(C)
+ : newGenericPromiseCapability(C);
+ };
+ }
- /** Used to check objects for own properties. */
- var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
+ $$H({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR$4 }, {
+ Promise: PromiseConstructor
+ });
- /**
- * Creates an array of the enumerable property names of the array-like `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @param {boolean} inherited Specify returning inherited property names.
- * @returns {Array} Returns the array of property names.
- */
- function arrayLikeKeys$1(value, inherited) {
- var isArr = isArray$9(value),
- isArg = !isArr && isArguments$3(value),
- isBuff = !isArr && !isArg && isBuffer$2(value),
- isType = !isArr && !isArg && !isBuff && isTypedArray$2(value),
- skipIndexes = isArr || isArg || isBuff || isType,
- result = skipIndexes ? baseTimes(value.length, String) : [],
- length = result.length;
+ setToStringTag$4(PromiseConstructor, PROMISE, false, true);
+ setSpecies(PROMISE);
- for (var key in value) {
- if ((inherited || hasOwnProperty$4.call(value, key)) &&
- !(skipIndexes && (
- // Safari 9 has enumerable `arguments.length` in strict mode.
- key == 'length' ||
- // Node.js 0.10 has enumerable non-index properties on buffers.
- (isBuff && (key == 'offset' || key == 'parent')) ||
- // PhantomJS 2 has enumerable non-index properties on typed arrays.
- (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
- // Skip index properties.
- isIndex$1(key, length)
- ))) {
- result.push(key);
+ var wellKnownSymbol$b = wellKnownSymbol$o;
+
+ var ITERATOR = wellKnownSymbol$b('iterator');
+ var SAFE_CLOSING = false;
+
+ try {
+ var called = 0;
+ var iteratorWithReturn = {
+ next: function () {
+ return { done: !!called++ };
+ },
+ 'return': function () {
+ SAFE_CLOSING = true;
}
+ };
+ iteratorWithReturn[ITERATOR] = function () {
+ return this;
+ };
+ // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
+ Array.from(iteratorWithReturn, function () { throw 2; });
+ } catch (error) { /* empty */ }
+
+ var checkCorrectnessOfIteration$2 = function (exec, SKIP_CLOSING) {
+ try {
+ if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
+ } catch (error) { return false; } // workaround of old WebKit + `eval` bug
+ var ITERATION_SUPPORT = false;
+ try {
+ var object = {};
+ object[ITERATOR] = function () {
+ return {
+ next: function () {
+ return { done: ITERATION_SUPPORT = true };
+ }
+ };
+ };
+ exec(object);
+ } catch (error) { /* empty */ }
+ return ITERATION_SUPPORT;
+ };
+
+ var NativePromiseConstructor$3 = promiseNativeConstructor;
+ var checkCorrectnessOfIteration$1 = checkCorrectnessOfIteration$2;
+ var FORCED_PROMISE_CONSTRUCTOR$3 = promiseConstructorDetection.CONSTRUCTOR;
+
+ var promiseStaticsIncorrectIteration = FORCED_PROMISE_CONSTRUCTOR$3 || !checkCorrectnessOfIteration$1(function (iterable) {
+ NativePromiseConstructor$3.all(iterable).then(undefined, function () { /* empty */ });
+ });
+
+ var $$G = _export;
+ var call$9 = functionCall;
+ var aCallable$5 = aCallable$c;
+ var newPromiseCapabilityModule$6 = newPromiseCapability$2;
+ var perform$4 = perform$6;
+ var iterate$3 = iterate$5;
+ var PROMISE_STATICS_INCORRECT_ITERATION$3 = promiseStaticsIncorrectIteration;
+
+ // `Promise.all` method
+ // https://tc39.es/ecma262/#sec-promise.all
+ $$G({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION$3 }, {
+ all: function all(iterable) {
+ var C = this;
+ var capability = newPromiseCapabilityModule$6.f(C);
+ var resolve = capability.resolve;
+ var reject = capability.reject;
+ var result = perform$4(function () {
+ var $promiseResolve = aCallable$5(C.resolve);
+ var values = [];
+ var counter = 0;
+ var remaining = 1;
+ iterate$3(iterable, function (promise) {
+ var index = counter++;
+ var alreadyCalled = false;
+ remaining++;
+ call$9($promiseResolve, C, promise).then(function (value) {
+ if (alreadyCalled) return;
+ alreadyCalled = true;
+ values[index] = value;
+ --remaining || resolve(values);
+ }, reject);
+ });
+ --remaining || resolve(values);
+ });
+ if (result.error) reject(result.value);
+ return capability.promise;
}
- return result;
- }
+ });
- var _arrayLikeKeys = arrayLikeKeys$1;
+ var $$F = _export;
+ var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR;
+ var NativePromiseConstructor$2 = promiseNativeConstructor;
- /** Used for built-in method references. */
+ NativePromiseConstructor$2 && NativePromiseConstructor$2.prototype;
- var objectProto$4 = Object.prototype;
+ // `Promise.prototype.catch` method
+ // https://tc39.es/ecma262/#sec-promise.prototype.catch
+ $$F({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR$2, real: true }, {
+ 'catch': function (onRejected) {
+ return this.then(undefined, onRejected);
+ }
+ });
- /**
- * Checks if `value` is likely a prototype object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
- */
- function isPrototype$2(value) {
- var Ctor = value && value.constructor,
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$4;
+ var $$E = _export;
+ var call$8 = functionCall;
+ var aCallable$4 = aCallable$c;
+ var newPromiseCapabilityModule$5 = newPromiseCapability$2;
+ var perform$3 = perform$6;
+ var iterate$2 = iterate$5;
+ var PROMISE_STATICS_INCORRECT_ITERATION$2 = promiseStaticsIncorrectIteration;
+
+ // `Promise.race` method
+ // https://tc39.es/ecma262/#sec-promise.race
+ $$E({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION$2 }, {
+ race: function race(iterable) {
+ var C = this;
+ var capability = newPromiseCapabilityModule$5.f(C);
+ var reject = capability.reject;
+ var result = perform$3(function () {
+ var $promiseResolve = aCallable$4(C.resolve);
+ iterate$2(iterable, function (promise) {
+ call$8($promiseResolve, C, promise).then(capability.resolve, reject);
+ });
+ });
+ if (result.error) reject(result.value);
+ return capability.promise;
+ }
+ });
- return value === proto;
- }
+ var $$D = _export;
+ var newPromiseCapabilityModule$4 = newPromiseCapability$2;
+ var FORCED_PROMISE_CONSTRUCTOR$1 = promiseConstructorDetection.CONSTRUCTOR;
+
+ // `Promise.reject` method
+ // https://tc39.es/ecma262/#sec-promise.reject
+ $$D({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR$1 }, {
+ reject: function reject(r) {
+ var capability = newPromiseCapabilityModule$4.f(this);
+ var capabilityReject = capability.reject;
+ capabilityReject(r);
+ return capability.promise;
+ }
+ });
- var _isPrototype = isPrototype$2;
+ var anObject$2 = anObject$b;
+ var isObject$9 = isObject$k;
+ var newPromiseCapability = newPromiseCapability$2;
+
+ var promiseResolve$2 = function (C, x) {
+ anObject$2(C);
+ if (isObject$9(x) && x.constructor === C) return x;
+ var promiseCapability = newPromiseCapability.f(C);
+ var resolve = promiseCapability.resolve;
+ resolve(x);
+ return promiseCapability.promise;
+ };
- /**
- * Creates a unary function that invokes `func` with its argument transformed.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {Function} transform The argument transform.
- * @returns {Function} Returns the new function.
- */
+ var $$C = _export;
+ var getBuiltIn$8 = getBuiltIn$e;
+ var IS_PURE = isPure;
+ var NativePromiseConstructor$1 = promiseNativeConstructor;
+ var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR;
+ var promiseResolve$1 = promiseResolve$2;
+
+ var PromiseConstructorWrapper = getBuiltIn$8('Promise');
+ var CHECK_WRAPPER = !FORCED_PROMISE_CONSTRUCTOR;
+
+ // `Promise.resolve` method
+ // https://tc39.es/ecma262/#sec-promise.resolve
+ $$C({ target: 'Promise', stat: true, forced: IS_PURE }, {
+ resolve: function resolve(x) {
+ return promiseResolve$1(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor$1 : this, x);
+ }
+ });
- function overArg$1(func, transform) {
- return function(arg) {
- return func(transform(arg));
+ var $$B = _export;
+ var call$7 = functionCall;
+ var aCallable$3 = aCallable$c;
+ var newPromiseCapabilityModule$3 = newPromiseCapability$2;
+ var perform$2 = perform$6;
+ var iterate$1 = iterate$5;
+ var PROMISE_STATICS_INCORRECT_ITERATION$1 = promiseStaticsIncorrectIteration;
+
+ // `Promise.allSettled` method
+ // https://tc39.es/ecma262/#sec-promise.allsettled
+ $$B({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION$1 }, {
+ allSettled: function allSettled(iterable) {
+ var C = this;
+ var capability = newPromiseCapabilityModule$3.f(C);
+ var resolve = capability.resolve;
+ var reject = capability.reject;
+ var result = perform$2(function () {
+ var promiseResolve = aCallable$3(C.resolve);
+ var values = [];
+ var counter = 0;
+ var remaining = 1;
+ iterate$1(iterable, function (promise) {
+ var index = counter++;
+ var alreadyCalled = false;
+ remaining++;
+ call$7(promiseResolve, C, promise).then(function (value) {
+ if (alreadyCalled) return;
+ alreadyCalled = true;
+ values[index] = { status: 'fulfilled', value: value };
+ --remaining || resolve(values);
+ }, function (error) {
+ if (alreadyCalled) return;
+ alreadyCalled = true;
+ values[index] = { status: 'rejected', reason: error };
+ --remaining || resolve(values);
+ });
+ });
+ --remaining || resolve(values);
+ });
+ if (result.error) reject(result.value);
+ return capability.promise;
+ }
+ });
+
+ var $$A = _export;
+ var call$6 = functionCall;
+ var aCallable$2 = aCallable$c;
+ var getBuiltIn$7 = getBuiltIn$e;
+ var newPromiseCapabilityModule$2 = newPromiseCapability$2;
+ var perform$1 = perform$6;
+ var iterate = iterate$5;
+ var PROMISE_STATICS_INCORRECT_ITERATION = promiseStaticsIncorrectIteration;
+
+ var PROMISE_ANY_ERROR = 'No one promise resolved';
+
+ // `Promise.any` method
+ // https://tc39.es/ecma262/#sec-promise.any
+ $$A({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
+ any: function any(iterable) {
+ var C = this;
+ var AggregateError = getBuiltIn$7('AggregateError');
+ var capability = newPromiseCapabilityModule$2.f(C);
+ var resolve = capability.resolve;
+ var reject = capability.reject;
+ var result = perform$1(function () {
+ var promiseResolve = aCallable$2(C.resolve);
+ var errors = [];
+ var counter = 0;
+ var remaining = 1;
+ var alreadyResolved = false;
+ iterate(iterable, function (promise) {
+ var index = counter++;
+ var alreadyRejected = false;
+ remaining++;
+ call$6(promiseResolve, C, promise).then(function (value) {
+ if (alreadyRejected || alreadyResolved) return;
+ alreadyResolved = true;
+ resolve(value);
+ }, function (error) {
+ if (alreadyRejected || alreadyResolved) return;
+ alreadyRejected = true;
+ errors[index] = error;
+ --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));
+ });
+ });
+ --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));
+ });
+ if (result.error) reject(result.value);
+ return capability.promise;
+ }
+ });
+
+ var $$z = _export;
+ var newPromiseCapabilityModule$1 = newPromiseCapability$2;
+
+ // `Promise.withResolvers` method
+ // https://github.com/tc39/proposal-promise-with-resolvers
+ $$z({ target: 'Promise', stat: true }, {
+ withResolvers: function withResolvers() {
+ var promiseCapability = newPromiseCapabilityModule$1.f(this);
+ return {
+ promise: promiseCapability.promise,
+ resolve: promiseCapability.resolve,
+ reject: promiseCapability.reject
+ };
+ }
+ });
+
+ var $$y = _export;
+ var NativePromiseConstructor = promiseNativeConstructor;
+ var fails$e = fails$r;
+ var getBuiltIn$6 = getBuiltIn$e;
+ var isCallable$2 = isCallable$j;
+ var speciesConstructor = speciesConstructor$2;
+ var promiseResolve = promiseResolve$2;
+
+ var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
+
+ // Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829
+ var NON_GENERIC = !!NativePromiseConstructor && fails$e(function () {
+ // eslint-disable-next-line unicorn/no-thenable -- required for testing
+ NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });
+ });
+
+ // `Promise.prototype.finally` method
+ // https://tc39.es/ecma262/#sec-promise.prototype.finally
+ $$y({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {
+ 'finally': function (onFinally) {
+ var C = speciesConstructor(this, getBuiltIn$6('Promise'));
+ var isFunction = isCallable$2(onFinally);
+ return this.then(
+ isFunction ? function (x) {
+ return promiseResolve(C, onFinally()).then(function () { return x; });
+ } : onFinally,
+ isFunction ? function (e) {
+ return promiseResolve(C, onFinally()).then(function () { throw e; });
+ } : onFinally
+ );
+ }
+ });
+
+ var uncurryThis$f = functionUncurryThis;
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$5;
+ var toString$a = toString$d;
+ var requireObjectCoercible$5 = requireObjectCoercible$9;
+
+ var charAt$2 = uncurryThis$f(''.charAt);
+ var charCodeAt$1 = uncurryThis$f(''.charCodeAt);
+ var stringSlice$1 = uncurryThis$f(''.slice);
+
+ var createMethod$5 = function (CONVERT_TO_STRING) {
+ return function ($this, pos) {
+ var S = toString$a(requireObjectCoercible$5($this));
+ var position = toIntegerOrInfinity$2(pos);
+ var size = S.length;
+ var first, second;
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
+ first = charCodeAt$1(S, position);
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
+ || (second = charCodeAt$1(S, position + 1)) < 0xDC00 || second > 0xDFFF
+ ? CONVERT_TO_STRING
+ ? charAt$2(S, position)
+ : first
+ : CONVERT_TO_STRING
+ ? stringSlice$1(S, position, position + 2)
+ : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
};
+ };
+
+ var stringMultibyte = {
+ // `String.prototype.codePointAt` method
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
+ codeAt: createMethod$5(false),
+ // `String.prototype.at` method
+ // https://github.com/mathiasbynens/String.prototype.at
+ charAt: createMethod$5(true)
+ };
+
+ var charAt$1 = stringMultibyte.charAt;
+ var toString$9 = toString$d;
+ var InternalStateModule$1 = internalState;
+ var defineIterator = iteratorDefine;
+ var createIterResultObject = createIterResultObject$2;
+
+ var STRING_ITERATOR = 'String Iterator';
+ var setInternalState$1 = InternalStateModule$1.set;
+ var getInternalState$1 = InternalStateModule$1.getterFor(STRING_ITERATOR);
+
+ // `String.prototype[@@iterator]` method
+ // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
+ defineIterator(String, 'String', function (iterated) {
+ setInternalState$1(this, {
+ type: STRING_ITERATOR,
+ string: toString$9(iterated),
+ index: 0
+ });
+ // `%StringIteratorPrototype%.next` method
+ // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
+ }, function next() {
+ var state = getInternalState$1(this);
+ var string = state.string;
+ var index = state.index;
+ var point;
+ if (index >= string.length) return createIterResultObject(undefined, true);
+ point = charAt$1(string, index);
+ state.index += point.length;
+ return createIterResultObject(point, false);
+ });
+
+ var path$e = path$h;
+
+ var promise$5 = path$e.Promise;
+
+ // iterable DOM collections
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
+ var domIterables = {
+ CSSRuleList: 0,
+ CSSStyleDeclaration: 0,
+ CSSValueList: 0,
+ ClientRectList: 0,
+ DOMRectList: 0,
+ DOMStringList: 0,
+ DOMTokenList: 1,
+ DataTransferItemList: 0,
+ FileList: 0,
+ HTMLAllCollection: 0,
+ HTMLCollection: 0,
+ HTMLFormElement: 0,
+ HTMLSelectElement: 0,
+ MediaList: 0,
+ MimeTypeArray: 0,
+ NamedNodeMap: 0,
+ NodeList: 1,
+ PaintRequestList: 0,
+ Plugin: 0,
+ PluginArray: 0,
+ SVGLengthList: 0,
+ SVGNumberList: 0,
+ SVGPathSegList: 0,
+ SVGPointList: 0,
+ SVGStringList: 0,
+ SVGTransformList: 0,
+ SourceBufferList: 0,
+ StyleSheetList: 0,
+ TextTrackCueList: 0,
+ TextTrackList: 0,
+ TouchList: 0
+ };
+
+ var DOMIterables$1 = domIterables;
+ var global$4 = global$l;
+ var setToStringTag$3 = setToStringTag$7;
+ var Iterators = iterators;
+
+ for (var COLLECTION_NAME in DOMIterables$1) {
+ setToStringTag$3(global$4[COLLECTION_NAME], COLLECTION_NAME);
+ Iterators[COLLECTION_NAME] = Iterators.Array;
}
- var _overArg = overArg$1;
+ var parent$W = promise$5;
- var overArg = _overArg;
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeKeys$1 = overArg(Object.keys, Object);
+ var promise$4 = parent$W;
- var _nativeKeys = nativeKeys$1;
+ var parent$V = promise$4;
- var isPrototype$1 = _isPrototype,
- nativeKeys = _nativeKeys;
- /** Used for built-in method references. */
- var objectProto$3 = Object.prototype;
+ var promise$3 = parent$V;
- /** Used to check objects for own properties. */
- var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
+ var $$x = _export;
+ var apply$5 = functionApply;
+ var slice$8 = arraySlice$3;
+ var newPromiseCapabilityModule = newPromiseCapability$2;
+ var aCallable$1 = aCallable$c;
+ var perform = perform$6;
- /**
- * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function baseKeys$2(object) {
- if (!isPrototype$1(object)) {
- return nativeKeys(object);
- }
- var result = [];
- for (var key in Object(object)) {
- if (hasOwnProperty$3.call(object, key) && key != 'constructor') {
- result.push(key);
- }
+ // `Promise.try` method
+ // https://github.com/tc39/proposal-promise-try
+ $$x({ target: 'Promise', stat: true, forced: true }, {
+ 'try': function (callbackfn /* , ...args */) {
+ var args = slice$8(arguments, 1);
+ var promiseCapability = newPromiseCapabilityModule.f(this);
+ var result = perform(function () {
+ return apply$5(aCallable$1(callbackfn), undefined, args);
+ });
+ (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
+ return promiseCapability.promise;
}
- return result;
- }
+ });
- var _baseKeys = baseKeys$2;
+ var parent$U = promise$3;
+ // TODO: Remove from `core-js@4`
- var isFunction = isFunction_1,
- isLength$1 = isLength_1;
- /**
- * Checks if `value` is array-like. A value is considered array-like if it's
- * not a function and has a `value.length` that's an integer greater than or
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
- * @example
- *
- * _.isArrayLike([1, 2, 3]);
- * // => true
- *
- * _.isArrayLike(document.body.children);
- * // => true
- *
- * _.isArrayLike('abc');
- * // => true
- *
- * _.isArrayLike(_.noop);
- * // => false
- */
- function isArrayLike$4(value) {
- return value != null && isLength$1(value.length) && !isFunction(value);
- }
- var isArrayLike_1 = isArrayLike$4;
- var arrayLikeKeys = _arrayLikeKeys,
- baseKeys$1 = _baseKeys,
- isArrayLike$3 = isArrayLike_1;
- /**
- * Creates an array of the own enumerable property names of `object`.
- *
- * **Note:** Non-object values are coerced to objects. See the
- * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
- * for more details.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.keys(new Foo);
- * // => ['a', 'b'] (iteration order is not guaranteed)
- *
- * _.keys('hi');
- * // => ['0', '1']
- */
- function keys$3(object) {
- return isArrayLike$3(object) ? arrayLikeKeys(object) : baseKeys$1(object);
- }
+ var promise$2 = parent$U;
- var keys_1 = keys$3;
+ var promise$1 = promise$2;
- var baseGetAllKeys = _baseGetAllKeys,
- getSymbols = _getSymbols,
- keys$2 = keys_1;
+ var _Promise$2 = /*@__PURE__*/getDefaultExportFromCjs(promise$1);
- /**
- * Creates an array of own enumerable property names and symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function getAllKeys$1(object) {
- return baseGetAllKeys(object, keys$2, getSymbols);
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+ try {
+ var info = gen[key](arg);
+ var value = info.value;
+ } catch (error) {
+ reject(error);
+ return;
+ }
+ if (info.done) {
+ resolve(value);
+ } else {
+ _Promise$2.resolve(value).then(_next, _throw);
+ }
+ }
+ function _asyncToGenerator(fn) {
+ return function () {
+ var self = this,
+ args = arguments;
+ return new _Promise$2(function (resolve, reject) {
+ var gen = fn.apply(self, args);
+ function _next(value) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
+ }
+ function _throw(err) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
+ }
+ _next(undefined);
+ });
+ };
}
- var _getAllKeys = getAllKeys$1;
+ var classof$5 = classofRaw$2;
- var getAllKeys = _getAllKeys;
+ // `IsArray` abstract operation
+ // https://tc39.es/ecma262/#sec-isarray
+ // eslint-disable-next-line es/no-array-isarray -- safe
+ var isArray$o = Array.isArray || function isArray(argument) {
+ return classof$5(argument) === 'Array';
+ };
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG$3 = 1;
+ var $$w = _export;
+ var isArray$n = isArray$o;
- /** Used for built-in method references. */
- var objectProto$2 = Object.prototype;
+ // `Array.isArray` method
+ // https://tc39.es/ecma262/#sec-array.isarray
+ $$w({ target: 'Array', stat: true }, {
+ isArray: isArray$n
+ });
- /** Used to check objects for own properties. */
- var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
+ var path$d = path$h;
- /**
- * A specialized version of `baseIsEqualDeep` for objects with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) {
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3,
- objProps = getAllKeys(object),
- objLength = objProps.length,
- othProps = getAllKeys(other),
- othLength = othProps.length;
+ var isArray$m = path$d.Array.isArray;
- if (objLength != othLength && !isPartial) {
- return false;
- }
- var index = objLength;
- while (index--) {
- var key = objProps[index];
- if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
- return false;
- }
- }
- // Check that cyclic values are equal.
- var objStacked = stack.get(object);
- var othStacked = stack.get(other);
- if (objStacked && othStacked) {
- return objStacked == other && othStacked == object;
- }
- var result = true;
- stack.set(object, other);
- stack.set(other, object);
+ var parent$T = isArray$m;
- var skipCtor = isPartial;
- while (++index < objLength) {
- key = objProps[index];
- var objValue = object[key],
- othValue = other[key];
+ var isArray$l = parent$T;
- if (customizer) {
- var compared = isPartial
- ? customizer(othValue, objValue, key, other, object, stack)
- : customizer(objValue, othValue, key, object, other, stack);
- }
- // Recursively compare objects (susceptible to call stack limits).
- if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
- : compared
- )) {
- result = false;
- break;
- }
- skipCtor || (skipCtor = key == 'constructor');
- }
- if (result && !skipCtor) {
- var objCtor = object.constructor,
- othCtor = other.constructor;
+ var parent$S = isArray$l;
- // Non `Object` object instances with different constructors are not equal.
- if (objCtor != othCtor &&
- ('constructor' in object && 'constructor' in other) &&
- !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
- typeof othCtor == 'function' && othCtor instanceof othCtor)) {
- result = false;
- }
- }
- stack['delete'](object);
- stack['delete'](other);
- return result;
+ var isArray$k = parent$S;
+
+ var parent$R = isArray$k;
+
+ var isArray$j = parent$R;
+
+ var isArray$i = isArray$j;
+
+ var _Array$isArray = /*@__PURE__*/getDefaultExportFromCjs(isArray$i);
+
+ function _arrayWithHoles(arr) {
+ if (_Array$isArray(arr)) return arr;
}
- var _equalObjects = equalObjects$1;
+ var $TypeError$3 = TypeError;
+ var MAX_SAFE_INTEGER$2 = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
- var getNative$4 = _getNative,
- root$3 = _root;
+ var doesNotExceedSafeInteger$2 = function (it) {
+ if (it > MAX_SAFE_INTEGER$2) throw $TypeError$3('Maximum allowed index exceeded');
+ return it;
+ };
- /* Built-in method references that are verified to be native. */
- var DataView$1 = getNative$4(root$3, 'DataView');
+ var DESCRIPTORS$7 = descriptors;
+ var definePropertyModule$1 = objectDefineProperty;
+ var createPropertyDescriptor$1 = createPropertyDescriptor$7;
- var _DataView = DataView$1;
+ var createProperty$4 = function (object, key, value) {
+ if (DESCRIPTORS$7) definePropertyModule$1.f(object, key, createPropertyDescriptor$1(0, value));
+ else object[key] = value;
+ };
- var getNative$3 = _getNative,
- root$2 = _root;
+ var isArray$h = isArray$o;
+ var isConstructor$2 = isConstructor$4;
+ var isObject$8 = isObject$k;
+ var wellKnownSymbol$a = wellKnownSymbol$o;
+
+ var SPECIES$2 = wellKnownSymbol$a('species');
+ var $Array$2 = Array;
+
+ // a part of `ArraySpeciesCreate` abstract operation
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
+ var arraySpeciesConstructor$1 = function (originalArray) {
+ var C;
+ if (isArray$h(originalArray)) {
+ C = originalArray.constructor;
+ // cross-realm fallback
+ if (isConstructor$2(C) && (C === $Array$2 || isArray$h(C.prototype))) C = undefined;
+ else if (isObject$8(C)) {
+ C = C[SPECIES$2];
+ if (C === null) C = undefined;
+ }
+ } return C === undefined ? $Array$2 : C;
+ };
- /* Built-in method references that are verified to be native. */
- var Promise$2 = getNative$3(root$2, 'Promise');
+ var arraySpeciesConstructor = arraySpeciesConstructor$1;
- var _Promise = Promise$2;
+ // `ArraySpeciesCreate` abstract operation
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
+ var arraySpeciesCreate$2 = function (originalArray, length) {
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
+ };
- var getNative$2 = _getNative,
- root$1 = _root;
+ var fails$d = fails$r;
+ var wellKnownSymbol$9 = wellKnownSymbol$o;
+ var V8_VERSION$1 = engineV8Version;
+
+ var SPECIES$1 = wellKnownSymbol$9('species');
+
+ var arrayMethodHasSpeciesSupport$4 = function (METHOD_NAME) {
+ // We can't use this feature detection in V8 since it causes
+ // deoptimization and serious performance degradation
+ // https://github.com/zloirock/core-js/issues/677
+ return V8_VERSION$1 >= 51 || !fails$d(function () {
+ var array = [];
+ var constructor = array.constructor = {};
+ constructor[SPECIES$1] = function () {
+ return { foo: 1 };
+ };
+ return array[METHOD_NAME](Boolean).foo !== 1;
+ });
+ };
- /* Built-in method references that are verified to be native. */
- var Set$1 = getNative$2(root$1, 'Set');
+ var $$v = _export;
+ var fails$c = fails$r;
+ var isArray$g = isArray$o;
+ var isObject$7 = isObject$k;
+ var toObject$8 = toObject$b;
+ var lengthOfArrayLike$6 = lengthOfArrayLike$9;
+ var doesNotExceedSafeInteger$1 = doesNotExceedSafeInteger$2;
+ var createProperty$3 = createProperty$4;
+ var arraySpeciesCreate$1 = arraySpeciesCreate$2;
+ var arrayMethodHasSpeciesSupport$3 = arrayMethodHasSpeciesSupport$4;
+ var wellKnownSymbol$8 = wellKnownSymbol$o;
+ var V8_VERSION = engineV8Version;
+
+ var IS_CONCAT_SPREADABLE = wellKnownSymbol$8('isConcatSpreadable');
+
+ // We can't use this feature detection in V8 since it causes
+ // deoptimization and serious performance degradation
+ // https://github.com/zloirock/core-js/issues/679
+ var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$c(function () {
+ var array = [];
+ array[IS_CONCAT_SPREADABLE] = false;
+ return array.concat()[0] !== array;
+ });
- var _Set = Set$1;
+ var isConcatSpreadable = function (O) {
+ if (!isObject$7(O)) return false;
+ var spreadable = O[IS_CONCAT_SPREADABLE];
+ return spreadable !== undefined ? !!spreadable : isArray$g(O);
+ };
- var getNative$1 = _getNative,
- root = _root;
+ var FORCED$6 = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport$3('concat');
+
+ // `Array.prototype.concat` method
+ // https://tc39.es/ecma262/#sec-array.prototype.concat
+ // with adding support of @@isConcatSpreadable and @@species
+ $$v({ target: 'Array', proto: true, arity: 1, forced: FORCED$6 }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ concat: function concat(arg) {
+ var O = toObject$8(this);
+ var A = arraySpeciesCreate$1(O, 0);
+ var n = 0;
+ var i, k, length, len, E;
+ for (i = -1, length = arguments.length; i < length; i++) {
+ E = i === -1 ? O : arguments[i];
+ if (isConcatSpreadable(E)) {
+ len = lengthOfArrayLike$6(E);
+ doesNotExceedSafeInteger$1(n + len);
+ for (k = 0; k < len; k++, n++) if (k in E) createProperty$3(A, n, E[k]);
+ } else {
+ doesNotExceedSafeInteger$1(n + 1);
+ createProperty$3(A, n++, E);
+ }
+ }
+ A.length = n;
+ return A;
+ }
+ });
- /* Built-in method references that are verified to be native. */
- var WeakMap$1 = getNative$1(root, 'WeakMap');
+ var objectGetOwnPropertyNamesExternal = {};
- var _WeakMap = WeakMap$1;
+ /* eslint-disable es/no-object-getownpropertynames -- safe */
+ var classof$4 = classofRaw$2;
+ var toIndexedObject$5 = toIndexedObject$b;
+ var $getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
+ var arraySlice$1 = arraySlice$3;
- var DataView = _DataView,
- Map = _Map,
- Promise$1 = _Promise,
- Set = _Set,
- WeakMap = _WeakMap,
- baseGetTag$3 = _baseGetTag,
- toSource = _toSource;
+ var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
+ ? Object.getOwnPropertyNames(window) : [];
- /** `Object#toString` result references. */
- var mapTag$1 = '[object Map]',
- objectTag$1 = '[object Object]',
- promiseTag = '[object Promise]',
- setTag$1 = '[object Set]',
- weakMapTag = '[object WeakMap]';
+ var getWindowNames = function (it) {
+ try {
+ return $getOwnPropertyNames$1(it);
+ } catch (error) {
+ return arraySlice$1(windowNames);
+ }
+ };
- var dataViewTag = '[object DataView]';
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
+ objectGetOwnPropertyNamesExternal.f = function getOwnPropertyNames(it) {
+ return windowNames && classof$4(it) === 'Window'
+ ? getWindowNames(it)
+ : $getOwnPropertyNames$1(toIndexedObject$5(it));
+ };
- /** Used to detect maps, sets, and weakmaps. */
- var dataViewCtorString = toSource(DataView),
- mapCtorString = toSource(Map),
- promiseCtorString = toSource(Promise$1),
- setCtorString = toSource(Set),
- weakMapCtorString = toSource(WeakMap);
+ var wellKnownSymbolWrapped = {};
- /**
- * Gets the `toStringTag` of `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
- var getTag$2 = baseGetTag$3;
+ var wellKnownSymbol$7 = wellKnownSymbol$o;
- // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
- if ((DataView && getTag$2(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
- (Map && getTag$2(new Map) != mapTag$1) ||
- (Promise$1 && getTag$2(Promise$1.resolve()) != promiseTag) ||
- (Set && getTag$2(new Set) != setTag$1) ||
- (WeakMap && getTag$2(new WeakMap) != weakMapTag)) {
- getTag$2 = function(value) {
- var result = baseGetTag$3(value),
- Ctor = result == objectTag$1 ? value.constructor : undefined,
- ctorString = Ctor ? toSource(Ctor) : '';
+ wellKnownSymbolWrapped.f = wellKnownSymbol$7;
- if (ctorString) {
- switch (ctorString) {
- case dataViewCtorString: return dataViewTag;
- case mapCtorString: return mapTag$1;
- case promiseCtorString: return promiseTag;
- case setCtorString: return setTag$1;
- case weakMapCtorString: return weakMapTag;
+ var path$c = path$h;
+ var hasOwn$4 = hasOwnProperty_1;
+ var wrappedWellKnownSymbolModule$1 = wellKnownSymbolWrapped;
+ var defineProperty$b = objectDefineProperty.f;
+
+ var wellKnownSymbolDefine = function (NAME) {
+ var Symbol = path$c.Symbol || (path$c.Symbol = {});
+ if (!hasOwn$4(Symbol, NAME)) defineProperty$b(Symbol, NAME, {
+ value: wrappedWellKnownSymbolModule$1.f(NAME)
+ });
+ };
+
+ var call$5 = functionCall;
+ var getBuiltIn$5 = getBuiltIn$e;
+ var wellKnownSymbol$6 = wellKnownSymbol$o;
+ var defineBuiltIn$1 = defineBuiltIn$5;
+
+ var symbolDefineToPrimitive = function () {
+ var Symbol = getBuiltIn$5('Symbol');
+ var SymbolPrototype = Symbol && Symbol.prototype;
+ var valueOf = SymbolPrototype && SymbolPrototype.valueOf;
+ var TO_PRIMITIVE = wellKnownSymbol$6('toPrimitive');
+
+ if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {
+ // `Symbol.prototype[@@toPrimitive]` method
+ // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
+ // eslint-disable-next-line no-unused-vars -- required for .length
+ defineBuiltIn$1(SymbolPrototype, TO_PRIMITIVE, function (hint) {
+ return call$5(valueOf, this);
+ }, { arity: 1 });
+ }
+ };
+
+ var bind$1 = functionBindContext;
+ var uncurryThis$e = functionUncurryThis;
+ var IndexedObject$2 = indexedObject;
+ var toObject$7 = toObject$b;
+ var lengthOfArrayLike$5 = lengthOfArrayLike$9;
+ var arraySpeciesCreate = arraySpeciesCreate$2;
+
+ var push$9 = uncurryThis$e([].push);
+
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
+ var createMethod$4 = function (TYPE) {
+ var IS_MAP = TYPE === 1;
+ var IS_FILTER = TYPE === 2;
+ var IS_SOME = TYPE === 3;
+ var IS_EVERY = TYPE === 4;
+ var IS_FIND_INDEX = TYPE === 6;
+ var IS_FILTER_REJECT = TYPE === 7;
+ var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
+ return function ($this, callbackfn, that, specificCreate) {
+ var O = toObject$7($this);
+ var self = IndexedObject$2(O);
+ var length = lengthOfArrayLike$5(self);
+ var boundFunction = bind$1(callbackfn, that);
+ var index = 0;
+ var create = specificCreate || arraySpeciesCreate;
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
+ var value, result;
+ for (;length > index; index++) if (NO_HOLES || index in self) {
+ value = self[index];
+ result = boundFunction(value, index, O);
+ if (TYPE) {
+ if (IS_MAP) target[index] = result; // map
+ else if (result) switch (TYPE) {
+ case 3: return true; // some
+ case 5: return value; // find
+ case 6: return index; // findIndex
+ case 2: push$9(target, value); // filter
+ } else switch (TYPE) {
+ case 4: return false; // every
+ case 7: push$9(target, value); // filterReject
+ }
}
}
- return result;
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
};
- }
+ };
- var _getTag = getTag$2;
+ var arrayIteration = {
+ // `Array.prototype.forEach` method
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
+ forEach: createMethod$4(0),
+ // `Array.prototype.map` method
+ // https://tc39.es/ecma262/#sec-array.prototype.map
+ map: createMethod$4(1),
+ // `Array.prototype.filter` method
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
+ filter: createMethod$4(2),
+ // `Array.prototype.some` method
+ // https://tc39.es/ecma262/#sec-array.prototype.some
+ some: createMethod$4(3),
+ // `Array.prototype.every` method
+ // https://tc39.es/ecma262/#sec-array.prototype.every
+ every: createMethod$4(4),
+ // `Array.prototype.find` method
+ // https://tc39.es/ecma262/#sec-array.prototype.find
+ find: createMethod$4(5),
+ // `Array.prototype.findIndex` method
+ // https://tc39.es/ecma262/#sec-array.prototype.findIndex
+ findIndex: createMethod$4(6),
+ // `Array.prototype.filterReject` method
+ // https://github.com/tc39/proposal-array-filtering
+ filterReject: createMethod$4(7)
+ };
- var Stack$1 = _Stack,
- equalArrays = _equalArrays,
- equalByTag = _equalByTag,
- equalObjects = _equalObjects,
- getTag$1 = _getTag,
- isArray$8 = isArray_1,
- isBuffer$1 = isBufferExports,
- isTypedArray$1 = isTypedArray_1;
+ var $$u = _export;
+ var global$3 = global$l;
+ var call$4 = functionCall;
+ var uncurryThis$d = functionUncurryThis;
+ var DESCRIPTORS$6 = descriptors;
+ var NATIVE_SYMBOL$3 = symbolConstructorDetection;
+ var fails$b = fails$r;
+ var hasOwn$3 = hasOwnProperty_1;
+ var isPrototypeOf$d = objectIsPrototypeOf;
+ var anObject$1 = anObject$b;
+ var toIndexedObject$4 = toIndexedObject$b;
+ var toPropertyKey$1 = toPropertyKey$4;
+ var $toString = toString$d;
+ var createPropertyDescriptor = createPropertyDescriptor$7;
+ var nativeObjectCreate = objectCreate;
+ var objectKeys$2 = objectKeys$4;
+ var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
+ var getOwnPropertyNamesExternal = objectGetOwnPropertyNamesExternal;
+ var getOwnPropertySymbolsModule$2 = objectGetOwnPropertySymbols;
+ var getOwnPropertyDescriptorModule$1 = objectGetOwnPropertyDescriptor;
+ var definePropertyModule = objectDefineProperty;
+ var definePropertiesModule = objectDefineProperties;
+ var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
+ var defineBuiltIn = defineBuiltIn$5;
+ var defineBuiltInAccessor = defineBuiltInAccessor$2;
+ var shared$3 = shared$7;
+ var sharedKey = sharedKey$4;
+ var hiddenKeys = hiddenKeys$5;
+ var uid = uid$3;
+ var wellKnownSymbol$5 = wellKnownSymbol$o;
+ var wrappedWellKnownSymbolModule = wellKnownSymbolWrapped;
+ var defineWellKnownSymbol$m = wellKnownSymbolDefine;
+ var defineSymbolToPrimitive$1 = symbolDefineToPrimitive;
+ var setToStringTag$2 = setToStringTag$7;
+ var InternalStateModule = internalState;
+ var $forEach$1 = arrayIteration.forEach;
+
+ var HIDDEN = sharedKey('hidden');
+ var SYMBOL = 'Symbol';
+ var PROTOTYPE = 'prototype';
+
+ var setInternalState = InternalStateModule.set;
+ var getInternalState = InternalStateModule.getterFor(SYMBOL);
+
+ var ObjectPrototype = Object[PROTOTYPE];
+ var $Symbol = global$3.Symbol;
+ var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];
+ var RangeError$1 = global$3.RangeError;
+ var TypeError$1 = global$3.TypeError;
+ var QObject = global$3.QObject;
+ var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule$1.f;
+ var nativeDefineProperty = definePropertyModule.f;
+ var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
+ var nativePropertyIsEnumerable = propertyIsEnumerableModule$1.f;
+ var push$8 = uncurryThis$d([].push);
+
+ var AllSymbols = shared$3('symbols');
+ var ObjectPrototypeSymbols = shared$3('op-symbols');
+ var WellKnownSymbolsStore$1 = shared$3('wks');
+
+ // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
+ var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
+
+ // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
+ var fallbackDefineProperty = function (O, P, Attributes) {
+ var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
+ if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
+ nativeDefineProperty(O, P, Attributes);
+ if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
+ nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
+ }
+ };
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG$2 = 1;
+ var setSymbolDescriptor = DESCRIPTORS$6 && fails$b(function () {
+ return nativeObjectCreate(nativeDefineProperty({}, 'a', {
+ get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
+ })).a !== 7;
+ }) ? fallbackDefineProperty : nativeDefineProperty;
+
+ var wrap = function (tag, description) {
+ var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);
+ setInternalState(symbol, {
+ type: SYMBOL,
+ tag: tag,
+ description: description
+ });
+ if (!DESCRIPTORS$6) symbol.description = description;
+ return symbol;
+ };
- /** `Object#toString` result references. */
- var argsTag = '[object Arguments]',
- arrayTag = '[object Array]',
- objectTag = '[object Object]';
+ var $defineProperty = function defineProperty(O, P, Attributes) {
+ if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
+ anObject$1(O);
+ var key = toPropertyKey$1(P);
+ anObject$1(Attributes);
+ if (hasOwn$3(AllSymbols, key)) {
+ if (!Attributes.enumerable) {
+ if (!hasOwn$3(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));
+ O[HIDDEN][key] = true;
+ } else {
+ if (hasOwn$3(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
+ Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
+ } return setSymbolDescriptor(O, key, Attributes);
+ } return nativeDefineProperty(O, key, Attributes);
+ };
- /** Used for built-in method references. */
- var objectProto$1 = Object.prototype;
+ var $defineProperties = function defineProperties(O, Properties) {
+ anObject$1(O);
+ var properties = toIndexedObject$4(Properties);
+ var keys = objectKeys$2(properties).concat($getOwnPropertySymbols(properties));
+ $forEach$1(keys, function (key) {
+ if (!DESCRIPTORS$6 || call$4($propertyIsEnumerable$1, properties, key)) $defineProperty(O, key, properties[key]);
+ });
+ return O;
+ };
- /** Used to check objects for own properties. */
- var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
+ var $create = function create(O, Properties) {
+ return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
+ };
- /**
- * A specialized version of `baseIsEqual` for arrays and objects which performs
- * deep comparisons and tracks traversed objects enabling objects with circular
- * references to be compared.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} [stack] Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack) {
- var objIsArr = isArray$8(object),
- othIsArr = isArray$8(other),
- objTag = objIsArr ? arrayTag : getTag$1(object),
- othTag = othIsArr ? arrayTag : getTag$1(other);
+ var $propertyIsEnumerable$1 = function propertyIsEnumerable(V) {
+ var P = toPropertyKey$1(V);
+ var enumerable = call$4(nativePropertyIsEnumerable, this, P);
+ if (this === ObjectPrototype && hasOwn$3(AllSymbols, P) && !hasOwn$3(ObjectPrototypeSymbols, P)) return false;
+ return enumerable || !hasOwn$3(this, P) || !hasOwn$3(AllSymbols, P) || hasOwn$3(this, HIDDEN) && this[HIDDEN][P]
+ ? enumerable : true;
+ };
- objTag = objTag == argsTag ? objectTag : objTag;
- othTag = othTag == argsTag ? objectTag : othTag;
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
+ var it = toIndexedObject$4(O);
+ var key = toPropertyKey$1(P);
+ if (it === ObjectPrototype && hasOwn$3(AllSymbols, key) && !hasOwn$3(ObjectPrototypeSymbols, key)) return;
+ var descriptor = nativeGetOwnPropertyDescriptor(it, key);
+ if (descriptor && hasOwn$3(AllSymbols, key) && !(hasOwn$3(it, HIDDEN) && it[HIDDEN][key])) {
+ descriptor.enumerable = true;
+ }
+ return descriptor;
+ };
- var objIsObj = objTag == objectTag,
- othIsObj = othTag == objectTag,
- isSameTag = objTag == othTag;
+ var $getOwnPropertyNames = function getOwnPropertyNames(O) {
+ var names = nativeGetOwnPropertyNames(toIndexedObject$4(O));
+ var result = [];
+ $forEach$1(names, function (key) {
+ if (!hasOwn$3(AllSymbols, key) && !hasOwn$3(hiddenKeys, key)) push$8(result, key);
+ });
+ return result;
+ };
- if (isSameTag && isBuffer$1(object)) {
- if (!isBuffer$1(other)) {
- return false;
+ var $getOwnPropertySymbols = function (O) {
+ var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
+ var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject$4(O));
+ var result = [];
+ $forEach$1(names, function (key) {
+ if (hasOwn$3(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn$3(ObjectPrototype, key))) {
+ push$8(result, AllSymbols[key]);
}
- objIsArr = true;
- objIsObj = false;
- }
- if (isSameTag && !objIsObj) {
- stack || (stack = new Stack$1);
- return (objIsArr || isTypedArray$1(object))
- ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
- : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
- }
- if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
- var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, '__wrapped__'),
- othIsWrapped = othIsObj && hasOwnProperty$1.call(other, '__wrapped__');
+ });
+ return result;
+ };
- if (objIsWrapped || othIsWrapped) {
- var objUnwrapped = objIsWrapped ? object.value() : object,
- othUnwrapped = othIsWrapped ? other.value() : other;
+ // `Symbol` constructor
+ // https://tc39.es/ecma262/#sec-symbol-constructor
+ if (!NATIVE_SYMBOL$3) {
+ $Symbol = function Symbol() {
+ if (isPrototypeOf$d(SymbolPrototype, this)) throw new TypeError$1('Symbol is not a constructor');
+ var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);
+ var tag = uid(description);
+ var setter = function (value) {
+ var $this = this === undefined ? global$3 : this;
+ if ($this === ObjectPrototype) call$4(setter, ObjectPrototypeSymbols, value);
+ if (hasOwn$3($this, HIDDEN) && hasOwn$3($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;
+ var descriptor = createPropertyDescriptor(1, value);
+ try {
+ setSymbolDescriptor($this, tag, descriptor);
+ } catch (error) {
+ if (!(error instanceof RangeError$1)) throw error;
+ fallbackDefineProperty($this, tag, descriptor);
+ }
+ };
+ if (DESCRIPTORS$6 && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
+ return wrap(tag, description);
+ };
- stack || (stack = new Stack$1);
- return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
- }
- }
- if (!isSameTag) {
- return false;
- }
- stack || (stack = new Stack$1);
- return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
- }
+ SymbolPrototype = $Symbol[PROTOTYPE];
- var _baseIsEqualDeep = baseIsEqualDeep$1;
+ defineBuiltIn(SymbolPrototype, 'toString', function toString() {
+ return getInternalState(this).tag;
+ });
- var baseIsEqualDeep = _baseIsEqualDeep,
- isObjectLike$4 = isObjectLike_1;
+ defineBuiltIn($Symbol, 'withoutSetter', function (description) {
+ return wrap(uid(description), description);
+ });
- /**
- * The base implementation of `_.isEqual` which supports partial comparisons
- * and tracks traversed objects.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {boolean} bitmask The bitmask flags.
- * 1 - Unordered comparison
- * 2 - Partial comparison
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {Object} [stack] Tracks traversed `value` and `other` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */
- function baseIsEqual$2(value, other, bitmask, customizer, stack) {
- if (value === other) {
- return true;
- }
- if (value == null || other == null || (!isObjectLike$4(value) && !isObjectLike$4(other))) {
- return value !== value && other !== other;
+ propertyIsEnumerableModule$1.f = $propertyIsEnumerable$1;
+ definePropertyModule.f = $defineProperty;
+ definePropertiesModule.f = $defineProperties;
+ getOwnPropertyDescriptorModule$1.f = $getOwnPropertyDescriptor;
+ getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
+ getOwnPropertySymbolsModule$2.f = $getOwnPropertySymbols;
+
+ wrappedWellKnownSymbolModule.f = function (name) {
+ return wrap(wellKnownSymbol$5(name), name);
+ };
+
+ if (DESCRIPTORS$6) {
+ // https://github.com/tc39/proposal-Symbol-description
+ defineBuiltInAccessor(SymbolPrototype, 'description', {
+ configurable: true,
+ get: function description() {
+ return getInternalState(this).description;
+ }
+ });
}
- return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual$2, stack);
}
- var _baseIsEqual = baseIsEqual$2;
+ $$u({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL$3, sham: !NATIVE_SYMBOL$3 }, {
+ Symbol: $Symbol
+ });
- var Stack = _Stack,
- baseIsEqual$1 = _baseIsEqual;
+ $forEach$1(objectKeys$2(WellKnownSymbolsStore$1), function (name) {
+ defineWellKnownSymbol$m(name);
+ });
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG$1 = 1,
- COMPARE_UNORDERED_FLAG$1 = 2;
+ $$u({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL$3 }, {
+ useSetter: function () { USE_SETTER = true; },
+ useSimple: function () { USE_SETTER = false; }
+ });
- /**
- * The base implementation of `_.isMatch` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @param {Array} matchData The property names, values, and compare flags to match.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- */
- function baseIsMatch$1(object, source, matchData, customizer) {
- var index = matchData.length,
- length = index,
- noCustomizer = !customizer;
+ $$u({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL$3, sham: !DESCRIPTORS$6 }, {
+ // `Object.create` method
+ // https://tc39.es/ecma262/#sec-object.create
+ create: $create,
+ // `Object.defineProperty` method
+ // https://tc39.es/ecma262/#sec-object.defineproperty
+ defineProperty: $defineProperty,
+ // `Object.defineProperties` method
+ // https://tc39.es/ecma262/#sec-object.defineproperties
+ defineProperties: $defineProperties,
+ // `Object.getOwnPropertyDescriptor` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor
+ });
- if (object == null) {
- return !length;
+ $$u({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL$3 }, {
+ // `Object.getOwnPropertyNames` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
+ getOwnPropertyNames: $getOwnPropertyNames
+ });
+
+ // `Symbol.prototype[@@toPrimitive]` method
+ // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
+ defineSymbolToPrimitive$1();
+
+ // `Symbol.prototype[@@toStringTag]` property
+ // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
+ setToStringTag$2($Symbol, SYMBOL);
+
+ hiddenKeys[HIDDEN] = true;
+
+ var NATIVE_SYMBOL$2 = symbolConstructorDetection;
+
+ /* eslint-disable es/no-symbol -- safe */
+ var symbolRegistryDetection = NATIVE_SYMBOL$2 && !!Symbol['for'] && !!Symbol.keyFor;
+
+ var $$t = _export;
+ var getBuiltIn$4 = getBuiltIn$e;
+ var hasOwn$2 = hasOwnProperty_1;
+ var toString$8 = toString$d;
+ var shared$2 = shared$7;
+ var NATIVE_SYMBOL_REGISTRY$1 = symbolRegistryDetection;
+
+ var StringToSymbolRegistry = shared$2('string-to-symbol-registry');
+ var SymbolToStringRegistry$1 = shared$2('symbol-to-string-registry');
+
+ // `Symbol.for` method
+ // https://tc39.es/ecma262/#sec-symbol.for
+ $$t({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY$1 }, {
+ 'for': function (key) {
+ var string = toString$8(key);
+ if (hasOwn$2(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
+ var symbol = getBuiltIn$4('Symbol')(string);
+ StringToSymbolRegistry[string] = symbol;
+ SymbolToStringRegistry$1[symbol] = string;
+ return symbol;
}
- object = Object(object);
- while (index--) {
- var data = matchData[index];
- if ((noCustomizer && data[2])
- ? data[1] !== object[data[0]]
- : !(data[0] in object)
- ) {
- return false;
- }
+ });
+
+ var $$s = _export;
+ var hasOwn$1 = hasOwnProperty_1;
+ var isSymbol$7 = isSymbol$a;
+ var tryToString = tryToString$5;
+ var shared$1 = shared$7;
+ var NATIVE_SYMBOL_REGISTRY = symbolRegistryDetection;
+
+ var SymbolToStringRegistry = shared$1('symbol-to-string-registry');
+
+ // `Symbol.keyFor` method
+ // https://tc39.es/ecma262/#sec-symbol.keyfor
+ $$s({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {
+ keyFor: function keyFor(sym) {
+ if (!isSymbol$7(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');
+ if (hasOwn$1(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
}
- while (++index < length) {
- data = matchData[index];
- var key = data[0],
- objValue = object[key],
- srcValue = data[1];
+ });
- if (noCustomizer && data[2]) {
- if (objValue === undefined && !(key in object)) {
- return false;
- }
- } else {
- var stack = new Stack;
- if (customizer) {
- var result = customizer(objValue, srcValue, key, object, source, stack);
- }
- if (!(result === undefined
- ? baseIsEqual$1(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack)
- : result
- )) {
- return false;
- }
- }
+ var uncurryThis$c = functionUncurryThis;
+ var isArray$f = isArray$o;
+ var isCallable$1 = isCallable$j;
+ var classof$3 = classofRaw$2;
+ var toString$7 = toString$d;
+
+ var push$7 = uncurryThis$c([].push);
+
+ var getJsonReplacerFunction = function (replacer) {
+ if (isCallable$1(replacer)) return replacer;
+ if (!isArray$f(replacer)) return;
+ var rawLength = replacer.length;
+ var keys = [];
+ for (var i = 0; i < rawLength; i++) {
+ var element = replacer[i];
+ if (typeof element == 'string') push$7(keys, element);
+ else if (typeof element == 'number' || classof$3(element) === 'Number' || classof$3(element) === 'String') push$7(keys, toString$7(element));
}
- return true;
- }
+ var keysLength = keys.length;
+ var root = true;
+ return function (key, value) {
+ if (root) {
+ root = false;
+ return value;
+ }
+ if (isArray$f(this)) return value;
+ for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
+ };
+ };
- var _baseIsMatch = baseIsMatch$1;
+ var $$r = _export;
+ var getBuiltIn$3 = getBuiltIn$e;
+ var apply$4 = functionApply;
+ var call$3 = functionCall;
+ var uncurryThis$b = functionUncurryThis;
+ var fails$a = fails$r;
+ var isCallable = isCallable$j;
+ var isSymbol$6 = isSymbol$a;
+ var arraySlice = arraySlice$3;
+ var getReplacerFunction = getJsonReplacerFunction;
+ var NATIVE_SYMBOL$1 = symbolConstructorDetection;
+
+ var $String = String;
+ var $stringify = getBuiltIn$3('JSON', 'stringify');
+ var exec = uncurryThis$b(/./.exec);
+ var charAt = uncurryThis$b(''.charAt);
+ var charCodeAt = uncurryThis$b(''.charCodeAt);
+ var replace$1 = uncurryThis$b(''.replace);
+ var numberToString = uncurryThis$b(1.0.toString);
+
+ var tester = /[\uD800-\uDFFF]/g;
+ var low = /^[\uD800-\uDBFF]$/;
+ var hi = /^[\uDC00-\uDFFF]$/;
+
+ var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL$1 || fails$a(function () {
+ var symbol = getBuiltIn$3('Symbol')('stringify detection');
+ // MS Edge converts symbol values to JSON as {}
+ return $stringify([symbol]) !== '[null]'
+ // WebKit converts symbol values to JSON as null
+ || $stringify({ a: symbol }) !== '{}'
+ // V8 throws on boxed symbols
+ || $stringify(Object(symbol)) !== '{}';
+ });
- var isObject$1 = isObject_1;
+ // https://github.com/tc39/proposal-well-formed-stringify
+ var ILL_FORMED_UNICODE = fails$a(function () {
+ return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
+ || $stringify('\uDEAD') !== '"\\udead"';
+ });
- /**
- * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` if suitable for strict
- * equality comparisons, else `false`.
- */
- function isStrictComparable$2(value) {
- return value === value && !isObject$1(value);
+ var stringifyWithSymbolsFix = function (it, replacer) {
+ var args = arraySlice(arguments);
+ var $replacer = getReplacerFunction(replacer);
+ if (!isCallable($replacer) && (it === undefined || isSymbol$6(it))) return; // IE8 returns string on undefined
+ args[1] = function (key, value) {
+ // some old implementations (like WebKit) could pass numbers as keys
+ if (isCallable($replacer)) value = call$3($replacer, this, $String(key), value);
+ if (!isSymbol$6(value)) return value;
+ };
+ return apply$4($stringify, null, args);
+ };
+
+ var fixIllFormed = function (match, offset, string) {
+ var prev = charAt(string, offset - 1);
+ var next = charAt(string, offset + 1);
+ if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
+ return '\\u' + numberToString(charCodeAt(match, 0), 16);
+ } return match;
+ };
+
+ if ($stringify) {
+ // `JSON.stringify` method
+ // https://tc39.es/ecma262/#sec-json.stringify
+ $$r({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ stringify: function stringify(it, replacer, space) {
+ var args = arraySlice(arguments);
+ var result = apply$4(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);
+ return ILL_FORMED_UNICODE && typeof result == 'string' ? replace$1(result, tester, fixIllFormed) : result;
+ }
+ });
}
- var _isStrictComparable = isStrictComparable$2;
+ var $$q = _export;
+ var NATIVE_SYMBOL = symbolConstructorDetection;
+ var fails$9 = fails$r;
+ var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
+ var toObject$6 = toObject$b;
+
+ // V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3443
+ var FORCED$5 = !NATIVE_SYMBOL || fails$9(function () { getOwnPropertySymbolsModule$1.f(1); });
+
+ // `Object.getOwnPropertySymbols` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertysymbols
+ $$q({ target: 'Object', stat: true, forced: FORCED$5 }, {
+ getOwnPropertySymbols: function getOwnPropertySymbols(it) {
+ var $getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
+ return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject$6(it)) : [];
+ }
+ });
- var isStrictComparable$1 = _isStrictComparable,
- keys$1 = keys_1;
+ var defineWellKnownSymbol$l = wellKnownSymbolDefine;
- /**
- * Gets the property names, values, and compare flags of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the match data of `object`.
- */
- function getMatchData$1(object) {
- var result = keys$1(object),
- length = result.length;
+ // `Symbol.asyncIterator` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.asynciterator
+ defineWellKnownSymbol$l('asyncIterator');
- while (length--) {
- var key = result[length],
- value = object[key];
+ var defineWellKnownSymbol$k = wellKnownSymbolDefine;
- result[length] = [key, value, isStrictComparable$1(value)];
- }
- return result;
- }
+ // `Symbol.hasInstance` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.hasinstance
+ defineWellKnownSymbol$k('hasInstance');
- var _getMatchData = getMatchData$1;
+ var defineWellKnownSymbol$j = wellKnownSymbolDefine;
- /**
- * A specialized version of `matchesProperty` for source values suitable
- * for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */
+ // `Symbol.isConcatSpreadable` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.isconcatspreadable
+ defineWellKnownSymbol$j('isConcatSpreadable');
- function matchesStrictComparable$2(key, srcValue) {
- return function(object) {
- if (object == null) {
- return false;
- }
- return object[key] === srcValue &&
- (srcValue !== undefined || (key in Object(object)));
- };
- }
+ var defineWellKnownSymbol$i = wellKnownSymbolDefine;
- var _matchesStrictComparable = matchesStrictComparable$2;
+ // `Symbol.iterator` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.iterator
+ defineWellKnownSymbol$i('iterator');
- var baseIsMatch = _baseIsMatch,
- getMatchData = _getMatchData,
- matchesStrictComparable$1 = _matchesStrictComparable;
+ var defineWellKnownSymbol$h = wellKnownSymbolDefine;
- /**
- * The base implementation of `_.matches` which doesn't clone `source`.
- *
- * @private
- * @param {Object} source The object of property values to match.
- * @returns {Function} Returns the new spec function.
- */
- function baseMatches$1(source) {
- var matchData = getMatchData(source);
- if (matchData.length == 1 && matchData[0][2]) {
- return matchesStrictComparable$1(matchData[0][0], matchData[0][1]);
- }
- return function(object) {
- return object === source || baseIsMatch(object, source, matchData);
- };
- }
+ // `Symbol.match` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.match
+ defineWellKnownSymbol$h('match');
- var _baseMatches = baseMatches$1;
+ var defineWellKnownSymbol$g = wellKnownSymbolDefine;
- var baseGetTag$2 = _baseGetTag,
- isObjectLike$3 = isObjectLike_1;
+ // `Symbol.matchAll` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.matchall
+ defineWellKnownSymbol$g('matchAll');
- /** `Object#toString` result references. */
- var symbolTag = '[object Symbol]';
+ var defineWellKnownSymbol$f = wellKnownSymbolDefine;
- /**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
- function isSymbol$4(value) {
- return typeof value == 'symbol' ||
- (isObjectLike$3(value) && baseGetTag$2(value) == symbolTag);
- }
+ // `Symbol.replace` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.replace
+ defineWellKnownSymbol$f('replace');
- var isSymbol_1 = isSymbol$4;
+ var defineWellKnownSymbol$e = wellKnownSymbolDefine;
- var isArray$7 = isArray_1,
- isSymbol$3 = isSymbol_1;
+ // `Symbol.search` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.search
+ defineWellKnownSymbol$e('search');
- /** Used to match property names within property paths. */
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
- reIsPlainProp = /^\w*$/;
+ var defineWellKnownSymbol$d = wellKnownSymbolDefine;
- /**
- * Checks if `value` is a property name and not a property path.
- *
- * @private
- * @param {*} value The value to check.
- * @param {Object} [object] The object to query keys on.
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
- */
- function isKey$3(value, object) {
- if (isArray$7(value)) {
- return false;
- }
- var type = typeof value;
- if (type == 'number' || type == 'symbol' || type == 'boolean' ||
- value == null || isSymbol$3(value)) {
- return true;
- }
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
- (object != null && value in Object(object));
- }
+ // `Symbol.species` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.species
+ defineWellKnownSymbol$d('species');
- var _isKey = isKey$3;
+ var defineWellKnownSymbol$c = wellKnownSymbolDefine;
- var MapCache = _MapCache;
+ // `Symbol.split` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.split
+ defineWellKnownSymbol$c('split');
- /** Error message constants. */
- var FUNC_ERROR_TEXT = 'Expected a function';
+ var defineWellKnownSymbol$b = wellKnownSymbolDefine;
+ var defineSymbolToPrimitive = symbolDefineToPrimitive;
- /**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided, it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is used as the map cache key. The `func`
- * is invoked with the `this` binding of the memoized function.
- *
- * **Note:** The cache is exposed as the `cache` property on the memoized
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
- * constructor with one whose instances implement the
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
- * method interface of `clear`, `delete`, `get`, `has`, and `set`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] The function to resolve the cache key.
- * @returns {Function} Returns the new memoized function.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- * var other = { 'c': 3, 'd': 4 };
- *
- * var values = _.memoize(_.values);
- * values(object);
- * // => [1, 2]
- *
- * values(other);
- * // => [3, 4]
- *
- * object.a = 2;
- * values(object);
- * // => [1, 2]
- *
- * // Modify the result cache.
- * values.cache.set(object, ['a', 'b']);
- * values(object);
- * // => ['a', 'b']
- *
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
- */
- function memoize$1(func, resolver) {
- if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var memoized = function() {
- var args = arguments,
- key = resolver ? resolver.apply(this, args) : args[0],
- cache = memoized.cache;
+ // `Symbol.toPrimitive` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.toprimitive
+ defineWellKnownSymbol$b('toPrimitive');
- if (cache.has(key)) {
- return cache.get(key);
- }
- var result = func.apply(this, args);
- memoized.cache = cache.set(key, result) || cache;
- return result;
- };
- memoized.cache = new (memoize$1.Cache || MapCache);
- return memoized;
- }
+ // `Symbol.prototype[@@toPrimitive]` method
+ // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
+ defineSymbolToPrimitive();
- // Expose `MapCache`.
- memoize$1.Cache = MapCache;
+ var getBuiltIn$2 = getBuiltIn$e;
+ var defineWellKnownSymbol$a = wellKnownSymbolDefine;
+ var setToStringTag$1 = setToStringTag$7;
- var memoize_1 = memoize$1;
+ // `Symbol.toStringTag` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.tostringtag
+ defineWellKnownSymbol$a('toStringTag');
- var memoize = memoize_1;
+ // `Symbol.prototype[@@toStringTag]` property
+ // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
+ setToStringTag$1(getBuiltIn$2('Symbol'), 'Symbol');
- /** Used as the maximum memoize cache size. */
- var MAX_MEMOIZE_SIZE = 500;
+ var defineWellKnownSymbol$9 = wellKnownSymbolDefine;
- /**
- * A specialized version of `_.memoize` which clears the memoized function's
- * cache when it exceeds `MAX_MEMOIZE_SIZE`.
- *
- * @private
- * @param {Function} func The function to have its output memoized.
- * @returns {Function} Returns the new memoized function.
- */
- function memoizeCapped$1(func) {
- var result = memoize(func, function(key) {
- if (cache.size === MAX_MEMOIZE_SIZE) {
- cache.clear();
- }
- return key;
- });
+ // `Symbol.unscopables` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.unscopables
+ defineWellKnownSymbol$9('unscopables');
- var cache = result.cache;
- return result;
- }
+ var global$2 = global$l;
+ var setToStringTag = setToStringTag$7;
- var _memoizeCapped = memoizeCapped$1;
+ // JSON[@@toStringTag] property
+ // https://tc39.es/ecma262/#sec-json-@@tostringtag
+ setToStringTag(global$2.JSON, 'JSON', true);
- var memoizeCapped = _memoizeCapped;
+ var path$b = path$h;
- /** Used to match property names within property paths. */
- var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
+ var symbol$5 = path$b.Symbol;
- /** Used to match backslashes in property paths. */
- var reEscapeChar = /\\(\\)?/g;
+ var parent$Q = symbol$5;
- /**
- * Converts `string` to a property path array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the property path array.
- */
- var stringToPath$1 = memoizeCapped(function(string) {
- var result = [];
- if (string.charCodeAt(0) === 46 /* . */) {
- result.push('');
- }
- string.replace(rePropName, function(match, number, quote, subString) {
- result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
- });
- return result;
- });
- var _stringToPath = stringToPath$1;
+ var symbol$4 = parent$Q;
- /**
- * A specialized version of `_.map` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- */
+ var wellKnownSymbol$4 = wellKnownSymbol$o;
+ var defineProperty$a = objectDefineProperty.f;
- function arrayMap$2(array, iteratee) {
- var index = -1,
- length = array == null ? 0 : array.length,
- result = Array(length);
+ var METADATA = wellKnownSymbol$4('metadata');
+ var FunctionPrototype = Function.prototype;
- while (++index < length) {
- result[index] = iteratee(array[index], index, array);
- }
- return result;
+ // Function.prototype[@@metadata]
+ // https://github.com/tc39/proposal-decorator-metadata
+ if (FunctionPrototype[METADATA] === undefined) {
+ defineProperty$a(FunctionPrototype, METADATA, {
+ value: null
+ });
}
- var _arrayMap = arrayMap$2;
+ var defineWellKnownSymbol$8 = wellKnownSymbolDefine;
- var Symbol$2 = _Symbol,
- arrayMap$1 = _arrayMap,
- isArray$6 = isArray_1,
- isSymbol$2 = isSymbol_1;
+ // `Symbol.asyncDispose` well-known symbol
+ // https://github.com/tc39/proposal-async-explicit-resource-management
+ defineWellKnownSymbol$8('asyncDispose');
- /** Used as references for various `Number` constants. */
- var INFINITY$2 = 1 / 0;
+ var defineWellKnownSymbol$7 = wellKnownSymbolDefine;
- /** Used to convert symbols to primitives and strings. */
- var symbolProto = Symbol$2 ? Symbol$2.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
+ // `Symbol.dispose` well-known symbol
+ // https://github.com/tc39/proposal-explicit-resource-management
+ defineWellKnownSymbol$7('dispose');
- /**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
- function baseToString$1(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isArray$6(value)) {
- // Recursively convert values (susceptible to call stack limits).
- return arrayMap$1(value, baseToString$1) + '';
- }
- if (isSymbol$2(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY$2) ? '-0' : result;
- }
+ var defineWellKnownSymbol$6 = wellKnownSymbolDefine;
- var _baseToString = baseToString$1;
+ // `Symbol.metadata` well-known symbol
+ // https://github.com/tc39/proposal-decorators
+ defineWellKnownSymbol$6('metadata');
- var baseToString = _baseToString;
+ var parent$P = symbol$4;
- /**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
- function toString$1(value) {
- return value == null ? '' : baseToString(value);
- }
- var toString_1 = toString$1;
- var isArray$5 = isArray_1,
- isKey$2 = _isKey,
- stringToPath = _stringToPath,
- toString = toString_1;
- /**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @param {Object} [object] The object to query keys on.
- * @returns {Array} Returns the cast property path array.
- */
- function castPath$2(value, object) {
- if (isArray$5(value)) {
- return value;
+
+
+ var symbol$3 = parent$P;
+
+ var getBuiltIn$1 = getBuiltIn$e;
+ var uncurryThis$a = functionUncurryThis;
+
+ var Symbol$8 = getBuiltIn$1('Symbol');
+ var keyFor = Symbol$8.keyFor;
+ var thisSymbolValue$1 = uncurryThis$a(Symbol$8.prototype.valueOf);
+
+ // `Symbol.isRegisteredSymbol` method
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
+ var symbolIsRegistered = Symbol$8.isRegisteredSymbol || function isRegisteredSymbol(value) {
+ try {
+ return keyFor(thisSymbolValue$1(value)) !== undefined;
+ } catch (error) {
+ return false;
}
- return isKey$2(value, object) ? [value] : stringToPath(toString(value));
- }
+ };
- var _castPath = castPath$2;
+ var $$p = _export;
+ var isRegisteredSymbol$1 = symbolIsRegistered;
- var isSymbol$1 = isSymbol_1;
+ // `Symbol.isRegisteredSymbol` method
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
+ $$p({ target: 'Symbol', stat: true }, {
+ isRegisteredSymbol: isRegisteredSymbol$1
+ });
- /** Used as references for various `Number` constants. */
- var INFINITY$1 = 1 / 0;
+ var shared = shared$7;
+ var getBuiltIn = getBuiltIn$e;
+ var uncurryThis$9 = functionUncurryThis;
+ var isSymbol$5 = isSymbol$a;
+ var wellKnownSymbol$3 = wellKnownSymbol$o;
- /**
+ var Symbol$7 = getBuiltIn('Symbol');
+ var $isWellKnownSymbol = Symbol$7.isWellKnownSymbol;
+ var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');
+ var thisSymbolValue = uncurryThis$9(Symbol$7.prototype.valueOf);
+ var WellKnownSymbolsStore = shared('wks');
+
+ for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol$7), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {
+ // some old engines throws on access to some keys like `arguments` or `caller`
+ try {
+ var symbolKey = symbolKeys[i];
+ if (isSymbol$5(Symbol$7[symbolKey])) wellKnownSymbol$3(symbolKey);
+ } catch (error) { /* empty */ }
+ }
+
+ // `Symbol.isWellKnownSymbol` method
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
+ // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
+ var symbolIsWellKnown = function isWellKnownSymbol(value) {
+ if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;
+ try {
+ var symbol = thisSymbolValue(value);
+ for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {
+ // eslint-disable-next-line eqeqeq -- polyfilled symbols case
+ if (WellKnownSymbolsStore[keys[j]] == symbol) return true;
+ }
+ } catch (error) { /* empty */ }
+ return false;
+ };
+
+ var $$o = _export;
+ var isWellKnownSymbol$1 = symbolIsWellKnown;
+
+ // `Symbol.isWellKnownSymbol` method
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
+ // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
+ $$o({ target: 'Symbol', stat: true, forced: true }, {
+ isWellKnownSymbol: isWellKnownSymbol$1
+ });
+
+ var defineWellKnownSymbol$5 = wellKnownSymbolDefine;
+
+ // `Symbol.customMatcher` well-known symbol
+ // https://github.com/tc39/proposal-pattern-matching
+ defineWellKnownSymbol$5('customMatcher');
+
+ var defineWellKnownSymbol$4 = wellKnownSymbolDefine;
+
+ // `Symbol.observable` well-known symbol
+ // https://github.com/tc39/proposal-observable
+ defineWellKnownSymbol$4('observable');
+
+ var $$n = _export;
+ var isRegisteredSymbol = symbolIsRegistered;
+
+ // `Symbol.isRegistered` method
+ // obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
+ $$n({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {
+ isRegistered: isRegisteredSymbol
+ });
+
+ var $$m = _export;
+ var isWellKnownSymbol = symbolIsWellKnown;
+
+ // `Symbol.isWellKnown` method
+ // obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
+ // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
+ $$m({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {
+ isWellKnown: isWellKnownSymbol
+ });
+
+ var defineWellKnownSymbol$3 = wellKnownSymbolDefine;
+
+ // `Symbol.matcher` well-known symbol
+ // https://github.com/tc39/proposal-pattern-matching
+ defineWellKnownSymbol$3('matcher');
+
+ // TODO: Remove from `core-js@4`
+ var defineWellKnownSymbol$2 = wellKnownSymbolDefine;
+
+ // `Symbol.metadataKey` well-known symbol
+ // https://github.com/tc39/proposal-decorator-metadata
+ defineWellKnownSymbol$2('metadataKey');
+
+ // TODO: remove from `core-js@4`
+ var defineWellKnownSymbol$1 = wellKnownSymbolDefine;
+
+ // `Symbol.patternMatch` well-known symbol
+ // https://github.com/tc39/proposal-pattern-matching
+ defineWellKnownSymbol$1('patternMatch');
+
+ // TODO: remove from `core-js@4`
+ var defineWellKnownSymbol = wellKnownSymbolDefine;
+
+ defineWellKnownSymbol('replaceAll');
+
+ var parent$O = symbol$3;
+
+
+
+
+ // TODO: Remove from `core-js@4`
+
+
+
+
+
+
+
+ var symbol$2 = parent$O;
+
+ var symbol$1 = symbol$2;
+
+ var _Symbol$2 = /*@__PURE__*/getDefaultExportFromCjs(symbol$1);
+
+ var getIteratorMethod$5 = getIteratorMethod$8;
+
+ var getIteratorMethod_1 = getIteratorMethod$5;
+
+ var parent$N = getIteratorMethod_1;
+
+
+ var getIteratorMethod$4 = parent$N;
+
+ var parent$M = getIteratorMethod$4;
+
+ var getIteratorMethod$3 = parent$M;
+
+ var parent$L = getIteratorMethod$3;
+
+ var getIteratorMethod$2 = parent$L;
+
+ var getIteratorMethod$1 = getIteratorMethod$2;
+
+ var _getIteratorMethod = /*@__PURE__*/getDefaultExportFromCjs(getIteratorMethod$1);
+
+ var DESCRIPTORS$5 = descriptors;
+ var isArray$e = isArray$o;
+
+ var $TypeError$2 = TypeError;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+
+ // Safari < 13 does not throw an error in this case
+ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS$5 && !function () {
+ // makes no sense without proper strict mode support
+ if (this !== undefined) return true;
+ try {
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ Object.defineProperty([], 'length', { writable: false }).length = 1;
+ } catch (error) {
+ return error instanceof TypeError;
+ }
+ }();
+
+ var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
+ if (isArray$e(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
+ throw new $TypeError$2('Cannot set read only .length');
+ } return O.length = length;
+ } : function (O, length) {
+ return O.length = length;
+ };
+
+ var $$l = _export;
+ var toObject$5 = toObject$b;
+ var lengthOfArrayLike$4 = lengthOfArrayLike$9;
+ var setArrayLength = arraySetLength;
+ var doesNotExceedSafeInteger = doesNotExceedSafeInteger$2;
+ var fails$8 = fails$r;
+
+ var INCORRECT_TO_LENGTH = fails$8(function () {
+ return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
+ });
+
+ // V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError
+ // https://bugs.chromium.org/p/v8/issues/detail?id=12681
+ var properErrorOnNonWritableLength = function () {
+ try {
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ Object.defineProperty([], 'length', { writable: false }).push();
+ } catch (error) {
+ return error instanceof TypeError;
+ }
+ };
+
+ var FORCED$4 = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();
+
+ // `Array.prototype.push` method
+ // https://tc39.es/ecma262/#sec-array.prototype.push
+ $$l({ target: 'Array', proto: true, arity: 1, forced: FORCED$4 }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ push: function push(item) {
+ var O = toObject$5(this);
+ var len = lengthOfArrayLike$4(O);
+ var argCount = arguments.length;
+ doesNotExceedSafeInteger(len + argCount);
+ for (var i = 0; i < argCount; i++) {
+ O[len] = arguments[i];
+ len++;
+ }
+ setArrayLength(O, len);
+ return len;
+ }
+ });
+
+ var global$1 = global$l;
+ var path$a = path$h;
+
+ var getBuiltInPrototypeMethod$e = function (CONSTRUCTOR, METHOD) {
+ var Namespace = path$a[CONSTRUCTOR + 'Prototype'];
+ var pureMethod = Namespace && Namespace[METHOD];
+ if (pureMethod) return pureMethod;
+ var NativeConstructor = global$1[CONSTRUCTOR];
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
+ return NativePrototype && NativePrototype[METHOD];
+ };
+
+ var getBuiltInPrototypeMethod$d = getBuiltInPrototypeMethod$e;
+
+ var push$6 = getBuiltInPrototypeMethod$d('Array', 'push');
+
+ var isPrototypeOf$c = objectIsPrototypeOf;
+ var method$b = push$6;
+
+ var ArrayPrototype$a = Array.prototype;
+
+ var push$5 = function (it) {
+ var own = it.push;
+ return it === ArrayPrototype$a || (isPrototypeOf$c(ArrayPrototype$a, it) && own === ArrayPrototype$a.push) ? method$b : own;
+ };
+
+ var parent$K = push$5;
+
+ var push$4 = parent$K;
+
+ var parent$J = push$4;
+
+ var push$3 = parent$J;
+
+ var parent$I = push$3;
+
+ var push$2 = parent$I;
+
+ var push$1 = push$2;
+
+ var _pushInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(push$1);
+
+ function _iterableToArrayLimit(r, l) {
+ var t = null == r ? null : "undefined" != typeof _Symbol$2 && _getIteratorMethod(r) || r["@@iterator"];
+ if (null != t) {
+ var e,
+ n,
+ i,
+ u,
+ a = [],
+ f = !0,
+ o = !1;
+ try {
+ if (i = (t = t.call(r)).next, 0 === l) {
+ if (Object(t) !== t) return;
+ f = !1;
+ } else for (; !(f = (e = i.call(t)).done) && (_pushInstanceProperty(a).call(a, e.value), a.length !== l); f = !0);
+ } catch (r) {
+ o = !0, n = r;
+ } finally {
+ try {
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
+ } finally {
+ if (o) throw n;
+ }
+ }
+ return a;
+ }
+ }
+
+ var $$k = _export;
+ var isArray$d = isArray$o;
+ var isConstructor$1 = isConstructor$4;
+ var isObject$6 = isObject$k;
+ var toAbsoluteIndex = toAbsoluteIndex$2;
+ var lengthOfArrayLike$3 = lengthOfArrayLike$9;
+ var toIndexedObject$3 = toIndexedObject$b;
+ var createProperty$2 = createProperty$4;
+ var wellKnownSymbol$2 = wellKnownSymbol$o;
+ var arrayMethodHasSpeciesSupport$2 = arrayMethodHasSpeciesSupport$4;
+ var nativeSlice = arraySlice$3;
+
+ var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport$2('slice');
+
+ var SPECIES = wellKnownSymbol$2('species');
+ var $Array$1 = Array;
+ var max = Math.max;
+
+ // `Array.prototype.slice` method
+ // https://tc39.es/ecma262/#sec-array.prototype.slice
+ // fallback for not array-like ES3 strings and DOM objects
+ $$k({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 }, {
+ slice: function slice(start, end) {
+ var O = toIndexedObject$3(this);
+ var length = lengthOfArrayLike$3(O);
+ var k = toAbsoluteIndex(start, length);
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
+ // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
+ var Constructor, result, n;
+ if (isArray$d(O)) {
+ Constructor = O.constructor;
+ // cross-realm fallback
+ if (isConstructor$1(Constructor) && (Constructor === $Array$1 || isArray$d(Constructor.prototype))) {
+ Constructor = undefined;
+ } else if (isObject$6(Constructor)) {
+ Constructor = Constructor[SPECIES];
+ if (Constructor === null) Constructor = undefined;
+ }
+ if (Constructor === $Array$1 || Constructor === undefined) {
+ return nativeSlice(O, k, fin);
+ }
+ }
+ result = new (Constructor === undefined ? $Array$1 : Constructor)(max(fin - k, 0));
+ for (n = 0; k < fin; k++, n++) if (k in O) createProperty$2(result, n, O[k]);
+ result.length = n;
+ return result;
+ }
+ });
+
+ var getBuiltInPrototypeMethod$c = getBuiltInPrototypeMethod$e;
+
+ var slice$7 = getBuiltInPrototypeMethod$c('Array', 'slice');
+
+ var isPrototypeOf$b = objectIsPrototypeOf;
+ var method$a = slice$7;
+
+ var ArrayPrototype$9 = Array.prototype;
+
+ var slice$6 = function (it) {
+ var own = it.slice;
+ return it === ArrayPrototype$9 || (isPrototypeOf$b(ArrayPrototype$9, it) && own === ArrayPrototype$9.slice) ? method$a : own;
+ };
+
+ var parent$H = slice$6;
+
+ var slice$5 = parent$H;
+
+ var parent$G = slice$5;
+
+ var slice$4 = parent$G;
+
+ var parent$F = slice$4;
+
+ var slice$3 = parent$F;
+
+ var slice$2 = slice$3;
+
+ var _sliceInstanceProperty$1 = /*@__PURE__*/getDefaultExportFromCjs(slice$2);
+
+ var anObject = anObject$b;
+ var iteratorClose = iteratorClose$2;
+
+ // call something on iterator step with safe closing on error
+ var callWithSafeIterationClosing$1 = function (iterator, fn, value, ENTRIES) {
+ try {
+ return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
+ } catch (error) {
+ iteratorClose(iterator, 'throw', error);
+ }
+ };
+
+ var bind = functionBindContext;
+ var call$2 = functionCall;
+ var toObject$4 = toObject$b;
+ var callWithSafeIterationClosing = callWithSafeIterationClosing$1;
+ var isArrayIteratorMethod = isArrayIteratorMethod$2;
+ var isConstructor = isConstructor$4;
+ var lengthOfArrayLike$2 = lengthOfArrayLike$9;
+ var createProperty$1 = createProperty$4;
+ var getIterator = getIterator$2;
+ var getIteratorMethod = getIteratorMethod$8;
+
+ var $Array = Array;
+
+ // `Array.from` method implementation
+ // https://tc39.es/ecma262/#sec-array.from
+ var arrayFrom = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
+ var O = toObject$4(arrayLike);
+ var IS_CONSTRUCTOR = isConstructor(this);
+ var argumentsLength = arguments.length;
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
+ var mapping = mapfn !== undefined;
+ if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
+ var iteratorMethod = getIteratorMethod(O);
+ var index = 0;
+ var length, result, step, iterator, next, value;
+ // if the target is not iterable or it's an array with the default iterator - use a simple case
+ if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
+ result = IS_CONSTRUCTOR ? new this() : [];
+ iterator = getIterator(O, iteratorMethod);
+ next = iterator.next;
+ for (;!(step = call$2(next, iterator)).done; index++) {
+ value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
+ createProperty$1(result, index, value);
+ }
+ } else {
+ length = lengthOfArrayLike$2(O);
+ result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
+ for (;length > index; index++) {
+ value = mapping ? mapfn(O[index], index) : O[index];
+ createProperty$1(result, index, value);
+ }
+ }
+ result.length = index;
+ return result;
+ };
+
+ var $$j = _export;
+ var from$6 = arrayFrom;
+ var checkCorrectnessOfIteration = checkCorrectnessOfIteration$2;
+
+ var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
+ // eslint-disable-next-line es/no-array-from -- required for testing
+ Array.from(iterable);
+ });
+
+ // `Array.from` method
+ // https://tc39.es/ecma262/#sec-array.from
+ $$j({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
+ from: from$6
+ });
+
+ var path$9 = path$h;
+
+ var from$5 = path$9.Array.from;
+
+ var parent$E = from$5;
+
+ var from$4 = parent$E;
+
+ var parent$D = from$4;
+
+ var from$3 = parent$D;
+
+ var parent$C = from$3;
+
+ var from$2 = parent$C;
+
+ var from$1 = from$2;
+
+ var _Array$from$1 = /*@__PURE__*/getDefaultExportFromCjs(from$1);
+
+ function _arrayLikeToArray$3(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+ return arr2;
+ }
+
+ function _unsupportedIterableToArray$3(o, minLen) {
+ var _context;
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray$3(o, minLen);
+ var n = _sliceInstanceProperty$1(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return _Array$from$1(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$3(o, minLen);
+ }
+
+ function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+
+ function _slicedToArray(arr, i) {
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$3(arr, i) || _nonIterableRest();
+ }
+
+ /**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(document.body.children);
+ * // => false
+ *
+ * _.isArray('abc');
+ * // => false
+ *
+ * _.isArray(_.noop);
+ * // => false
+ */
+
+ var isArray$c = Array.isArray;
+
+ var isArray_1 = isArray$c;
+
+ var _isArray = /*@__PURE__*/getDefaultExportFromCjs(isArray_1);
+
+ /**
+ * Removes all key-value entries from the list cache.
+ *
+ * @private
+ * @name clear
+ * @memberOf ListCache
+ */
+
+ function listCacheClear$1() {
+ this.__data__ = [];
+ this.size = 0;
+ }
+
+ var _listCacheClear = listCacheClear$1;
+
+ /**
+ * Performs a
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * comparison between two values to determine if they are equivalent.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ * var other = { 'a': 1 };
+ *
+ * _.eq(object, object);
+ * // => true
+ *
+ * _.eq(object, other);
+ * // => false
+ *
+ * _.eq('a', 'a');
+ * // => true
+ *
+ * _.eq('a', Object('a'));
+ * // => false
+ *
+ * _.eq(NaN, NaN);
+ * // => true
+ */
+
+ function eq$2(value, other) {
+ return value === other || (value !== value && other !== other);
+ }
+
+ var eq_1 = eq$2;
+
+ var eq$1 = eq_1;
+
+ /**
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} key The key to search for.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function assocIndexOf$4(array, key) {
+ var length = array.length;
+ while (length--) {
+ if (eq$1(array[length][0], key)) {
+ return length;
+ }
+ }
+ return -1;
+ }
+
+ var _assocIndexOf = assocIndexOf$4;
+
+ var assocIndexOf$3 = _assocIndexOf;
+
+ /** Used for built-in method references. */
+ var arrayProto = Array.prototype;
+
+ /** Built-in value references. */
+ var splice = arrayProto.splice;
+
+ /**
+ * Removes `key` and its value from the list cache.
+ *
+ * @private
+ * @name delete
+ * @memberOf ListCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function listCacheDelete$1(key) {
+ var data = this.__data__,
+ index = assocIndexOf$3(data, key);
+
+ if (index < 0) {
+ return false;
+ }
+ var lastIndex = data.length - 1;
+ if (index == lastIndex) {
+ data.pop();
+ } else {
+ splice.call(data, index, 1);
+ }
+ --this.size;
+ return true;
+ }
+
+ var _listCacheDelete = listCacheDelete$1;
+
+ var assocIndexOf$2 = _assocIndexOf;
+
+ /**
+ * Gets the list cache value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf ListCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function listCacheGet$1(key) {
+ var data = this.__data__,
+ index = assocIndexOf$2(data, key);
+
+ return index < 0 ? undefined : data[index][1];
+ }
+
+ var _listCacheGet = listCacheGet$1;
+
+ var assocIndexOf$1 = _assocIndexOf;
+
+ /**
+ * Checks if a list cache value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf ListCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function listCacheHas$1(key) {
+ return assocIndexOf$1(this.__data__, key) > -1;
+ }
+
+ var _listCacheHas = listCacheHas$1;
+
+ var assocIndexOf = _assocIndexOf;
+
+ /**
+ * Sets the list cache `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf ListCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the list cache instance.
+ */
+ function listCacheSet$1(key, value) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
+
+ if (index < 0) {
+ ++this.size;
+ data.push([key, value]);
+ } else {
+ data[index][1] = value;
+ }
+ return this;
+ }
+
+ var _listCacheSet = listCacheSet$1;
+
+ var listCacheClear = _listCacheClear,
+ listCacheDelete = _listCacheDelete,
+ listCacheGet = _listCacheGet,
+ listCacheHas = _listCacheHas,
+ listCacheSet = _listCacheSet;
+
+ /**
+ * Creates an list cache object.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function ListCache$4(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
+
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
+
+ // Add methods to `ListCache`.
+ ListCache$4.prototype.clear = listCacheClear;
+ ListCache$4.prototype['delete'] = listCacheDelete;
+ ListCache$4.prototype.get = listCacheGet;
+ ListCache$4.prototype.has = listCacheHas;
+ ListCache$4.prototype.set = listCacheSet;
+
+ var _ListCache = ListCache$4;
+
+ var ListCache$3 = _ListCache;
+
+ /**
+ * Removes all key-value entries from the stack.
+ *
+ * @private
+ * @name clear
+ * @memberOf Stack
+ */
+ function stackClear$1() {
+ this.__data__ = new ListCache$3;
+ this.size = 0;
+ }
+
+ var _stackClear = stackClear$1;
+
+ /**
+ * Removes `key` and its value from the stack.
+ *
+ * @private
+ * @name delete
+ * @memberOf Stack
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+
+ function stackDelete$1(key) {
+ var data = this.__data__,
+ result = data['delete'](key);
+
+ this.size = data.size;
+ return result;
+ }
+
+ var _stackDelete = stackDelete$1;
+
+ /**
+ * Gets the stack value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Stack
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+
+ function stackGet$1(key) {
+ return this.__data__.get(key);
+ }
+
+ var _stackGet = stackGet$1;
+
+ /**
+ * Checks if a stack value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Stack
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+
+ function stackHas$1(key) {
+ return this.__data__.has(key);
+ }
+
+ var _stackHas = stackHas$1;
+
+ /** Detect free variable `global` from Node.js. */
+
+ var freeGlobal$1 = typeof global == 'object' && global && global.Object === Object && global;
+
+ var _freeGlobal = freeGlobal$1;
+
+ var freeGlobal = _freeGlobal;
+
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+ /** Used as a reference to the global object. */
+ var root$8 = freeGlobal || freeSelf || Function('return this')();
+
+ var _root = root$8;
+
+ var root$7 = _root;
+
+ /** Built-in value references. */
+ var Symbol$6 = root$7.Symbol;
+
+ var _Symbol$1 = Symbol$6;
+
+ var Symbol$5 = _Symbol$1;
+
+ /** Used for built-in method references. */
+ var objectProto$c = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$9 = objectProto$c.hasOwnProperty;
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var nativeObjectToString$1 = objectProto$c.toString;
+
+ /** Built-in value references. */
+ var symToStringTag$1 = Symbol$5 ? Symbol$5.toStringTag : undefined;
+
+ /**
+ * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the raw `toStringTag`.
+ */
+ function getRawTag$1(value) {
+ var isOwn = hasOwnProperty$9.call(value, symToStringTag$1),
+ tag = value[symToStringTag$1];
+
+ try {
+ value[symToStringTag$1] = undefined;
+ var unmasked = true;
+ } catch (e) {}
+
+ var result = nativeObjectToString$1.call(value);
+ if (unmasked) {
+ if (isOwn) {
+ value[symToStringTag$1] = tag;
+ } else {
+ delete value[symToStringTag$1];
+ }
+ }
+ return result;
+ }
+
+ var _getRawTag = getRawTag$1;
+
+ /** Used for built-in method references. */
+
+ var objectProto$b = Object.prototype;
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var nativeObjectToString = objectProto$b.toString;
+
+ /**
+ * Converts `value` to a string using `Object.prototype.toString`.
+ *
+ * @private
+ * @param {*} value The value to convert.
+ * @returns {string} Returns the converted string.
+ */
+ function objectToString$1(value) {
+ return nativeObjectToString.call(value);
+ }
+
+ var _objectToString = objectToString$1;
+
+ var Symbol$4 = _Symbol$1,
+ getRawTag = _getRawTag,
+ objectToString = _objectToString;
+
+ /** `Object#toString` result references. */
+ var nullTag = '[object Null]',
+ undefinedTag = '[object Undefined]';
+
+ /** Built-in value references. */
+ var symToStringTag = Symbol$4 ? Symbol$4.toStringTag : undefined;
+
+ /**
+ * The base implementation of `getTag` without fallbacks for buggy environments.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ function baseGetTag$7(value) {
+ if (value == null) {
+ return value === undefined ? undefinedTag : nullTag;
+ }
+ return (symToStringTag && symToStringTag in Object(value))
+ ? getRawTag(value)
+ : objectToString(value);
+ }
+
+ var _baseGetTag = baseGetTag$7;
+
+ /**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+
+ function isObject$5(value) {
+ var type = typeof value;
+ return value != null && (type == 'object' || type == 'function');
+ }
+
+ var isObject_1 = isObject$5;
+
+ var _isObject = /*@__PURE__*/getDefaultExportFromCjs(isObject_1);
+
+ var baseGetTag$6 = _baseGetTag,
+ isObject$4 = isObject_1;
+
+ /** `Object#toString` result references. */
+ var asyncTag = '[object AsyncFunction]',
+ funcTag$1 = '[object Function]',
+ genTag = '[object GeneratorFunction]',
+ proxyTag = '[object Proxy]';
+
+ /**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */
+ function isFunction$2(value) {
+ if (!isObject$4(value)) {
+ return false;
+ }
+ // The use of `Object#toString` avoids issues with the `typeof` operator
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
+ var tag = baseGetTag$6(value);
+ return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
+ }
+
+ var isFunction_1 = isFunction$2;
+
+ var _isFunction = /*@__PURE__*/getDefaultExportFromCjs(isFunction_1);
+
+ var root$6 = _root;
+
+ /** Used to detect overreaching core-js shims. */
+ var coreJsData$1 = root$6['__core-js_shared__'];
+
+ var _coreJsData = coreJsData$1;
+
+ var coreJsData = _coreJsData;
+
+ /** Used to detect methods masquerading as native. */
+ var maskSrcKey = (function() {
+ var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
+ return uid ? ('Symbol(src)_1.' + uid) : '';
+ }());
+
+ /**
+ * Checks if `func` has its source masked.
+ *
+ * @private
+ * @param {Function} func The function to check.
+ * @returns {boolean} Returns `true` if `func` is masked, else `false`.
+ */
+ function isMasked$1(func) {
+ return !!maskSrcKey && (maskSrcKey in func);
+ }
+
+ var _isMasked = isMasked$1;
+
+ /** Used for built-in method references. */
+
+ var funcProto$1 = Function.prototype;
+
+ /** Used to resolve the decompiled source of functions. */
+ var funcToString$1 = funcProto$1.toString;
+
+ /**
+ * Converts `func` to its source code.
+ *
+ * @private
+ * @param {Function} func The function to convert.
+ * @returns {string} Returns the source code.
+ */
+ function toSource$2(func) {
+ if (func != null) {
+ try {
+ return funcToString$1.call(func);
+ } catch (e) {}
+ try {
+ return (func + '');
+ } catch (e) {}
+ }
+ return '';
+ }
+
+ var _toSource = toSource$2;
+
+ var isFunction$1 = isFunction_1,
+ isMasked = _isMasked,
+ isObject$3 = isObject_1,
+ toSource$1 = _toSource;
+
+ /**
+ * Used to match `RegExp`
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
+ */
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+
+ /** Used to detect host constructors (Safari). */
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
+
+ /** Used for built-in method references. */
+ var funcProto = Function.prototype,
+ objectProto$a = Object.prototype;
+
+ /** Used to resolve the decompiled source of functions. */
+ var funcToString = funcProto.toString;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
+
+ /** Used to detect if a method is native. */
+ var reIsNative = RegExp('^' +
+ funcToString.call(hasOwnProperty$8).replace(reRegExpChar, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+ );
+
+ /**
+ * The base implementation of `_.isNative` without bad shim checks.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function,
+ * else `false`.
+ */
+ function baseIsNative$1(value) {
+ if (!isObject$3(value) || isMasked(value)) {
+ return false;
+ }
+ var pattern = isFunction$1(value) ? reIsNative : reIsHostCtor;
+ return pattern.test(toSource$1(value));
+ }
+
+ var _baseIsNative = baseIsNative$1;
+
+ /**
+ * Gets the value at `key` of `object`.
+ *
+ * @private
+ * @param {Object} [object] The object to query.
+ * @param {string} key The key of the property to get.
+ * @returns {*} Returns the property value.
+ */
+
+ function getValue$1(object, key) {
+ return object == null ? undefined : object[key];
+ }
+
+ var _getValue = getValue$1;
+
+ var baseIsNative = _baseIsNative,
+ getValue = _getValue;
+
+ /**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */
+ function getNative$7(object, key) {
+ var value = getValue(object, key);
+ return baseIsNative(value) ? value : undefined;
+ }
+
+ var _getNative = getNative$7;
+
+ var getNative$6 = _getNative,
+ root$5 = _root;
+
+ /* Built-in method references that are verified to be native. */
+ var Map$3 = getNative$6(root$5, 'Map');
+
+ var _Map = Map$3;
+
+ var getNative$5 = _getNative;
+
+ /* Built-in method references that are verified to be native. */
+ var nativeCreate$4 = getNative$5(Object, 'create');
+
+ var _nativeCreate = nativeCreate$4;
+
+ var nativeCreate$3 = _nativeCreate;
+
+ /**
+ * Removes all key-value entries from the hash.
+ *
+ * @private
+ * @name clear
+ * @memberOf Hash
+ */
+ function hashClear$1() {
+ this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
+ this.size = 0;
+ }
+
+ var _hashClear = hashClear$1;
+
+ /**
+ * Removes `key` and its value from the hash.
+ *
+ * @private
+ * @name delete
+ * @memberOf Hash
+ * @param {Object} hash The hash to modify.
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+
+ function hashDelete$1(key) {
+ var result = this.has(key) && delete this.__data__[key];
+ this.size -= result ? 1 : 0;
+ return result;
+ }
+
+ var _hashDelete = hashDelete$1;
+
+ var nativeCreate$2 = _nativeCreate;
+
+ /** Used to stand-in for `undefined` hash values. */
+ var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
+
+ /** Used for built-in method references. */
+ var objectProto$9 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
+
+ /**
+ * Gets the hash value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Hash
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function hashGet$1(key) {
+ var data = this.__data__;
+ if (nativeCreate$2) {
+ var result = data[key];
+ return result === HASH_UNDEFINED$2 ? undefined : result;
+ }
+ return hasOwnProperty$7.call(data, key) ? data[key] : undefined;
+ }
+
+ var _hashGet = hashGet$1;
+
+ var nativeCreate$1 = _nativeCreate;
+
+ /** Used for built-in method references. */
+ var objectProto$8 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
+
+ /**
+ * Checks if a hash value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Hash
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function hashHas$1(key) {
+ var data = this.__data__;
+ return nativeCreate$1 ? (data[key] !== undefined) : hasOwnProperty$6.call(data, key);
+ }
+
+ var _hashHas = hashHas$1;
+
+ var nativeCreate = _nativeCreate;
+
+ /** Used to stand-in for `undefined` hash values. */
+ var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
+
+ /**
+ * Sets the hash `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Hash
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the hash instance.
+ */
+ function hashSet$1(key, value) {
+ var data = this.__data__;
+ this.size += this.has(key) ? 0 : 1;
+ data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED$1 : value;
+ return this;
+ }
+
+ var _hashSet = hashSet$1;
+
+ var hashClear = _hashClear,
+ hashDelete = _hashDelete,
+ hashGet = _hashGet,
+ hashHas = _hashHas,
+ hashSet = _hashSet;
+
+ /**
+ * Creates a hash object.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Hash$1(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
+
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
+
+ // Add methods to `Hash`.
+ Hash$1.prototype.clear = hashClear;
+ Hash$1.prototype['delete'] = hashDelete;
+ Hash$1.prototype.get = hashGet;
+ Hash$1.prototype.has = hashHas;
+ Hash$1.prototype.set = hashSet;
+
+ var _Hash = Hash$1;
+
+ var Hash = _Hash,
+ ListCache$2 = _ListCache,
+ Map$2 = _Map;
+
+ /**
+ * Removes all key-value entries from the map.
+ *
+ * @private
+ * @name clear
+ * @memberOf MapCache
+ */
+ function mapCacheClear$1() {
+ this.size = 0;
+ this.__data__ = {
+ 'hash': new Hash,
+ 'map': new (Map$2 || ListCache$2),
+ 'string': new Hash
+ };
+ }
+
+ var _mapCacheClear = mapCacheClear$1;
+
+ /**
+ * Checks if `value` is suitable for use as unique object key.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
+ */
+
+ function isKeyable$1(value) {
+ var type = typeof value;
+ return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
+ ? (value !== '__proto__')
+ : (value === null);
+ }
+
+ var _isKeyable = isKeyable$1;
+
+ var isKeyable = _isKeyable;
+
+ /**
+ * Gets the data for `map`.
+ *
+ * @private
+ * @param {Object} map The map to query.
+ * @param {string} key The reference key.
+ * @returns {*} Returns the map data.
+ */
+ function getMapData$4(map, key) {
+ var data = map.__data__;
+ return isKeyable(key)
+ ? data[typeof key == 'string' ? 'string' : 'hash']
+ : data.map;
+ }
+
+ var _getMapData = getMapData$4;
+
+ var getMapData$3 = _getMapData;
+
+ /**
+ * Removes `key` and its value from the map.
+ *
+ * @private
+ * @name delete
+ * @memberOf MapCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function mapCacheDelete$1(key) {
+ var result = getMapData$3(this, key)['delete'](key);
+ this.size -= result ? 1 : 0;
+ return result;
+ }
+
+ var _mapCacheDelete = mapCacheDelete$1;
+
+ var getMapData$2 = _getMapData;
+
+ /**
+ * Gets the map value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf MapCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function mapCacheGet$1(key) {
+ return getMapData$2(this, key).get(key);
+ }
+
+ var _mapCacheGet = mapCacheGet$1;
+
+ var getMapData$1 = _getMapData;
+
+ /**
+ * Checks if a map value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf MapCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function mapCacheHas$1(key) {
+ return getMapData$1(this, key).has(key);
+ }
+
+ var _mapCacheHas = mapCacheHas$1;
+
+ var getMapData = _getMapData;
+
+ /**
+ * Sets the map `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf MapCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the map cache instance.
+ */
+ function mapCacheSet$1(key, value) {
+ var data = getMapData(this, key),
+ size = data.size;
+
+ data.set(key, value);
+ this.size += data.size == size ? 0 : 1;
+ return this;
+ }
+
+ var _mapCacheSet = mapCacheSet$1;
+
+ var mapCacheClear = _mapCacheClear,
+ mapCacheDelete = _mapCacheDelete,
+ mapCacheGet = _mapCacheGet,
+ mapCacheHas = _mapCacheHas,
+ mapCacheSet = _mapCacheSet;
+
+ /**
+ * Creates a map cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function MapCache$3(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
+
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
+
+ // Add methods to `MapCache`.
+ MapCache$3.prototype.clear = mapCacheClear;
+ MapCache$3.prototype['delete'] = mapCacheDelete;
+ MapCache$3.prototype.get = mapCacheGet;
+ MapCache$3.prototype.has = mapCacheHas;
+ MapCache$3.prototype.set = mapCacheSet;
+
+ var _MapCache = MapCache$3;
+
+ var ListCache$1 = _ListCache,
+ Map$1 = _Map,
+ MapCache$2 = _MapCache;
+
+ /** Used as the size to enable large array optimizations. */
+ var LARGE_ARRAY_SIZE$1 = 200;
+
+ /**
+ * Sets the stack `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Stack
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the stack cache instance.
+ */
+ function stackSet$1(key, value) {
+ var data = this.__data__;
+ if (data instanceof ListCache$1) {
+ var pairs = data.__data__;
+ if (!Map$1 || (pairs.length < LARGE_ARRAY_SIZE$1 - 1)) {
+ pairs.push([key, value]);
+ this.size = ++data.size;
+ return this;
+ }
+ data = this.__data__ = new MapCache$2(pairs);
+ }
+ data.set(key, value);
+ this.size = data.size;
+ return this;
+ }
+
+ var _stackSet = stackSet$1;
+
+ var ListCache = _ListCache,
+ stackClear = _stackClear,
+ stackDelete = _stackDelete,
+ stackGet = _stackGet,
+ stackHas = _stackHas,
+ stackSet = _stackSet;
+
+ /**
+ * Creates a stack cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Stack$2(entries) {
+ var data = this.__data__ = new ListCache(entries);
+ this.size = data.size;
+ }
+
+ // Add methods to `Stack`.
+ Stack$2.prototype.clear = stackClear;
+ Stack$2.prototype['delete'] = stackDelete;
+ Stack$2.prototype.get = stackGet;
+ Stack$2.prototype.has = stackHas;
+ Stack$2.prototype.set = stackSet;
+
+ var _Stack = Stack$2;
+
+ /** Used to stand-in for `undefined` hash values. */
+
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
+
+ /**
+ * Adds `value` to the array cache.
+ *
+ * @private
+ * @name add
+ * @memberOf SetCache
+ * @alias push
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache instance.
+ */
+ function setCacheAdd$1(value) {
+ this.__data__.set(value, HASH_UNDEFINED);
+ return this;
+ }
+
+ var _setCacheAdd = setCacheAdd$1;
+
+ /**
+ * Checks if `value` is in the array cache.
+ *
+ * @private
+ * @name has
+ * @memberOf SetCache
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `true` if `value` is found, else `false`.
+ */
+
+ function setCacheHas$1(value) {
+ return this.__data__.has(value);
+ }
+
+ var _setCacheHas = setCacheHas$1;
+
+ var MapCache$1 = _MapCache,
+ setCacheAdd = _setCacheAdd,
+ setCacheHas = _setCacheHas;
+
+ /**
+ *
+ * Creates an array cache object to store unique values.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [values] The values to cache.
+ */
+ function SetCache$2(values) {
+ var index = -1,
+ length = values == null ? 0 : values.length;
+
+ this.__data__ = new MapCache$1;
+ while (++index < length) {
+ this.add(values[index]);
+ }
+ }
+
+ // Add methods to `SetCache`.
+ SetCache$2.prototype.add = SetCache$2.prototype.push = setCacheAdd;
+ SetCache$2.prototype.has = setCacheHas;
+
+ var _SetCache = SetCache$2;
+
+ /**
+ * A specialized version of `_.some` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */
+
+ function arraySome$1(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
+
+ while (++index < length) {
+ if (predicate(array[index], index, array)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ var _arraySome = arraySome$1;
+
+ /**
+ * Checks if a `cache` value for `key` exists.
+ *
+ * @private
+ * @param {Object} cache The cache to query.
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+
+ function cacheHas$2(cache, key) {
+ return cache.has(key);
+ }
+
+ var _cacheHas = cacheHas$2;
+
+ var SetCache$1 = _SetCache,
+ arraySome = _arraySome,
+ cacheHas$1 = _cacheHas;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG$5 = 1,
+ COMPARE_UNORDERED_FLAG$3 = 2;
+
+ /**
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Array} array The array to compare.
+ * @param {Array} other The other array to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
+ */
+ function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5,
+ arrLength = array.length,
+ othLength = other.length;
+
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
+ return false;
+ }
+ // Check that cyclic values are equal.
+ var arrStacked = stack.get(array);
+ var othStacked = stack.get(other);
+ if (arrStacked && othStacked) {
+ return arrStacked == other && othStacked == array;
+ }
+ var index = -1,
+ result = true,
+ seen = (bitmask & COMPARE_UNORDERED_FLAG$3) ? new SetCache$1 : undefined;
+
+ stack.set(array, other);
+ stack.set(other, array);
+
+ // Ignore non-index properties.
+ while (++index < arrLength) {
+ var arrValue = array[index],
+ othValue = other[index];
+
+ if (customizer) {
+ var compared = isPartial
+ ? customizer(othValue, arrValue, index, other, array, stack)
+ : customizer(arrValue, othValue, index, array, other, stack);
+ }
+ if (compared !== undefined) {
+ if (compared) {
+ continue;
+ }
+ result = false;
+ break;
+ }
+ // Recursively compare arrays (susceptible to call stack limits).
+ if (seen) {
+ if (!arraySome(other, function(othValue, othIndex) {
+ if (!cacheHas$1(seen, othIndex) &&
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
+ return seen.push(othIndex);
+ }
+ })) {
+ result = false;
+ break;
+ }
+ } else if (!(
+ arrValue === othValue ||
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
+ )) {
+ result = false;
+ break;
+ }
+ }
+ stack['delete'](array);
+ stack['delete'](other);
+ return result;
+ }
+
+ var _equalArrays = equalArrays$2;
+
+ var root$4 = _root;
+
+ /** Built-in value references. */
+ var Uint8Array$2 = root$4.Uint8Array;
+
+ var _Uint8Array = Uint8Array$2;
+
+ /**
+ * Converts `map` to its key-value pairs.
+ *
+ * @private
+ * @param {Object} map The map to convert.
+ * @returns {Array} Returns the key-value pairs.
+ */
+
+ function mapToArray$1(map) {
+ var index = -1,
+ result = Array(map.size);
+
+ map.forEach(function(value, key) {
+ result[++index] = [key, value];
+ });
+ return result;
+ }
+
+ var _mapToArray = mapToArray$1;
+
+ /**
+ * Converts `set` to an array of its values.
+ *
+ * @private
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the values.
+ */
+
+ function setToArray$1(set) {
+ var index = -1,
+ result = Array(set.size);
+
+ set.forEach(function(value) {
+ result[++index] = value;
+ });
+ return result;
+ }
+
+ var _setToArray = setToArray$1;
+
+ var Symbol$3 = _Symbol$1,
+ Uint8Array$1 = _Uint8Array,
+ eq = eq_1,
+ equalArrays$1 = _equalArrays,
+ mapToArray = _mapToArray,
+ setToArray = _setToArray;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG$4 = 1,
+ COMPARE_UNORDERED_FLAG$2 = 2;
+
+ /** `Object#toString` result references. */
+ var boolTag$2 = '[object Boolean]',
+ dateTag$1 = '[object Date]',
+ errorTag$1 = '[object Error]',
+ mapTag$3 = '[object Map]',
+ numberTag$1 = '[object Number]',
+ regexpTag$1 = '[object RegExp]',
+ setTag$3 = '[object Set]',
+ stringTag$2 = '[object String]',
+ symbolTag$1 = '[object Symbol]';
+
+ var arrayBufferTag$1 = '[object ArrayBuffer]',
+ dataViewTag$2 = '[object DataView]';
+
+ /** Used to convert symbols to primitives and strings. */
+ var symbolProto$1 = Symbol$3 ? Symbol$3.prototype : undefined,
+ symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined;
+
+ /**
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
+ * the same `toStringTag`.
+ *
+ * **Note:** This function only supports comparing values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {string} tag The `toStringTag` of the objects to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack) {
+ switch (tag) {
+ case dataViewTag$2:
+ if ((object.byteLength != other.byteLength) ||
+ (object.byteOffset != other.byteOffset)) {
+ return false;
+ }
+ object = object.buffer;
+ other = other.buffer;
+
+ case arrayBufferTag$1:
+ if ((object.byteLength != other.byteLength) ||
+ !equalFunc(new Uint8Array$1(object), new Uint8Array$1(other))) {
+ return false;
+ }
+ return true;
+
+ case boolTag$2:
+ case dateTag$1:
+ case numberTag$1:
+ // Coerce booleans to `1` or `0` and dates to milliseconds.
+ // Invalid dates are coerced to `NaN`.
+ return eq(+object, +other);
+
+ case errorTag$1:
+ return object.name == other.name && object.message == other.message;
+
+ case regexpTag$1:
+ case stringTag$2:
+ // Coerce regexes to strings and treat strings, primitives and objects,
+ // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
+ // for more details.
+ return object == (other + '');
+
+ case mapTag$3:
+ var convert = mapToArray;
+
+ case setTag$3:
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
+ convert || (convert = setToArray);
+
+ if (object.size != other.size && !isPartial) {
+ return false;
+ }
+ // Assume cyclic values are equal.
+ var stacked = stack.get(object);
+ if (stacked) {
+ return stacked == other;
+ }
+ bitmask |= COMPARE_UNORDERED_FLAG$2;
+
+ // Recursively compare objects (susceptible to call stack limits).
+ stack.set(object, other);
+ var result = equalArrays$1(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
+ stack['delete'](object);
+ return result;
+
+ case symbolTag$1:
+ if (symbolValueOf) {
+ return symbolValueOf.call(object) == symbolValueOf.call(other);
+ }
+ }
+ return false;
+ }
+
+ var _equalByTag = equalByTag$1;
+
+ /**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */
+
+ function arrayPush$2(array, values) {
+ var index = -1,
+ length = values.length,
+ offset = array.length;
+
+ while (++index < length) {
+ array[offset + index] = values[index];
+ }
+ return array;
+ }
+
+ var _arrayPush = arrayPush$2;
+
+ var arrayPush$1 = _arrayPush,
+ isArray$b = isArray_1;
+
+ /**
+ * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
+ * `keysFunc` and `symbolsFunc` to get the enumerable property names and
+ * symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @param {Function} symbolsFunc The function to get the symbols of `object`.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function baseGetAllKeys$1(object, keysFunc, symbolsFunc) {
+ var result = keysFunc(object);
+ return isArray$b(object) ? result : arrayPush$1(result, symbolsFunc(object));
+ }
+
+ var _baseGetAllKeys = baseGetAllKeys$1;
+
+ /**
+ * A specialized version of `_.filter` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */
+
+ function arrayFilter$1(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length,
+ resIndex = 0,
+ result = [];
+
+ while (++index < length) {
+ var value = array[index];
+ if (predicate(value, index, array)) {
+ result[resIndex++] = value;
+ }
+ }
+ return result;
+ }
+
+ var _arrayFilter = arrayFilter$1;
+
+ /**
+ * This method returns a new empty array.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.13.0
+ * @category Util
+ * @returns {Array} Returns the new empty array.
+ * @example
+ *
+ * var arrays = _.times(2, _.stubArray);
+ *
+ * console.log(arrays);
+ * // => [[], []]
+ *
+ * console.log(arrays[0] === arrays[1]);
+ * // => false
+ */
+
+ function stubArray$1() {
+ return [];
+ }
+
+ var stubArray_1 = stubArray$1;
+
+ var arrayFilter = _arrayFilter,
+ stubArray = stubArray_1;
+
+ /** Used for built-in method references. */
+ var objectProto$7 = Object.prototype;
+
+ /** Built-in value references. */
+ var propertyIsEnumerable$2 = objectProto$7.propertyIsEnumerable;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeGetSymbols = Object.getOwnPropertySymbols;
+
+ /**
+ * Creates an array of the own enumerable symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of symbols.
+ */
+ var getSymbols$1 = !nativeGetSymbols ? stubArray : function(object) {
+ if (object == null) {
+ return [];
+ }
+ object = Object(object);
+ return arrayFilter(nativeGetSymbols(object), function(symbol) {
+ return propertyIsEnumerable$2.call(object, symbol);
+ });
+ };
+
+ var _getSymbols = getSymbols$1;
+
+ /**
+ * The base implementation of `_.times` without support for iteratee shorthands
+ * or max array length checks.
+ *
+ * @private
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the array of results.
+ */
+
+ function baseTimes$1(n, iteratee) {
+ var index = -1,
+ result = Array(n);
+
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+ }
+
+ var _baseTimes = baseTimes$1;
+
+ /**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+
+ function isObjectLike$8(value) {
+ return value != null && typeof value == 'object';
+ }
+
+ var isObjectLike_1 = isObjectLike$8;
+
+ var baseGetTag$5 = _baseGetTag,
+ isObjectLike$7 = isObjectLike_1;
+
+ /** `Object#toString` result references. */
+ var argsTag$2 = '[object Arguments]';
+
+ /**
+ * The base implementation of `_.isArguments`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
+ */
+ function baseIsArguments$1(value) {
+ return isObjectLike$7(value) && baseGetTag$5(value) == argsTag$2;
+ }
+
+ var _baseIsArguments = baseIsArguments$1;
+
+ var baseIsArguments = _baseIsArguments,
+ isObjectLike$6 = isObjectLike_1;
+
+ /** Used for built-in method references. */
+ var objectProto$6 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
+
+ /** Built-in value references. */
+ var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
+
+ /**
+ * Checks if `value` is likely an `arguments` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
+ * else `false`.
+ * @example
+ *
+ * _.isArguments(function() { return arguments; }());
+ * // => true
+ *
+ * _.isArguments([1, 2, 3]);
+ * // => false
+ */
+ var isArguments$4 = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
+ return isObjectLike$6(value) && hasOwnProperty$5.call(value, 'callee') &&
+ !propertyIsEnumerable$1.call(value, 'callee');
+ };
+
+ var isArguments_1 = isArguments$4;
+
+ var isBuffer$3 = {exports: {}};
+
+ /**
+ * This method returns `false`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.13.0
+ * @category Util
+ * @returns {boolean} Returns `false`.
+ * @example
+ *
+ * _.times(2, _.stubFalse);
+ * // => [false, false]
+ */
+
+ function stubFalse() {
+ return false;
+ }
+
+ var stubFalse_1 = stubFalse;
+
+ isBuffer$3.exports;
+
+ (function (module, exports) {
+ var root = _root,
+ stubFalse = stubFalse_1;
+
+ /** Detect free variable `exports`. */
+ var freeExports = exports && !exports.nodeType && exports;
+
+ /** Detect free variable `module`. */
+ var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
+
+ /** Detect the popular CommonJS extension `module.exports`. */
+ var moduleExports = freeModule && freeModule.exports === freeExports;
+
+ /** Built-in value references. */
+ var Buffer = moduleExports ? root.Buffer : undefined;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
+
+ /**
+ * Checks if `value` is a buffer.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.3.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
+ * @example
+ *
+ * _.isBuffer(new Buffer(2));
+ * // => true
+ *
+ * _.isBuffer(new Uint8Array(2));
+ * // => false
+ */
+ var isBuffer = nativeIsBuffer || stubFalse;
+
+ module.exports = isBuffer;
+ } (isBuffer$3, isBuffer$3.exports));
+
+ var isBufferExports = isBuffer$3.exports;
+
+ /** Used as references for various `Number` constants. */
+
+ var MAX_SAFE_INTEGER$1 = 9007199254740991;
+
+ /** Used to detect unsigned integer values. */
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
+
+ /**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */
+ function isIndex$2(value, length) {
+ var type = typeof value;
+ length = length == null ? MAX_SAFE_INTEGER$1 : length;
+
+ return !!length &&
+ (type == 'number' ||
+ (type != 'symbol' && reIsUint.test(value))) &&
+ (value > -1 && value % 1 == 0 && value < length);
+ }
+
+ var _isIndex = isIndex$2;
+
+ /** Used as references for various `Number` constants. */
+
+ var MAX_SAFE_INTEGER = 9007199254740991;
+
+ /**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This method is loosely based on
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ * @example
+ *
+ * _.isLength(3);
+ * // => true
+ *
+ * _.isLength(Number.MIN_VALUE);
+ * // => false
+ *
+ * _.isLength(Infinity);
+ * // => false
+ *
+ * _.isLength('3');
+ * // => false
+ */
+ function isLength$3(value) {
+ return typeof value == 'number' &&
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+ }
+
+ var isLength_1 = isLength$3;
+
+ var baseGetTag$4 = _baseGetTag,
+ isLength$2 = isLength_1,
+ isObjectLike$5 = isObjectLike_1;
+
+ /** `Object#toString` result references. */
+ var argsTag$1 = '[object Arguments]',
+ arrayTag$1 = '[object Array]',
+ boolTag$1 = '[object Boolean]',
+ dateTag = '[object Date]',
+ errorTag = '[object Error]',
+ funcTag = '[object Function]',
+ mapTag$2 = '[object Map]',
+ numberTag = '[object Number]',
+ objectTag$2 = '[object Object]',
+ regexpTag = '[object RegExp]',
+ setTag$2 = '[object Set]',
+ stringTag$1 = '[object String]',
+ weakMapTag$1 = '[object WeakMap]';
+
+ var arrayBufferTag = '[object ArrayBuffer]',
+ dataViewTag$1 = '[object DataView]',
+ float32Tag = '[object Float32Array]',
+ float64Tag = '[object Float64Array]',
+ int8Tag = '[object Int8Array]',
+ int16Tag = '[object Int16Array]',
+ int32Tag = '[object Int32Array]',
+ uint8Tag = '[object Uint8Array]',
+ uint8ClampedTag = '[object Uint8ClampedArray]',
+ uint16Tag = '[object Uint16Array]',
+ uint32Tag = '[object Uint32Array]';
+
+ /** Used to identify `toStringTag` values of typed arrays. */
+ var typedArrayTags = {};
+ typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
+ typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
+ typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
+ typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
+ typedArrayTags[uint32Tag] = true;
+ typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] =
+ typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag$1] =
+ typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] =
+ typedArrayTags[errorTag] = typedArrayTags[funcTag] =
+ typedArrayTags[mapTag$2] = typedArrayTags[numberTag] =
+ typedArrayTags[objectTag$2] = typedArrayTags[regexpTag] =
+ typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] =
+ typedArrayTags[weakMapTag$1] = false;
+
+ /**
+ * The base implementation of `_.isTypedArray` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
+ */
+ function baseIsTypedArray$1(value) {
+ return isObjectLike$5(value) &&
+ isLength$2(value.length) && !!typedArrayTags[baseGetTag$4(value)];
+ }
+
+ var _baseIsTypedArray = baseIsTypedArray$1;
+
+ /**
+ * The base implementation of `_.unary` without support for storing metadata.
+ *
+ * @private
+ * @param {Function} func The function to cap arguments for.
+ * @returns {Function} Returns the new capped function.
+ */
+
+ function baseUnary$2(func) {
+ return function(value) {
+ return func(value);
+ };
+ }
+
+ var _baseUnary = baseUnary$2;
+
+ var _nodeUtil = {exports: {}};
+
+ _nodeUtil.exports;
+
+ (function (module, exports) {
+ var freeGlobal = _freeGlobal;
+
+ /** Detect free variable `exports`. */
+ var freeExports = exports && !exports.nodeType && exports;
+
+ /** Detect free variable `module`. */
+ var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
+
+ /** Detect the popular CommonJS extension `module.exports`. */
+ var moduleExports = freeModule && freeModule.exports === freeExports;
+
+ /** Detect free variable `process` from Node.js. */
+ var freeProcess = moduleExports && freeGlobal.process;
+
+ /** Used to access faster Node.js helpers. */
+ var nodeUtil = (function() {
+ try {
+ // Use `util.types` for Node.js 10+.
+ var types = freeModule && freeModule.require && freeModule.require('util').types;
+
+ if (types) {
+ return types;
+ }
+
+ // Legacy `process.binding('util')` for Node.js < 10.
+ return freeProcess && freeProcess.binding && freeProcess.binding('util');
+ } catch (e) {}
+ }());
+
+ module.exports = nodeUtil;
+ } (_nodeUtil, _nodeUtil.exports));
+
+ var _nodeUtilExports = _nodeUtil.exports;
+
+ var baseIsTypedArray = _baseIsTypedArray,
+ baseUnary$1 = _baseUnary,
+ nodeUtil = _nodeUtilExports;
+
+ /* Node.js helper references. */
+ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+
+ /**
+ * Checks if `value` is classified as a typed array.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
+ * @example
+ *
+ * _.isTypedArray(new Uint8Array);
+ * // => true
+ *
+ * _.isTypedArray([]);
+ * // => false
+ */
+ var isTypedArray$3 = nodeIsTypedArray ? baseUnary$1(nodeIsTypedArray) : baseIsTypedArray;
+
+ var isTypedArray_1 = isTypedArray$3;
+
+ var baseTimes = _baseTimes,
+ isArguments$3 = isArguments_1,
+ isArray$a = isArray_1,
+ isBuffer$2 = isBufferExports,
+ isIndex$1 = _isIndex,
+ isTypedArray$2 = isTypedArray_1;
+
+ /** Used for built-in method references. */
+ var objectProto$5 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
+
+ /**
+ * Creates an array of the enumerable property names of the array-like `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @param {boolean} inherited Specify returning inherited property names.
+ * @returns {Array} Returns the array of property names.
+ */
+ function arrayLikeKeys$1(value, inherited) {
+ var isArr = isArray$a(value),
+ isArg = !isArr && isArguments$3(value),
+ isBuff = !isArr && !isArg && isBuffer$2(value),
+ isType = !isArr && !isArg && !isBuff && isTypedArray$2(value),
+ skipIndexes = isArr || isArg || isBuff || isType,
+ result = skipIndexes ? baseTimes(value.length, String) : [],
+ length = result.length;
+
+ for (var key in value) {
+ if ((inherited || hasOwnProperty$4.call(value, key)) &&
+ !(skipIndexes && (
+ // Safari 9 has enumerable `arguments.length` in strict mode.
+ key == 'length' ||
+ // Node.js 0.10 has enumerable non-index properties on buffers.
+ (isBuff && (key == 'offset' || key == 'parent')) ||
+ // PhantomJS 2 has enumerable non-index properties on typed arrays.
+ (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
+ // Skip index properties.
+ isIndex$1(key, length)
+ ))) {
+ result.push(key);
+ }
+ }
+ return result;
+ }
+
+ var _arrayLikeKeys = arrayLikeKeys$1;
+
+ /** Used for built-in method references. */
+
+ var objectProto$4 = Object.prototype;
+
+ /**
+ * Checks if `value` is likely a prototype object.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
+ */
+ function isPrototype$2(value) {
+ var Ctor = value && value.constructor,
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$4;
+
+ return value === proto;
+ }
+
+ var _isPrototype = isPrototype$2;
+
+ /**
+ * Creates a unary function that invokes `func` with its argument transformed.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {Function} transform The argument transform.
+ * @returns {Function} Returns the new function.
+ */
+
+ function overArg$1(func, transform) {
+ return function(arg) {
+ return func(transform(arg));
+ };
+ }
+
+ var _overArg = overArg$1;
+
+ var overArg = _overArg;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeKeys$1 = overArg(Object.keys, Object);
+
+ var _nativeKeys = nativeKeys$1;
+
+ var isPrototype$1 = _isPrototype,
+ nativeKeys = _nativeKeys;
+
+ /** Used for built-in method references. */
+ var objectProto$3 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
+
+ /**
+ * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+ function baseKeys$2(object) {
+ if (!isPrototype$1(object)) {
+ return nativeKeys(object);
+ }
+ var result = [];
+ for (var key in Object(object)) {
+ if (hasOwnProperty$3.call(object, key) && key != 'constructor') {
+ result.push(key);
+ }
+ }
+ return result;
+ }
+
+ var _baseKeys = baseKeys$2;
+
+ var isFunction = isFunction_1,
+ isLength$1 = isLength_1;
+
+ /**
+ * Checks if `value` is array-like. A value is considered array-like if it's
+ * not a function and has a `value.length` that's an integer greater than or
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ * @example
+ *
+ * _.isArrayLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isArrayLike(document.body.children);
+ * // => true
+ *
+ * _.isArrayLike('abc');
+ * // => true
+ *
+ * _.isArrayLike(_.noop);
+ * // => false
+ */
+ function isArrayLike$4(value) {
+ return value != null && isLength$1(value.length) && !isFunction(value);
+ }
+
+ var isArrayLike_1 = isArrayLike$4;
+
+ var arrayLikeKeys = _arrayLikeKeys,
+ baseKeys$1 = _baseKeys,
+ isArrayLike$3 = isArrayLike_1;
+
+ /**
+ * Creates an array of the own enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects. See the
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
+ * for more details.
+ *
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keys(new Foo);
+ * // => ['a', 'b'] (iteration order is not guaranteed)
+ *
+ * _.keys('hi');
+ * // => ['0', '1']
+ */
+ function keys$3(object) {
+ return isArrayLike$3(object) ? arrayLikeKeys(object) : baseKeys$1(object);
+ }
+
+ var keys_1 = keys$3;
+
+ var baseGetAllKeys = _baseGetAllKeys,
+ getSymbols = _getSymbols,
+ keys$2 = keys_1;
+
+ /**
+ * Creates an array of own enumerable property names and symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function getAllKeys$1(object) {
+ return baseGetAllKeys(object, keys$2, getSymbols);
+ }
+
+ var _getAllKeys = getAllKeys$1;
+
+ var getAllKeys = _getAllKeys;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG$3 = 1;
+
+ /** Used for built-in method references. */
+ var objectProto$2 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
+
+ /**
+ * A specialized version of `baseIsEqualDeep` for objects with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3,
+ objProps = getAllKeys(object),
+ objLength = objProps.length,
+ othProps = getAllKeys(other),
+ othLength = othProps.length;
+
+ if (objLength != othLength && !isPartial) {
+ return false;
+ }
+ var index = objLength;
+ while (index--) {
+ var key = objProps[index];
+ if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
+ return false;
+ }
+ }
+ // Check that cyclic values are equal.
+ var objStacked = stack.get(object);
+ var othStacked = stack.get(other);
+ if (objStacked && othStacked) {
+ return objStacked == other && othStacked == object;
+ }
+ var result = true;
+ stack.set(object, other);
+ stack.set(other, object);
+
+ var skipCtor = isPartial;
+ while (++index < objLength) {
+ key = objProps[index];
+ var objValue = object[key],
+ othValue = other[key];
+
+ if (customizer) {
+ var compared = isPartial
+ ? customizer(othValue, objValue, key, other, object, stack)
+ : customizer(objValue, othValue, key, object, other, stack);
+ }
+ // Recursively compare objects (susceptible to call stack limits).
+ if (!(compared === undefined
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
+ : compared
+ )) {
+ result = false;
+ break;
+ }
+ skipCtor || (skipCtor = key == 'constructor');
+ }
+ if (result && !skipCtor) {
+ var objCtor = object.constructor,
+ othCtor = other.constructor;
+
+ // Non `Object` object instances with different constructors are not equal.
+ if (objCtor != othCtor &&
+ ('constructor' in object && 'constructor' in other) &&
+ !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
+ typeof othCtor == 'function' && othCtor instanceof othCtor)) {
+ result = false;
+ }
+ }
+ stack['delete'](object);
+ stack['delete'](other);
+ return result;
+ }
+
+ var _equalObjects = equalObjects$1;
+
+ var getNative$4 = _getNative,
+ root$3 = _root;
+
+ /* Built-in method references that are verified to be native. */
+ var DataView$1 = getNative$4(root$3, 'DataView');
+
+ var _DataView = DataView$1;
+
+ var getNative$3 = _getNative,
+ root$2 = _root;
+
+ /* Built-in method references that are verified to be native. */
+ var Promise$2 = getNative$3(root$2, 'Promise');
+
+ var _Promise$1 = Promise$2;
+
+ var getNative$2 = _getNative,
+ root$1 = _root;
+
+ /* Built-in method references that are verified to be native. */
+ var Set$1 = getNative$2(root$1, 'Set');
+
+ var _Set = Set$1;
+
+ var getNative$1 = _getNative,
+ root = _root;
+
+ /* Built-in method references that are verified to be native. */
+ var WeakMap$1 = getNative$1(root, 'WeakMap');
+
+ var _WeakMap = WeakMap$1;
+
+ var DataView = _DataView,
+ Map = _Map,
+ Promise$1 = _Promise$1,
+ Set = _Set,
+ WeakMap = _WeakMap,
+ baseGetTag$3 = _baseGetTag,
+ toSource = _toSource;
+
+ /** `Object#toString` result references. */
+ var mapTag$1 = '[object Map]',
+ objectTag$1 = '[object Object]',
+ promiseTag = '[object Promise]',
+ setTag$1 = '[object Set]',
+ weakMapTag = '[object WeakMap]';
+
+ var dataViewTag = '[object DataView]';
+
+ /** Used to detect maps, sets, and weakmaps. */
+ var dataViewCtorString = toSource(DataView),
+ mapCtorString = toSource(Map),
+ promiseCtorString = toSource(Promise$1),
+ setCtorString = toSource(Set),
+ weakMapCtorString = toSource(WeakMap);
+
+ /**
+ * Gets the `toStringTag` of `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ var getTag$2 = baseGetTag$3;
+
+ // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
+ if ((DataView && getTag$2(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
+ (Map && getTag$2(new Map) != mapTag$1) ||
+ (Promise$1 && getTag$2(Promise$1.resolve()) != promiseTag) ||
+ (Set && getTag$2(new Set) != setTag$1) ||
+ (WeakMap && getTag$2(new WeakMap) != weakMapTag)) {
+ getTag$2 = function(value) {
+ var result = baseGetTag$3(value),
+ Ctor = result == objectTag$1 ? value.constructor : undefined,
+ ctorString = Ctor ? toSource(Ctor) : '';
+
+ if (ctorString) {
+ switch (ctorString) {
+ case dataViewCtorString: return dataViewTag;
+ case mapCtorString: return mapTag$1;
+ case promiseCtorString: return promiseTag;
+ case setCtorString: return setTag$1;
+ case weakMapCtorString: return weakMapTag;
+ }
+ }
+ return result;
+ };
+ }
+
+ var _getTag = getTag$2;
+
+ var Stack$1 = _Stack,
+ equalArrays = _equalArrays,
+ equalByTag = _equalByTag,
+ equalObjects = _equalObjects,
+ getTag$1 = _getTag,
+ isArray$9 = isArray_1,
+ isBuffer$1 = isBufferExports,
+ isTypedArray$1 = isTypedArray_1;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG$2 = 1;
+
+ /** `Object#toString` result references. */
+ var argsTag = '[object Arguments]',
+ arrayTag = '[object Array]',
+ objectTag = '[object Object]';
+
+ /** Used for built-in method references. */
+ var objectProto$1 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
+
+ /**
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
+ * deep comparisons and tracks traversed objects enabling objects with circular
+ * references to be compared.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack) {
+ var objIsArr = isArray$9(object),
+ othIsArr = isArray$9(other),
+ objTag = objIsArr ? arrayTag : getTag$1(object),
+ othTag = othIsArr ? arrayTag : getTag$1(other);
+
+ objTag = objTag == argsTag ? objectTag : objTag;
+ othTag = othTag == argsTag ? objectTag : othTag;
+
+ var objIsObj = objTag == objectTag,
+ othIsObj = othTag == objectTag,
+ isSameTag = objTag == othTag;
+
+ if (isSameTag && isBuffer$1(object)) {
+ if (!isBuffer$1(other)) {
+ return false;
+ }
+ objIsArr = true;
+ objIsObj = false;
+ }
+ if (isSameTag && !objIsObj) {
+ stack || (stack = new Stack$1);
+ return (objIsArr || isTypedArray$1(object))
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
+ }
+ if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
+ var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, '__wrapped__'),
+ othIsWrapped = othIsObj && hasOwnProperty$1.call(other, '__wrapped__');
+
+ if (objIsWrapped || othIsWrapped) {
+ var objUnwrapped = objIsWrapped ? object.value() : object,
+ othUnwrapped = othIsWrapped ? other.value() : other;
+
+ stack || (stack = new Stack$1);
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
+ }
+ }
+ if (!isSameTag) {
+ return false;
+ }
+ stack || (stack = new Stack$1);
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
+ }
+
+ var _baseIsEqualDeep = baseIsEqualDeep$1;
+
+ var baseIsEqualDeep = _baseIsEqualDeep,
+ isObjectLike$4 = isObjectLike_1;
+
+ /**
+ * The base implementation of `_.isEqual` which supports partial comparisons
+ * and tracks traversed objects.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ */
+ function baseIsEqual$2(value, other, bitmask, customizer, stack) {
+ if (value === other) {
+ return true;
+ }
+ if (value == null || other == null || (!isObjectLike$4(value) && !isObjectLike$4(other))) {
+ return value !== value && other !== other;
+ }
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual$2, stack);
+ }
+
+ var _baseIsEqual = baseIsEqual$2;
+
+ var Stack = _Stack,
+ baseIsEqual$1 = _baseIsEqual;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG$1 = 1,
+ COMPARE_UNORDERED_FLAG$1 = 2;
+
+ /**
+ * The base implementation of `_.isMatch` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Object} source The object of property values to match.
+ * @param {Array} matchData The property names, values, and compare flags to match.
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ */
+ function baseIsMatch$1(object, source, matchData, customizer) {
+ var index = matchData.length,
+ length = index,
+ noCustomizer = !customizer;
+
+ if (object == null) {
+ return !length;
+ }
+ object = Object(object);
+ while (index--) {
+ var data = matchData[index];
+ if ((noCustomizer && data[2])
+ ? data[1] !== object[data[0]]
+ : !(data[0] in object)
+ ) {
+ return false;
+ }
+ }
+ while (++index < length) {
+ data = matchData[index];
+ var key = data[0],
+ objValue = object[key],
+ srcValue = data[1];
+
+ if (noCustomizer && data[2]) {
+ if (objValue === undefined && !(key in object)) {
+ return false;
+ }
+ } else {
+ var stack = new Stack;
+ if (customizer) {
+ var result = customizer(objValue, srcValue, key, object, source, stack);
+ }
+ if (!(result === undefined
+ ? baseIsEqual$1(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack)
+ : result
+ )) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ var _baseIsMatch = baseIsMatch$1;
+
+ var isObject$2 = isObject_1;
+
+ /**
+ * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` if suitable for strict
+ * equality comparisons, else `false`.
+ */
+ function isStrictComparable$2(value) {
+ return value === value && !isObject$2(value);
+ }
+
+ var _isStrictComparable = isStrictComparable$2;
+
+ var isStrictComparable$1 = _isStrictComparable,
+ keys$1 = keys_1;
+
+ /**
+ * Gets the property names, values, and compare flags of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the match data of `object`.
+ */
+ function getMatchData$1(object) {
+ var result = keys$1(object),
+ length = result.length;
+
+ while (length--) {
+ var key = result[length],
+ value = object[key];
+
+ result[length] = [key, value, isStrictComparable$1(value)];
+ }
+ return result;
+ }
+
+ var _getMatchData = getMatchData$1;
+
+ /**
+ * A specialized version of `matchesProperty` for source values suitable
+ * for strict equality comparisons, i.e. `===`.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new spec function.
+ */
+
+ function matchesStrictComparable$2(key, srcValue) {
+ return function(object) {
+ if (object == null) {
+ return false;
+ }
+ return object[key] === srcValue &&
+ (srcValue !== undefined || (key in Object(object)));
+ };
+ }
+
+ var _matchesStrictComparable = matchesStrictComparable$2;
+
+ var baseIsMatch = _baseIsMatch,
+ getMatchData = _getMatchData,
+ matchesStrictComparable$1 = _matchesStrictComparable;
+
+ /**
+ * The base implementation of `_.matches` which doesn't clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new spec function.
+ */
+ function baseMatches$1(source) {
+ var matchData = getMatchData(source);
+ if (matchData.length == 1 && matchData[0][2]) {
+ return matchesStrictComparable$1(matchData[0][0], matchData[0][1]);
+ }
+ return function(object) {
+ return object === source || baseIsMatch(object, source, matchData);
+ };
+ }
+
+ var _baseMatches = baseMatches$1;
+
+ var baseGetTag$2 = _baseGetTag,
+ isObjectLike$3 = isObjectLike_1;
+
+ /** `Object#toString` result references. */
+ var symbolTag = '[object Symbol]';
+
+ /**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+ function isSymbol$4(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike$3(value) && baseGetTag$2(value) == symbolTag);
+ }
+
+ var isSymbol_1 = isSymbol$4;
+
+ var isArray$8 = isArray_1,
+ isSymbol$3 = isSymbol_1;
+
+ /** Used to match property names within property paths. */
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
+ reIsPlainProp = /^\w*$/;
+
+ /**
+ * Checks if `value` is a property name and not a property path.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {Object} [object] The object to query keys on.
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
+ */
+ function isKey$3(value, object) {
+ if (isArray$8(value)) {
+ return false;
+ }
+ var type = typeof value;
+ if (type == 'number' || type == 'symbol' || type == 'boolean' ||
+ value == null || isSymbol$3(value)) {
+ return true;
+ }
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
+ (object != null && value in Object(object));
+ }
+
+ var _isKey = isKey$3;
+
+ var MapCache = _MapCache;
+
+ /** Error message constants. */
+ var FUNC_ERROR_TEXT = 'Expected a function';
+
+ /**
+ * Creates a function that memoizes the result of `func`. If `resolver` is
+ * provided, it determines the cache key for storing the result based on the
+ * arguments provided to the memoized function. By default, the first argument
+ * provided to the memoized function is used as the map cache key. The `func`
+ * is invoked with the `this` binding of the memoized function.
+ *
+ * **Note:** The cache is exposed as the `cache` property on the memoized
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
+ * constructor with one whose instances implement the
+ * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
+ * method interface of `clear`, `delete`, `get`, `has`, and `set`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to have its output memoized.
+ * @param {Function} [resolver] The function to resolve the cache key.
+ * @returns {Function} Returns the new memoized function.
+ * @example
+ *
+ * var object = { 'a': 1, 'b': 2 };
+ * var other = { 'c': 3, 'd': 4 };
+ *
+ * var values = _.memoize(_.values);
+ * values(object);
+ * // => [1, 2]
+ *
+ * values(other);
+ * // => [3, 4]
+ *
+ * object.a = 2;
+ * values(object);
+ * // => [1, 2]
+ *
+ * // Modify the result cache.
+ * values.cache.set(object, ['a', 'b']);
+ * values(object);
+ * // => ['a', 'b']
+ *
+ * // Replace `_.memoize.Cache`.
+ * _.memoize.Cache = WeakMap;
+ */
+ function memoize$1(func, resolver) {
+ if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ var memoized = function() {
+ var args = arguments,
+ key = resolver ? resolver.apply(this, args) : args[0],
+ cache = memoized.cache;
+
+ if (cache.has(key)) {
+ return cache.get(key);
+ }
+ var result = func.apply(this, args);
+ memoized.cache = cache.set(key, result) || cache;
+ return result;
+ };
+ memoized.cache = new (memoize$1.Cache || MapCache);
+ return memoized;
+ }
+
+ // Expose `MapCache`.
+ memoize$1.Cache = MapCache;
+
+ var memoize_1 = memoize$1;
+
+ var memoize = memoize_1;
+
+ /** Used as the maximum memoize cache size. */
+ var MAX_MEMOIZE_SIZE = 500;
+
+ /**
+ * A specialized version of `_.memoize` which clears the memoized function's
+ * cache when it exceeds `MAX_MEMOIZE_SIZE`.
+ *
+ * @private
+ * @param {Function} func The function to have its output memoized.
+ * @returns {Function} Returns the new memoized function.
+ */
+ function memoizeCapped$1(func) {
+ var result = memoize(func, function(key) {
+ if (cache.size === MAX_MEMOIZE_SIZE) {
+ cache.clear();
+ }
+ return key;
+ });
+
+ var cache = result.cache;
+ return result;
+ }
+
+ var _memoizeCapped = memoizeCapped$1;
+
+ var memoizeCapped = _memoizeCapped;
+
+ /** Used to match property names within property paths. */
+ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
+
+ /** Used to match backslashes in property paths. */
+ var reEscapeChar = /\\(\\)?/g;
+
+ /**
+ * Converts `string` to a property path array.
+ *
+ * @private
+ * @param {string} string The string to convert.
+ * @returns {Array} Returns the property path array.
+ */
+ var stringToPath$1 = memoizeCapped(function(string) {
+ var result = [];
+ if (string.charCodeAt(0) === 46 /* . */) {
+ result.push('');
+ }
+ string.replace(rePropName, function(match, number, quote, subString) {
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
+ });
+ return result;
+ });
+
+ var _stringToPath = stringToPath$1;
+
+ /**
+ * A specialized version of `_.map` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */
+
+ function arrayMap$2(array, iteratee) {
+ var index = -1,
+ length = array == null ? 0 : array.length,
+ result = Array(length);
+
+ while (++index < length) {
+ result[index] = iteratee(array[index], index, array);
+ }
+ return result;
+ }
+
+ var _arrayMap = arrayMap$2;
+
+ var Symbol$2 = _Symbol$1,
+ arrayMap$1 = _arrayMap,
+ isArray$7 = isArray_1,
+ isSymbol$2 = isSymbol_1;
+
+ /** Used as references for various `Number` constants. */
+ var INFINITY$2 = 1 / 0;
+
+ /** Used to convert symbols to primitives and strings. */
+ var symbolProto = Symbol$2 ? Symbol$2.prototype : undefined,
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
+
+ /**
+ * The base implementation of `_.toString` which doesn't convert nullish
+ * values to empty strings.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ */
+ function baseToString$1(value) {
+ // Exit early for strings to avoid a performance hit in some environments.
+ if (typeof value == 'string') {
+ return value;
+ }
+ if (isArray$7(value)) {
+ // Recursively convert values (susceptible to call stack limits).
+ return arrayMap$1(value, baseToString$1) + '';
+ }
+ if (isSymbol$2(value)) {
+ return symbolToString ? symbolToString.call(value) : '';
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY$2) ? '-0' : result;
+ }
+
+ var _baseToString = baseToString$1;
+
+ var baseToString = _baseToString;
+
+ /**
+ * Converts `value` to a string. An empty string is returned for `null`
+ * and `undefined` values. The sign of `-0` is preserved.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {string} Returns the converted string.
+ * @example
+ *
+ * _.toString(null);
+ * // => ''
+ *
+ * _.toString(-0);
+ * // => '-0'
+ *
+ * _.toString([1, 2, 3]);
+ * // => '1,2,3'
+ */
+ function toString$6(value) {
+ return value == null ? '' : baseToString(value);
+ }
+
+ var toString_1 = toString$6;
+
+ var isArray$6 = isArray_1,
+ isKey$2 = _isKey,
+ stringToPath = _stringToPath,
+ toString$5 = toString_1;
+
+ /**
+ * Casts `value` to a path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @param {Object} [object] The object to query keys on.
+ * @returns {Array} Returns the cast property path array.
+ */
+ function castPath$2(value, object) {
+ if (isArray$6(value)) {
+ return value;
+ }
+ return isKey$2(value, object) ? [value] : stringToPath(toString$5(value));
+ }
+
+ var _castPath = castPath$2;
+
+ var isSymbol$1 = isSymbol_1;
+
+ /** Used as references for various `Number` constants. */
+ var INFINITY$1 = 1 / 0;
+
+ /**
* Converts `value` to a string key if it's not a string or symbol.
*
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {string|symbol} Returns the key.
+ */
+ function toKey$4(value) {
+ if (typeof value == 'string' || isSymbol$1(value)) {
+ return value;
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY$1) ? '-0' : result;
+ }
+
+ var _toKey = toKey$4;
+
+ var castPath$1 = _castPath,
+ toKey$3 = _toKey;
+
+ /**
+ * The base implementation of `_.get` without support for default values.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to get.
+ * @returns {*} Returns the resolved value.
+ */
+ function baseGet$2(object, path) {
+ path = castPath$1(path, object);
+
+ var index = 0,
+ length = path.length;
+
+ while (object != null && index < length) {
+ object = object[toKey$3(path[index++])];
+ }
+ return (index && index == length) ? object : undefined;
+ }
+
+ var _baseGet = baseGet$2;
+
+ var baseGet$1 = _baseGet;
+
+ /**
+ * Gets the value at `path` of `object`. If the resolved value is
+ * `undefined`, the `defaultValue` is returned in its place.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.7.0
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.get(object, 'a[0].b.c');
+ * // => 3
+ *
+ * _.get(object, ['a', '0', 'b', 'c']);
+ * // => 3
+ *
+ * _.get(object, 'a.b.c', 'default');
+ * // => 'default'
+ */
+ function get$1(object, path, defaultValue) {
+ var result = object == null ? undefined : baseGet$1(object, path);
+ return result === undefined ? defaultValue : result;
+ }
+
+ var get_1 = get$1;
+
+ /**
+ * The base implementation of `_.hasIn` without support for deep paths.
+ *
+ * @private
+ * @param {Object} [object] The object to query.
+ * @param {Array|string} key The key to check.
+ * @returns {boolean} Returns `true` if `key` exists, else `false`.
+ */
+
+ function baseHasIn$1(object, key) {
+ return object != null && key in Object(object);
+ }
+
+ var _baseHasIn = baseHasIn$1;
+
+ var castPath = _castPath,
+ isArguments$2 = isArguments_1,
+ isArray$5 = isArray_1,
+ isIndex = _isIndex,
+ isLength = isLength_1,
+ toKey$2 = _toKey;
+
+ /**
+ * Checks if `path` exists on `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path to check.
+ * @param {Function} hasFunc The function to check properties.
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
+ */
+ function hasPath$1(object, path, hasFunc) {
+ path = castPath(path, object);
+
+ var index = -1,
+ length = path.length,
+ result = false;
+
+ while (++index < length) {
+ var key = toKey$2(path[index]);
+ if (!(result = object != null && hasFunc(object, key))) {
+ break;
+ }
+ object = object[key];
+ }
+ if (result || ++index != length) {
+ return result;
+ }
+ length = object == null ? 0 : object.length;
+ return !!length && isLength(length) && isIndex(key, length) &&
+ (isArray$5(object) || isArguments$2(object));
+ }
+
+ var _hasPath = hasPath$1;
+
+ var baseHasIn = _baseHasIn,
+ hasPath = _hasPath;
+
+ /**
+ * Checks if `path` is a direct or inherited property of `object`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path to check.
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
+ * @example
+ *
+ * var object = _.create({ 'a': _.create({ 'b': 2 }) });
+ *
+ * _.hasIn(object, 'a');
+ * // => true
+ *
+ * _.hasIn(object, 'a.b');
+ * // => true
+ *
+ * _.hasIn(object, ['a', 'b']);
+ * // => true
+ *
+ * _.hasIn(object, 'b');
+ * // => false
+ */
+ function hasIn$1(object, path) {
+ return object != null && hasPath(object, path, baseHasIn);
+ }
+
+ var hasIn_1 = hasIn$1;
+
+ var baseIsEqual = _baseIsEqual,
+ get = get_1,
+ hasIn = hasIn_1,
+ isKey$1 = _isKey,
+ isStrictComparable = _isStrictComparable,
+ matchesStrictComparable = _matchesStrictComparable,
+ toKey$1 = _toKey;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG = 1,
+ COMPARE_UNORDERED_FLAG = 2;
+
+ /**
+ * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
+ *
+ * @private
+ * @param {string} path The path of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new spec function.
+ */
+ function baseMatchesProperty$1(path, srcValue) {
+ if (isKey$1(path) && isStrictComparable(srcValue)) {
+ return matchesStrictComparable(toKey$1(path), srcValue);
+ }
+ return function(object) {
+ var objValue = get(object, path);
+ return (objValue === undefined && objValue === srcValue)
+ ? hasIn(object, path)
+ : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
+ };
+ }
+
+ var _baseMatchesProperty = baseMatchesProperty$1;
+
+ /**
+ * This method returns the first argument it receives.
+ *
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Util
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ *
+ * console.log(_.identity(object) === object);
+ * // => true
+ */
+
+ function identity$3(value) {
+ return value;
+ }
+
+ var identity_1 = identity$3;
+
+ /**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new accessor function.
+ */
+
+ function baseProperty$1(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+ }
+
+ var _baseProperty = baseProperty$1;
+
+ var baseGet = _baseGet;
+
+ /**
+ * A specialized version of `baseProperty` which supports deep paths.
+ *
+ * @private
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new accessor function.
+ */
+ function basePropertyDeep$1(path) {
+ return function(object) {
+ return baseGet(object, path);
+ };
+ }
+
+ var _basePropertyDeep = basePropertyDeep$1;
+
+ var baseProperty = _baseProperty,
+ basePropertyDeep = _basePropertyDeep,
+ isKey = _isKey,
+ toKey = _toKey;
+
+ /**
+ * Creates a function that returns the value at `path` of a given object.
+ *
+ * @static
+ * @memberOf _
+ * @since 2.4.0
+ * @category Util
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new accessor function.
+ * @example
+ *
+ * var objects = [
+ * { 'a': { 'b': 2 } },
+ * { 'a': { 'b': 1 } }
+ * ];
+ *
+ * _.map(objects, _.property('a.b'));
+ * // => [2, 1]
+ *
+ * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
+ * // => [1, 2]
+ */
+ function property$1(path) {
+ return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
+ }
+
+ var property_1 = property$1;
+
+ var baseMatches = _baseMatches,
+ baseMatchesProperty = _baseMatchesProperty,
+ identity$2 = identity_1,
+ isArray$4 = isArray_1,
+ property = property_1;
+
+ /**
+ * The base implementation of `_.iteratee`.
+ *
+ * @private
+ * @param {*} [value=_.identity] The value to convert to an iteratee.
+ * @returns {Function} Returns the iteratee.
+ */
+ function baseIteratee$2(value) {
+ // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
+ // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
+ if (typeof value == 'function') {
+ return value;
+ }
+ if (value == null) {
+ return identity$2;
+ }
+ if (typeof value == 'object') {
+ return isArray$4(value)
+ ? baseMatchesProperty(value[0], value[1])
+ : baseMatches(value);
+ }
+ return property(value);
+ }
+
+ var _baseIteratee = baseIteratee$2;
+
+ var baseIteratee$1 = _baseIteratee,
+ isArrayLike$2 = isArrayLike_1,
+ keys = keys_1;
+
+ /**
+ * Creates a `_.find` or `_.findLast` function.
+ *
+ * @private
+ * @param {Function} findIndexFunc The function to find the collection index.
+ * @returns {Function} Returns the new find function.
+ */
+ function createFind$1(findIndexFunc) {
+ return function(collection, predicate, fromIndex) {
+ var iterable = Object(collection);
+ if (!isArrayLike$2(collection)) {
+ var iteratee = baseIteratee$1(predicate);
+ collection = keys(collection);
+ predicate = function(key) { return iteratee(iterable[key], key, iterable); };
+ }
+ var index = findIndexFunc(collection, predicate, fromIndex);
+ return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
+ };
+ }
+
+ var _createFind = createFind$1;
+
+ /**
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
+ * support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {number} fromIndex The index to search from.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+
+ function baseFindIndex$2(array, predicate, fromIndex, fromRight) {
+ var length = array.length,
+ index = fromIndex + (fromRight ? 1 : -1);
+
+ while ((fromRight ? index-- : ++index < length)) {
+ if (predicate(array[index], index, array)) {
+ return index;
+ }
+ }
+ return -1;
+ }
+
+ var _baseFindIndex = baseFindIndex$2;
+
+ /** Used to match a single whitespace character. */
+
+ var reWhitespace = /\s/;
+
+ /**
+ * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
+ * character of `string`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the index of the last non-whitespace character.
+ */
+ function trimmedEndIndex$1(string) {
+ var index = string.length;
+
+ while (index-- && reWhitespace.test(string.charAt(index))) {}
+ return index;
+ }
+
+ var _trimmedEndIndex = trimmedEndIndex$1;
+
+ var trimmedEndIndex = _trimmedEndIndex;
+
+ /** Used to match leading whitespace. */
+ var reTrimStart = /^\s+/;
+
+ /**
+ * The base implementation of `_.trim`.
+ *
+ * @private
+ * @param {string} string The string to trim.
+ * @returns {string} Returns the trimmed string.
+ */
+ function baseTrim$1(string) {
+ return string
+ ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
+ : string;
+ }
+
+ var _baseTrim = baseTrim$1;
+
+ var baseTrim = _baseTrim,
+ isObject$1 = isObject_1,
+ isSymbol = isSymbol_1;
+
+ /** Used as references for various `Number` constants. */
+ var NAN = 0 / 0;
+
+ /** Used to detect bad signed hexadecimal string values. */
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+ /** Used to detect binary string values. */
+ var reIsBinary = /^0b[01]+$/i;
+
+ /** Used to detect octal string values. */
+ var reIsOctal = /^0o[0-7]+$/i;
+
+ /** Built-in method references without a dependency on `root`. */
+ var freeParseInt = parseInt;
+
+ /**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3.2);
+ * // => 3.2
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3.2');
+ * // => 3.2
+ */
+ function toNumber$1(value) {
+ if (typeof value == 'number') {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject$1(value)) {
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
+ value = isObject$1(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = baseTrim(value);
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
+ }
+
+ var toNumber_1 = toNumber$1;
+
+ var toNumber = toNumber_1;
+
+ /** Used as references for various `Number` constants. */
+ var INFINITY = 1 / 0,
+ MAX_INTEGER = 1.7976931348623157e+308;
+
+ /**
+ * Converts `value` to a finite number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.12.0
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {number} Returns the converted number.
+ * @example
+ *
+ * _.toFinite(3.2);
+ * // => 3.2
+ *
+ * _.toFinite(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toFinite(Infinity);
+ * // => 1.7976931348623157e+308
+ *
+ * _.toFinite('3.2');
+ * // => 3.2
+ */
+ function toFinite$1(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign = (value < 0 ? -1 : 1);
+ return sign * MAX_INTEGER;
+ }
+ return value === value ? value : 0;
+ }
+
+ var toFinite_1 = toFinite$1;
+
+ var toFinite = toFinite_1;
+
+ /**
+ * Converts `value` to an integer.
+ *
+ * **Note:** This method is loosely based on
+ * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {number} Returns the converted integer.
+ * @example
+ *
+ * _.toInteger(3.2);
+ * // => 3
+ *
+ * _.toInteger(Number.MIN_VALUE);
+ * // => 0
+ *
+ * _.toInteger(Infinity);
+ * // => 1.7976931348623157e+308
+ *
+ * _.toInteger('3.2');
+ * // => 3
+ */
+ function toInteger$1(value) {
+ var result = toFinite(value),
+ remainder = result % 1;
+
+ return result === result ? (remainder ? result - remainder : result) : 0;
+ }
+
+ var toInteger_1 = toInteger$1;
+
+ var baseFindIndex$1 = _baseFindIndex,
+ baseIteratee = _baseIteratee,
+ toInteger = toInteger_1;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax$1 = Math.max;
+
+ /**
+ * This method is like `_.find` except that it returns the index of the first
+ * element `predicate` returns truthy for instead of the element itself.
+ *
+ * @static
+ * @memberOf _
+ * @since 1.1.0
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
+ * @param {number} [fromIndex=0] The index to search from.
+ * @returns {number} Returns the index of the found element, else `-1`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * _.findIndex(users, function(o) { return o.user == 'barney'; });
+ * // => 0
+ *
+ * // The `_.matches` iteratee shorthand.
+ * _.findIndex(users, { 'user': 'fred', 'active': false });
+ * // => 1
+ *
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.findIndex(users, ['active', false]);
+ * // => 0
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.findIndex(users, 'active');
+ * // => 2
*/
- function toKey$4(value) {
- if (typeof value == 'string' || isSymbol$1(value)) {
- return value;
+ function findIndex$1(array, predicate, fromIndex) {
+ var length = array == null ? 0 : array.length;
+ if (!length) {
+ return -1;
+ }
+ var index = fromIndex == null ? 0 : toInteger(fromIndex);
+ if (index < 0) {
+ index = nativeMax$1(length + index, 0);
+ }
+ return baseFindIndex$1(array, baseIteratee(predicate), index);
+ }
+
+ var findIndex_1 = findIndex$1;
+
+ var createFind = _createFind,
+ findIndex = findIndex_1;
+
+ /**
+ * Iterates over elements of `collection`, returning the first element
+ * `predicate` returns truthy for. The predicate is invoked with three
+ * arguments: (value, index|key, collection).
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Collection
+ * @param {Array|Object} collection The collection to inspect.
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
+ * @param {number} [fromIndex=0] The index to search from.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false },
+ * { 'user': 'pebbles', 'age': 1, 'active': true }
+ * ];
+ *
+ * _.find(users, function(o) { return o.age < 40; });
+ * // => object for 'barney'
+ *
+ * // The `_.matches` iteratee shorthand.
+ * _.find(users, { 'age': 1, 'active': true });
+ * // => object for 'pebbles'
+ *
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.find(users, ['active', false]);
+ * // => object for 'fred'
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.find(users, 'active');
+ * // => object for 'barney'
+ */
+ var find = createFind(findIndex);
+
+ var find_1 = find;
+
+ var _find = /*@__PURE__*/getDefaultExportFromCjs(find_1);
+
+ var regeneratorRuntime$1 = {exports: {}};
+
+ var _typeof$1 = {exports: {}};
+
+ var WrappedWellKnownSymbolModule$1 = wellKnownSymbolWrapped;
+
+ var iterator$4 = WrappedWellKnownSymbolModule$1.f('iterator');
+
+ var parent$B = iterator$4;
+
+
+ var iterator$3 = parent$B;
+
+ var parent$A = iterator$3;
+
+ var iterator$2 = parent$A;
+
+ var parent$z = iterator$2;
+
+ var iterator$1 = parent$z;
+
+ var iterator = iterator$1;
+
+ var _Symbol$iterator = /*@__PURE__*/getDefaultExportFromCjs(iterator);
+
+ (function (module) {
+ var _Symbol = symbol$1;
+ var _Symbol$iterator = iterator;
+ function _typeof(o) {
+ "@babel/helpers - typeof";
+
+ return (module.exports = _typeof = "function" == typeof _Symbol && "symbol" == typeof _Symbol$iterator ? function (o) {
+ return typeof o;
+ } : function (o) {
+ return o && "function" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? "symbol" : typeof o;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
+ }
+ module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
+ } (_typeof$1));
+
+ var _typeofExports = _typeof$1.exports;
+
+ var defineProperty$9 = {exports: {}};
+
+ var $$i = _export;
+ var DESCRIPTORS$4 = descriptors;
+ var defineProperty$8 = objectDefineProperty.f;
+
+ // `Object.defineProperty` method
+ // https://tc39.es/ecma262/#sec-object.defineproperty
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ $$i({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty$8, sham: !DESCRIPTORS$4 }, {
+ defineProperty: defineProperty$8
+ });
+
+ var path$8 = path$h;
+
+ var Object$2 = path$8.Object;
+
+ var defineProperty$7 = defineProperty$9.exports = function defineProperty(it, key, desc) {
+ return Object$2.defineProperty(it, key, desc);
+ };
+
+ if (Object$2.defineProperty.sham) defineProperty$7.sham = true;
+
+ var definePropertyExports = defineProperty$9.exports;
+
+ var parent$y = definePropertyExports;
+
+ var defineProperty$6 = parent$y;
+
+ var parent$x = defineProperty$6;
+
+ var defineProperty$5 = parent$x;
+
+ var parent$w = defineProperty$5;
+
+ var defineProperty$4 = parent$w;
+
+ var defineProperty$3 = defineProperty$4;
+
+ var _Object$defineProperty = /*@__PURE__*/getDefaultExportFromCjs(defineProperty$3);
+
+ // TODO: Remove from `core-js@4`
+ var $$h = _export;
+ var DESCRIPTORS$3 = descriptors;
+ var create$6 = objectCreate;
+
+ // `Object.create` method
+ // https://tc39.es/ecma262/#sec-object.create
+ $$h({ target: 'Object', stat: true, sham: !DESCRIPTORS$3 }, {
+ create: create$6
+ });
+
+ var path$7 = path$h;
+
+ var Object$1 = path$7.Object;
+
+ var create$5 = function create(P, D) {
+ return Object$1.create(P, D);
+ };
+
+ var parent$v = create$5;
+
+ var create$4 = parent$v;
+
+ var parent$u = create$4;
+
+ var create$3 = parent$u;
+
+ var parent$t = create$3;
+
+ var create$2 = parent$t;
+
+ var create$1 = create$2;
+
+ var $$g = _export;
+ var fails$7 = fails$r;
+ var toObject$3 = toObject$b;
+ var nativeGetPrototypeOf = objectGetPrototypeOf$1;
+ var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
+
+ var FAILS_ON_PRIMITIVES = fails$7(function () { nativeGetPrototypeOf(1); });
+
+ // `Object.getPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
+ $$g({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
+ getPrototypeOf: function getPrototypeOf(it) {
+ return nativeGetPrototypeOf(toObject$3(it));
+ }
+ });
+
+ var path$6 = path$h;
+
+ var getPrototypeOf$4 = path$6.Object.getPrototypeOf;
+
+ var parent$s = getPrototypeOf$4;
+
+ var getPrototypeOf$3 = parent$s;
+
+ var parent$r = getPrototypeOf$3;
+
+ var getPrototypeOf$2 = parent$r;
+
+ var parent$q = getPrototypeOf$2;
+
+ var getPrototypeOf$1 = parent$q;
+
+ var getPrototypeOf = getPrototypeOf$1;
+
+ var fails$6 = fails$r;
+
+ var arrayMethodIsStrict$4 = function (METHOD_NAME, argument) {
+ var method = [][METHOD_NAME];
+ return !!method && fails$6(function () {
+ // eslint-disable-next-line no-useless-call -- required for testing
+ method.call(null, argument || function () { return 1; }, 1);
+ });
+ };
+
+ var $forEach = arrayIteration.forEach;
+ var arrayMethodIsStrict$3 = arrayMethodIsStrict$4;
+
+ var STRICT_METHOD$1 = arrayMethodIsStrict$3('forEach');
+
+ // `Array.prototype.forEach` method implementation
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
+ var arrayForEach = !STRICT_METHOD$1 ? function forEach(callbackfn /* , thisArg */) {
+ return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ // eslint-disable-next-line es/no-array-prototype-foreach -- safe
+ } : [].forEach;
+
+ var $$f = _export;
+ var forEach$6 = arrayForEach;
+
+ // `Array.prototype.forEach` method
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
+ // eslint-disable-next-line es/no-array-prototype-foreach -- safe
+ $$f({ target: 'Array', proto: true, forced: [].forEach !== forEach$6 }, {
+ forEach: forEach$6
+ });
+
+ var getBuiltInPrototypeMethod$b = getBuiltInPrototypeMethod$e;
+
+ var forEach$5 = getBuiltInPrototypeMethod$b('Array', 'forEach');
+
+ var parent$p = forEach$5;
+
+ var forEach$4 = parent$p;
+
+ var classof$2 = classof$b;
+ var hasOwn = hasOwnProperty_1;
+ var isPrototypeOf$a = objectIsPrototypeOf;
+ var method$9 = forEach$4;
+
+
+ var ArrayPrototype$8 = Array.prototype;
+
+ var DOMIterables = {
+ DOMTokenList: true,
+ NodeList: true
+ };
+
+ var forEach$3 = function (it) {
+ var own = it.forEach;
+ return it === ArrayPrototype$8 || (isPrototypeOf$a(ArrayPrototype$8, it) && own === ArrayPrototype$8.forEach)
+ || hasOwn(DOMIterables, classof$2(it)) ? method$9 : own;
+ };
+
+ var parent$o = forEach$3;
+
+ var forEach$2 = parent$o;
+
+ var parent$n = forEach$2;
+
+ var forEach$1 = parent$n;
+
+ var forEach = forEach$1;
+
+ var $$e = _export;
+ var setPrototypeOf$5 = objectSetPrototypeOf;
+
+ // `Object.setPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
+ $$e({ target: 'Object', stat: true }, {
+ setPrototypeOf: setPrototypeOf$5
+ });
+
+ var path$5 = path$h;
+
+ var setPrototypeOf$4 = path$5.Object.setPrototypeOf;
+
+ var parent$m = setPrototypeOf$4;
+
+ var setPrototypeOf$3 = parent$m;
+
+ var parent$l = setPrototypeOf$3;
+
+ var setPrototypeOf$2 = parent$l;
+
+ var parent$k = setPrototypeOf$2;
+
+ var setPrototypeOf$1 = parent$k;
+
+ var setPrototypeOf = setPrototypeOf$1;
+
+ var $$d = _export;
+ var uncurryThis$8 = functionUncurryThis;
+ var isArray$3 = isArray$o;
+
+ var nativeReverse = uncurryThis$8([].reverse);
+ var test = [1, 2];
+
+ // `Array.prototype.reverse` method
+ // https://tc39.es/ecma262/#sec-array.prototype.reverse
+ // fix for Safari 12.0 bug
+ // https://bugs.webkit.org/show_bug.cgi?id=188794
+ $$d({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
+ reverse: function reverse() {
+ // eslint-disable-next-line no-self-assign -- dirty hack
+ if (isArray$3(this)) this.length = this.length;
+ return nativeReverse(this);
+ }
+ });
+
+ var getBuiltInPrototypeMethod$a = getBuiltInPrototypeMethod$e;
+
+ var reverse$5 = getBuiltInPrototypeMethod$a('Array', 'reverse');
+
+ var isPrototypeOf$9 = objectIsPrototypeOf;
+ var method$8 = reverse$5;
+
+ var ArrayPrototype$7 = Array.prototype;
+
+ var reverse$4 = function (it) {
+ var own = it.reverse;
+ return it === ArrayPrototype$7 || (isPrototypeOf$9(ArrayPrototype$7, it) && own === ArrayPrototype$7.reverse) ? method$8 : own;
+ };
+
+ var parent$j = reverse$4;
+
+ var reverse$3 = parent$j;
+
+ var parent$i = reverse$3;
+
+ var reverse$2 = parent$i;
+
+ var parent$h = reverse$2;
+
+ var reverse$1 = parent$h;
+
+ var reverse = reverse$1;
+
+ (function (module) {
+ var _typeof = _typeofExports["default"];
+ var _Object$defineProperty = defineProperty$3;
+ var _Symbol = symbol$1;
+ var _Object$create = create$1;
+ var _Object$getPrototypeOf = getPrototypeOf;
+ var _forEachInstanceProperty = forEach;
+ var _pushInstanceProperty = push$1;
+ var _Object$setPrototypeOf = setPrototypeOf;
+ var _Promise = promise$1;
+ var _reverseInstanceProperty = reverse;
+ var _sliceInstanceProperty = slice$2;
+ function _regeneratorRuntime() {
+ module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
+ return e;
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports;
+ var t,
+ e = {},
+ r = Object.prototype,
+ n = r.hasOwnProperty,
+ o = _Object$defineProperty || function (t, e, r) {
+ t[e] = r.value;
+ },
+ i = "function" == typeof _Symbol ? _Symbol : {},
+ a = i.iterator || "@@iterator",
+ c = i.asyncIterator || "@@asyncIterator",
+ u = i.toStringTag || "@@toStringTag";
+ function define(t, e, r) {
+ return _Object$defineProperty(t, e, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }), t[e];
+ }
+ try {
+ define({}, "");
+ } catch (t) {
+ define = function define(t, e, r) {
+ return t[e] = r;
+ };
+ }
+ function wrap(t, e, r, n) {
+ var i = e && e.prototype instanceof Generator ? e : Generator,
+ a = _Object$create(i.prototype),
+ c = new Context(n || []);
+ return o(a, "_invoke", {
+ value: makeInvokeMethod(t, r, c)
+ }), a;
+ }
+ function tryCatch(t, e, r) {
+ try {
+ return {
+ type: "normal",
+ arg: t.call(e, r)
+ };
+ } catch (t) {
+ return {
+ type: "throw",
+ arg: t
+ };
+ }
+ }
+ e.wrap = wrap;
+ var h = "suspendedStart",
+ l = "suspendedYield",
+ f = "executing",
+ s = "completed",
+ y = {};
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
+ var p = {};
+ define(p, a, function () {
+ return this;
+ });
+ var d = _Object$getPrototypeOf,
+ v = d && d(d(values([])));
+ v && v !== r && n.call(v, a) && (p = v);
+ var g = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(p);
+ function defineIteratorMethods(t) {
+ var _context;
+ _forEachInstanceProperty(_context = ["next", "throw", "return"]).call(_context, function (e) {
+ define(t, e, function (t) {
+ return this._invoke(e, t);
+ });
+ });
+ }
+ function AsyncIterator(t, e) {
+ function invoke(r, o, i, a) {
+ var c = tryCatch(t[r], t, o);
+ if ("throw" !== c.type) {
+ var u = c.arg,
+ h = u.value;
+ return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
+ invoke("next", t, i, a);
+ }, function (t) {
+ invoke("throw", t, i, a);
+ }) : e.resolve(h).then(function (t) {
+ u.value = t, i(u);
+ }, function (t) {
+ return invoke("throw", t, i, a);
+ });
+ }
+ a(c.arg);
+ }
+ var r;
+ o(this, "_invoke", {
+ value: function value(t, n) {
+ function callInvokeWithMethodAndArg() {
+ return new e(function (e, r) {
+ invoke(t, n, e, r);
+ });
+ }
+ return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+ }
+ });
+ }
+ function makeInvokeMethod(e, r, n) {
+ var o = h;
+ return function (i, a) {
+ if (o === f) throw Error("Generator is already running");
+ if (o === s) {
+ if ("throw" === i) throw a;
+ return {
+ value: t,
+ done: !0
+ };
+ }
+ for (n.method = i, n.arg = a;;) {
+ var c = n.delegate;
+ if (c) {
+ var u = maybeInvokeDelegate(c, n);
+ if (u) {
+ if (u === y) continue;
+ return u;
+ }
+ }
+ if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
+ if (o === h) throw o = s, n.arg;
+ n.dispatchException(n.arg);
+ } else "return" === n.method && n.abrupt("return", n.arg);
+ o = f;
+ var p = tryCatch(e, r, n);
+ if ("normal" === p.type) {
+ if (o = n.done ? s : l, p.arg === y) continue;
+ return {
+ value: p.arg,
+ done: n.done
+ };
+ }
+ "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
+ }
+ };
+ }
+ function maybeInvokeDelegate(e, r) {
+ var n = r.method,
+ o = e.iterator[n];
+ if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
+ var i = tryCatch(o, e.iterator, r.arg);
+ if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
+ var a = i.arg;
+ return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
+ }
+ function pushTryEntry(t) {
+ var _context2;
+ var e = {
+ tryLoc: t[0]
+ };
+ 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), _pushInstanceProperty(_context2 = this.tryEntries).call(_context2, e);
+ }
+ function resetTryEntry(t) {
+ var e = t.completion || {};
+ e.type = "normal", delete e.arg, t.completion = e;
+ }
+ function Context(t) {
+ this.tryEntries = [{
+ tryLoc: "root"
+ }], _forEachInstanceProperty(t).call(t, pushTryEntry, this), this.reset(!0);
+ }
+ function values(e) {
+ if (e || "" === e) {
+ var r = e[a];
+ if (r) return r.call(e);
+ if ("function" == typeof e.next) return e;
+ if (!isNaN(e.length)) {
+ var o = -1,
+ i = function next() {
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
+ return next.value = t, next.done = !0, next;
+ };
+ return i.next = i;
+ }
+ }
+ throw new TypeError(_typeof(e) + " is not iterable");
+ }
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
+ value: GeneratorFunctionPrototype,
+ configurable: !0
+ }), o(GeneratorFunctionPrototype, "constructor", {
+ value: GeneratorFunction,
+ configurable: !0
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
+ var e = "function" == typeof t && t.constructor;
+ return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
+ }, e.mark = function (t) {
+ return _Object$setPrototypeOf ? _Object$setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = _Object$create(g), t;
+ }, e.awrap = function (t) {
+ return {
+ __await: t
+ };
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
+ return this;
+ }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
+ void 0 === i && (i = _Promise);
+ var a = new AsyncIterator(wrap(t, r, n, o), i);
+ return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
+ return t.done ? t.value : a.next();
+ });
+ }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
+ return this;
+ }), define(g, "toString", function () {
+ return "[object Generator]";
+ }), e.keys = function (t) {
+ var e = Object(t),
+ r = [];
+ for (var n in e) _pushInstanceProperty(r).call(r, n);
+ return _reverseInstanceProperty(r).call(r), function next() {
+ for (; r.length;) {
+ var t = r.pop();
+ if (t in e) return next.value = t, next.done = !1, next;
+ }
+ return next.done = !0, next;
+ };
+ }, e.values = values, Context.prototype = {
+ constructor: Context,
+ reset: function reset(e) {
+ var _context3;
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, _forEachInstanceProperty(_context3 = this.tryEntries).call(_context3, resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+_sliceInstanceProperty(r).call(r, 1)) && (this[r] = t);
+ },
+ stop: function stop() {
+ this.done = !0;
+ var t = this.tryEntries[0].completion;
+ if ("throw" === t.type) throw t.arg;
+ return this.rval;
+ },
+ dispatchException: function dispatchException(e) {
+ if (this.done) throw e;
+ var r = this;
+ function handle(n, o) {
+ return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
+ }
+ for (var o = this.tryEntries.length - 1; o >= 0; --o) {
+ var i = this.tryEntries[o],
+ a = i.completion;
+ if ("root" === i.tryLoc) return handle("end");
+ if (i.tryLoc <= this.prev) {
+ var c = n.call(i, "catchLoc"),
+ u = n.call(i, "finallyLoc");
+ if (c && u) {
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
+ } else if (c) {
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
+ } else {
+ if (!u) throw Error("try statement without catch or finally");
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
+ }
+ }
+ }
+ },
+ abrupt: function abrupt(t, e) {
+ for (var r = this.tryEntries.length - 1; r >= 0; --r) {
+ var o = this.tryEntries[r];
+ if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
+ var i = o;
+ break;
+ }
+ }
+ i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
+ var a = i ? i.completion : {};
+ return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
+ },
+ complete: function complete(t, e) {
+ if ("throw" === t.type) throw t.arg;
+ return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
+ },
+ finish: function finish(t) {
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+ var r = this.tryEntries[e];
+ if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
+ }
+ },
+ "catch": function _catch(t) {
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+ var r = this.tryEntries[e];
+ if (r.tryLoc === t) {
+ var n = r.completion;
+ if ("throw" === n.type) {
+ var o = n.arg;
+ resetTryEntry(r);
+ }
+ return o;
+ }
+ }
+ throw Error("illegal catch attempt");
+ },
+ delegateYield: function delegateYield(e, r, n) {
+ return this.delegate = {
+ iterator: values(e),
+ resultName: r,
+ nextLoc: n
+ }, "next" === this.method && (this.arg = t), y;
+ }
+ }, e;
+ }
+ module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
+ } (regeneratorRuntime$1));
+
+ var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
+
+ // TODO(Babel 8): Remove this file.
+
+ var runtime = regeneratorRuntimeExports();
+ var regenerator = runtime;
+
+ // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
+ try {
+ regeneratorRuntime = runtime;
+ } catch (accidentalStrictMode) {
+ if (typeof globalThis === "object") {
+ globalThis.regeneratorRuntime = runtime;
+ } else {
+ Function("r", "regeneratorRuntime = r")(runtime);
}
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY$1) ? '-0' : result;
}
- var _toKey = toKey$4;
-
- var castPath$1 = _castPath,
- toKey$3 = _toKey;
+ var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
- /**
- * The base implementation of `_.get` without support for default values.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @returns {*} Returns the resolved value.
- */
- function baseGet$2(object, path) {
- path = castPath$1(path, object);
+ var $$c = _export;
+ var $includes = arrayIncludes$2.includes;
+ var fails$5 = fails$r;
- var index = 0,
- length = path.length;
+ // FF99+ bug
+ var BROKEN_ON_SPARSE = fails$5(function () {
+ // eslint-disable-next-line es/no-array-prototype-includes -- detection
+ return !Array(1).includes();
+ });
- while (object != null && index < length) {
- object = object[toKey$3(path[index++])];
+ // `Array.prototype.includes` method
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
+ $$c({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
+ includes: function includes(el /* , fromIndex = 0 */) {
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
}
- return (index && index == length) ? object : undefined;
- }
+ });
- var _baseGet = baseGet$2;
+ var getBuiltInPrototypeMethod$9 = getBuiltInPrototypeMethod$e;
- var baseGet$1 = _baseGet;
+ var includes$4 = getBuiltInPrototypeMethod$9('Array', 'includes');
- /**
- * Gets the value at `path` of `object`. If the resolved value is
- * `undefined`, the `defaultValue` is returned in its place.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.get(object, 'a[0].b.c');
- * // => 3
- *
- * _.get(object, ['a', '0', 'b', 'c']);
- * // => 3
- *
- * _.get(object, 'a.b.c', 'default');
- * // => 'default'
- */
- function get$1(object, path, defaultValue) {
- var result = object == null ? undefined : baseGet$1(object, path);
- return result === undefined ? defaultValue : result;
- }
+ var isObject = isObject$k;
+ var classof$1 = classofRaw$2;
+ var wellKnownSymbol$1 = wellKnownSymbol$o;
- var get_1 = get$1;
+ var MATCH$1 = wellKnownSymbol$1('match');
- /**
- * The base implementation of `_.hasIn` without support for deep paths.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {Array|string} key The key to check.
- * @returns {boolean} Returns `true` if `key` exists, else `false`.
- */
+ // `IsRegExp` abstract operation
+ // https://tc39.es/ecma262/#sec-isregexp
+ var isRegexp = function (it) {
+ var isRegExp;
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$1(it) === 'RegExp');
+ };
- function baseHasIn$1(object, key) {
- return object != null && key in Object(object);
- }
+ var isRegExp = isRegexp;
- var _baseHasIn = baseHasIn$1;
+ var $TypeError$1 = TypeError;
- var castPath = _castPath,
- isArguments$2 = isArguments_1,
- isArray$4 = isArray_1,
- isIndex = _isIndex,
- isLength = isLength_1,
- toKey$2 = _toKey;
+ var notARegexp = function (it) {
+ if (isRegExp(it)) {
+ throw new $TypeError$1("The method doesn't accept regular expressions");
+ } return it;
+ };
- /**
- * Checks if `path` exists on `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @param {Function} hasFunc The function to check properties.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- */
- function hasPath$1(object, path, hasFunc) {
- path = castPath(path, object);
+ var wellKnownSymbol = wellKnownSymbol$o;
- var index = -1,
- length = path.length,
- result = false;
+ var MATCH = wellKnownSymbol('match');
- while (++index < length) {
- var key = toKey$2(path[index]);
- if (!(result = object != null && hasFunc(object, key))) {
- break;
- }
- object = object[key];
- }
- if (result || ++index != length) {
- return result;
+ var correctIsRegexpLogic = function (METHOD_NAME) {
+ var regexp = /./;
+ try {
+ '/./'[METHOD_NAME](regexp);
+ } catch (error1) {
+ try {
+ regexp[MATCH] = false;
+ return '/./'[METHOD_NAME](regexp);
+ } catch (error2) { /* empty */ }
+ } return false;
+ };
+
+ var $$b = _export;
+ var uncurryThis$7 = functionUncurryThis;
+ var notARegExp$1 = notARegexp;
+ var requireObjectCoercible$4 = requireObjectCoercible$9;
+ var toString$4 = toString$d;
+ var correctIsRegExpLogic$1 = correctIsRegexpLogic;
+
+ var stringIndexOf = uncurryThis$7(''.indexOf);
+
+ // `String.prototype.includes` method
+ // https://tc39.es/ecma262/#sec-string.prototype.includes
+ $$b({ target: 'String', proto: true, forced: !correctIsRegExpLogic$1('includes') }, {
+ includes: function includes(searchString /* , position = 0 */) {
+ return !!~stringIndexOf(
+ toString$4(requireObjectCoercible$4(this)),
+ toString$4(notARegExp$1(searchString)),
+ arguments.length > 1 ? arguments[1] : undefined
+ );
}
- length = object == null ? 0 : object.length;
- return !!length && isLength(length) && isIndex(key, length) &&
- (isArray$4(object) || isArguments$2(object));
- }
+ });
- var _hasPath = hasPath$1;
+ var getBuiltInPrototypeMethod$8 = getBuiltInPrototypeMethod$e;
- var baseHasIn = _baseHasIn,
- hasPath = _hasPath;
+ var includes$3 = getBuiltInPrototypeMethod$8('String', 'includes');
- /**
- * Checks if `path` is a direct or inherited property of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- * @example
- *
- * var object = _.create({ 'a': _.create({ 'b': 2 }) });
- *
- * _.hasIn(object, 'a');
- * // => true
- *
- * _.hasIn(object, 'a.b');
- * // => true
- *
- * _.hasIn(object, ['a', 'b']);
- * // => true
- *
- * _.hasIn(object, 'b');
- * // => false
- */
- function hasIn$1(object, path) {
- return object != null && hasPath(object, path, baseHasIn);
- }
+ var isPrototypeOf$8 = objectIsPrototypeOf;
+ var arrayMethod = includes$4;
+ var stringMethod = includes$3;
- var hasIn_1 = hasIn$1;
+ var ArrayPrototype$6 = Array.prototype;
+ var StringPrototype$2 = String.prototype;
- var baseIsEqual = _baseIsEqual,
- get = get_1,
- hasIn = hasIn_1,
- isKey$1 = _isKey,
- isStrictComparable = _isStrictComparable,
- matchesStrictComparable = _matchesStrictComparable,
- toKey$1 = _toKey;
+ var includes$2 = function (it) {
+ var own = it.includes;
+ if (it === ArrayPrototype$6 || (isPrototypeOf$8(ArrayPrototype$6, it) && own === ArrayPrototype$6.includes)) return arrayMethod;
+ if (typeof it == 'string' || it === StringPrototype$2 || (isPrototypeOf$8(StringPrototype$2, it) && own === StringPrototype$2.includes)) {
+ return stringMethod;
+ } return own;
+ };
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG = 1,
- COMPARE_UNORDERED_FLAG = 2;
+ var parent$g = includes$2;
- /**
- * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
- *
- * @private
- * @param {string} path The path of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */
- function baseMatchesProperty$1(path, srcValue) {
- if (isKey$1(path) && isStrictComparable(srcValue)) {
- return matchesStrictComparable(toKey$1(path), srcValue);
- }
- return function(object) {
- var objValue = get(object, path);
- return (objValue === undefined && objValue === srcValue)
- ? hasIn(object, path)
- : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
- };
- }
+ var includes$1 = parent$g;
- var _baseMatchesProperty = baseMatchesProperty$1;
+ var includes = includes$1;
- /**
- * This method returns the first argument it receives.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Util
- * @param {*} value Any value.
- * @returns {*} Returns `value`.
- * @example
- *
- * var object = { 'a': 1 };
- *
- * console.log(_.identity(object) === object);
- * // => true
- */
+ var _includesInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(includes);
- function identity$3(value) {
- return value;
- }
+ var promise = promise$4;
- var identity_1 = identity$3;
+ var _Promise = /*@__PURE__*/getDefaultExportFromCjs(promise);
- /**
- * The base implementation of `_.property` without support for deep paths.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @returns {Function} Returns the new accessor function.
- */
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$5;
+ var toString$3 = toString$d;
+ var requireObjectCoercible$3 = requireObjectCoercible$9;
- function baseProperty$1(key) {
- return function(object) {
- return object == null ? undefined : object[key];
+ var $RangeError$1 = RangeError;
+
+ // `String.prototype.repeat` method implementation
+ // https://tc39.es/ecma262/#sec-string.prototype.repeat
+ var stringRepeat = function repeat(count) {
+ var str = toString$3(requireObjectCoercible$3(this));
+ var result = '';
+ var n = toIntegerOrInfinity$1(count);
+ if (n < 0 || n === Infinity) throw new $RangeError$1('Wrong number of repetitions');
+ for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
+ return result;
+ };
+
+ // https://github.com/tc39/proposal-string-pad-start-end
+ var uncurryThis$6 = functionUncurryThis;
+ var toLength$1 = toLength$3;
+ var toString$2 = toString$d;
+ var $repeat = stringRepeat;
+ var requireObjectCoercible$2 = requireObjectCoercible$9;
+
+ var repeat = uncurryThis$6($repeat);
+ var stringSlice = uncurryThis$6(''.slice);
+ var ceil = Math.ceil;
+
+ // `String.prototype.{ padStart, padEnd }` methods implementation
+ var createMethod$3 = function (IS_END) {
+ return function ($this, maxLength, fillString) {
+ var S = toString$2(requireObjectCoercible$2($this));
+ var intMaxLength = toLength$1(maxLength);
+ var stringLength = S.length;
+ var fillStr = fillString === undefined ? ' ' : toString$2(fillString);
+ var fillLen, stringFiller;
+ if (intMaxLength <= stringLength || fillStr === '') return S;
+ fillLen = intMaxLength - stringLength;
+ stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
+ if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
+ return IS_END ? S + stringFiller : stringFiller + S;
};
- }
+ };
- var _baseProperty = baseProperty$1;
+ var stringPad = {
+ // `String.prototype.padStart` method
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
+ start: createMethod$3(false),
+ // `String.prototype.padEnd` method
+ // https://tc39.es/ecma262/#sec-string.prototype.padend
+ end: createMethod$3(true)
+ };
- var baseGet = _baseGet;
+ var uncurryThis$5 = functionUncurryThis;
+ var fails$4 = fails$r;
+ var padStart = stringPad.start;
+
+ var $RangeError = RangeError;
+ var $isFinite = isFinite;
+ var abs = Math.abs;
+ var DatePrototype = Date.prototype;
+ var nativeDateToISOString = DatePrototype.toISOString;
+ var thisTimeValue = uncurryThis$5(DatePrototype.getTime);
+ var getUTCDate = uncurryThis$5(DatePrototype.getUTCDate);
+ var getUTCFullYear = uncurryThis$5(DatePrototype.getUTCFullYear);
+ var getUTCHours = uncurryThis$5(DatePrototype.getUTCHours);
+ var getUTCMilliseconds = uncurryThis$5(DatePrototype.getUTCMilliseconds);
+ var getUTCMinutes = uncurryThis$5(DatePrototype.getUTCMinutes);
+ var getUTCMonth = uncurryThis$5(DatePrototype.getUTCMonth);
+ var getUTCSeconds = uncurryThis$5(DatePrototype.getUTCSeconds);
+
+ // `Date.prototype.toISOString` method implementation
+ // https://tc39.es/ecma262/#sec-date.prototype.toisostring
+ // PhantomJS / old WebKit fails here:
+ var dateToIsoString = (fails$4(function () {
+ return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z';
+ }) || !fails$4(function () {
+ nativeDateToISOString.call(new Date(NaN));
+ })) ? function toISOString() {
+ if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value');
+ var date = this;
+ var year = getUTCFullYear(date);
+ var milliseconds = getUTCMilliseconds(date);
+ var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
+ return sign + padStart(abs(year), sign ? 6 : 4, 0) +
+ '-' + padStart(getUTCMonth(date) + 1, 2, 0) +
+ '-' + padStart(getUTCDate(date), 2, 0) +
+ 'T' + padStart(getUTCHours(date), 2, 0) +
+ ':' + padStart(getUTCMinutes(date), 2, 0) +
+ ':' + padStart(getUTCSeconds(date), 2, 0) +
+ '.' + padStart(milliseconds, 3, 0) +
+ 'Z';
+ } : nativeDateToISOString;
+
+ var $$a = _export;
+ var call$1 = functionCall;
+ var toObject$2 = toObject$b;
+ var toPrimitive$6 = toPrimitive$8;
+ var toISOString = dateToIsoString;
+ var classof = classofRaw$2;
+ var fails$3 = fails$r;
+
+ var FORCED$3 = fails$3(function () {
+ return new Date(NaN).toJSON() !== null
+ || call$1(Date.prototype.toJSON, { toISOString: function () { return 1; } }) !== 1;
+ });
- /**
- * A specialized version of `baseProperty` which supports deep paths.
- *
- * @private
- * @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new accessor function.
- */
- function basePropertyDeep$1(path) {
- return function(object) {
- return baseGet(object, path);
- };
- }
+ // `Date.prototype.toJSON` method
+ // https://tc39.es/ecma262/#sec-date.prototype.tojson
+ $$a({ target: 'Date', proto: true, forced: FORCED$3 }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ toJSON: function toJSON(key) {
+ var O = toObject$2(this);
+ var pv = toPrimitive$6(O, 'number');
+ return typeof pv == 'number' && !isFinite(pv) ? null :
+ (!('toISOString' in O) && classof(O) === 'Date') ? call$1(toISOString, O) : O.toISOString();
+ }
+ });
- var _basePropertyDeep = basePropertyDeep$1;
+ var path$4 = path$h;
+ var apply$3 = functionApply;
- var baseProperty = _baseProperty,
- basePropertyDeep = _basePropertyDeep,
- isKey = _isKey,
- toKey = _toKey;
+ // eslint-disable-next-line es/no-json -- safe
+ if (!path$4.JSON) path$4.JSON = { stringify: JSON.stringify };
- /**
- * Creates a function that returns the value at `path` of a given object.
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Util
- * @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new accessor function.
- * @example
- *
- * var objects = [
- * { 'a': { 'b': 2 } },
- * { 'a': { 'b': 1 } }
- * ];
- *
- * _.map(objects, _.property('a.b'));
- * // => [2, 1]
- *
- * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
- * // => [1, 2]
- */
- function property$1(path) {
- return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
- }
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ var stringify$3 = function stringify(it, replacer, space) {
+ return apply$3(path$4.JSON.stringify, null, arguments);
+ };
+
+ var parent$f = stringify$3;
- var property_1 = property$1;
+ var stringify$2 = parent$f;
- var baseMatches = _baseMatches,
- baseMatchesProperty = _baseMatchesProperty,
- identity$2 = identity_1,
- isArray$3 = isArray_1,
- property = property_1;
+ var stringify$1 = stringify$2;
- /**
- * The base implementation of `_.iteratee`.
- *
- * @private
- * @param {*} [value=_.identity] The value to convert to an iteratee.
- * @returns {Function} Returns the iteratee.
- */
- function baseIteratee$2(value) {
- // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
- // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
- if (typeof value == 'function') {
- return value;
- }
- if (value == null) {
- return identity$2;
- }
- if (typeof value == 'object') {
- return isArray$3(value)
- ? baseMatchesProperty(value[0], value[1])
- : baseMatches(value);
- }
- return property(value);
- }
+ var _JSON$stringify = /*@__PURE__*/getDefaultExportFromCjs(stringify$1);
- var _baseIteratee = baseIteratee$2;
+ var getBuiltInPrototypeMethod$7 = getBuiltInPrototypeMethod$e;
- var baseIteratee$1 = _baseIteratee,
- isArrayLike$2 = isArrayLike_1,
- keys = keys_1;
+ var concat$4 = getBuiltInPrototypeMethod$7('Array', 'concat');
- /**
- * Creates a `_.find` or `_.findLast` function.
- *
- * @private
- * @param {Function} findIndexFunc The function to find the collection index.
- * @returns {Function} Returns the new find function.
- */
- function createFind$1(findIndexFunc) {
- return function(collection, predicate, fromIndex) {
- var iterable = Object(collection);
- if (!isArrayLike$2(collection)) {
- var iteratee = baseIteratee$1(predicate);
- collection = keys(collection);
- predicate = function(key) { return iteratee(iterable[key], key, iterable); };
- }
- var index = findIndexFunc(collection, predicate, fromIndex);
- return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
- };
- }
+ var isPrototypeOf$7 = objectIsPrototypeOf;
+ var method$7 = concat$4;
- var _createFind = createFind$1;
+ var ArrayPrototype$5 = Array.prototype;
- /**
- * The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {number} fromIndex The index to search from.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
+ var concat$3 = function (it) {
+ var own = it.concat;
+ return it === ArrayPrototype$5 || (isPrototypeOf$7(ArrayPrototype$5, it) && own === ArrayPrototype$5.concat) ? method$7 : own;
+ };
- function baseFindIndex$2(array, predicate, fromIndex, fromRight) {
- var length = array.length,
- index = fromIndex + (fromRight ? 1 : -1);
+ var parent$e = concat$3;
- while ((fromRight ? index-- : ++index < length)) {
- if (predicate(array[index], index, array)) {
- return index;
- }
+ var concat$2 = parent$e;
+
+ var concat$1 = concat$2;
+
+ var _concatInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(concat$1);
+
+ var $$9 = _export;
+ var $filter = arrayIteration.filter;
+ var arrayMethodHasSpeciesSupport$1 = arrayMethodHasSpeciesSupport$4;
+
+ var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport$1('filter');
+
+ // `Array.prototype.filter` method
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
+ // with adding support of @@species
+ $$9({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
+ filter: function filter(callbackfn /* , thisArg */) {
+ return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
- return -1;
- }
+ });
- var _baseFindIndex = baseFindIndex$2;
+ var getBuiltInPrototypeMethod$6 = getBuiltInPrototypeMethod$e;
- /** Used to match a single whitespace character. */
+ var filter$3 = getBuiltInPrototypeMethod$6('Array', 'filter');
- var reWhitespace = /\s/;
+ var isPrototypeOf$6 = objectIsPrototypeOf;
+ var method$6 = filter$3;
- /**
- * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
- * character of `string`.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {number} Returns the index of the last non-whitespace character.
- */
- function trimmedEndIndex$1(string) {
- var index = string.length;
+ var ArrayPrototype$4 = Array.prototype;
- while (index-- && reWhitespace.test(string.charAt(index))) {}
- return index;
- }
+ var filter$2 = function (it) {
+ var own = it.filter;
+ return it === ArrayPrototype$4 || (isPrototypeOf$6(ArrayPrototype$4, it) && own === ArrayPrototype$4.filter) ? method$6 : own;
+ };
- var _trimmedEndIndex = trimmedEndIndex$1;
+ var parent$d = filter$2;
- var trimmedEndIndex = _trimmedEndIndex;
+ var filter$1 = parent$d;
- /** Used to match leading whitespace. */
- var reTrimStart = /^\s+/;
+ var filter = filter$1;
- /**
- * The base implementation of `_.trim`.
- *
- * @private
- * @param {string} string The string to trim.
- * @returns {string} Returns the trimmed string.
- */
- function baseTrim$1(string) {
- return string
- ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
- : string;
- }
+ var _filterInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(filter);
- var _baseTrim = baseTrim$1;
+ var slice$1 = slice$5;
- var baseTrim = _baseTrim,
- isObject = isObject_1,
- isSymbol = isSymbol_1;
+ var _sliceInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(slice$1);
- /** Used as references for various `Number` constants. */
- var NAN = 0 / 0;
+ var aCallable = aCallable$c;
+ var toObject$1 = toObject$b;
+ var IndexedObject$1 = indexedObject;
+ var lengthOfArrayLike$1 = lengthOfArrayLike$9;
- /** Used to detect bad signed hexadecimal string values. */
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+ var $TypeError = TypeError;
- /** Used to detect binary string values. */
- var reIsBinary = /^0b[01]+$/i;
+ var REDUCE_EMPTY = 'Reduce of empty array with no initial value';
- /** Used to detect octal string values. */
- var reIsOctal = /^0o[0-7]+$/i;
+ // `Array.prototype.{ reduce, reduceRight }` methods implementation
+ var createMethod$2 = function (IS_RIGHT) {
+ return function (that, callbackfn, argumentsLength, memo) {
+ var O = toObject$1(that);
+ var self = IndexedObject$1(O);
+ var length = lengthOfArrayLike$1(O);
+ aCallable(callbackfn);
+ if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);
+ var index = IS_RIGHT ? length - 1 : 0;
+ var i = IS_RIGHT ? -1 : 1;
+ if (argumentsLength < 2) while (true) {
+ if (index in self) {
+ memo = self[index];
+ index += i;
+ break;
+ }
+ index += i;
+ if (IS_RIGHT ? index < 0 : length <= index) {
+ throw new $TypeError(REDUCE_EMPTY);
+ }
+ }
+ for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
+ memo = callbackfn(memo, self[index], index, O);
+ }
+ return memo;
+ };
+ };
- /** Built-in method references without a dependency on `root`. */
- var freeParseInt = parseInt;
+ var arrayReduce = {
+ // `Array.prototype.reduce` method
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
+ left: createMethod$2(false),
+ // `Array.prototype.reduceRight` method
+ // https://tc39.es/ecma262/#sec-array.prototype.reduceright
+ right: createMethod$2(true)
+ };
- /**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
- function toNumber$1(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
+ var $$8 = _export;
+ var $reduce = arrayReduce.left;
+ var arrayMethodIsStrict$2 = arrayMethodIsStrict$4;
+ var CHROME_VERSION = engineV8Version;
+ var IS_NODE = engineIsNode;
+
+ // Chrome 80-82 has a critical bug
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
+ var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
+ var FORCED$2 = CHROME_BUG || !arrayMethodIsStrict$2('reduce');
+
+ // `Array.prototype.reduce` method
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
+ $$8({ target: 'Array', proto: true, forced: FORCED$2 }, {
+ reduce: function reduce(callbackfn /* , initialValue */) {
+ var length = arguments.length;
+ return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
}
- value = baseTrim(value);
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
- }
+ });
- var toNumber_1 = toNumber$1;
+ var getBuiltInPrototypeMethod$5 = getBuiltInPrototypeMethod$e;
- var toNumber = toNumber_1;
+ var reduce$3 = getBuiltInPrototypeMethod$5('Array', 'reduce');
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0,
- MAX_INTEGER = 1.7976931348623157e+308;
+ var isPrototypeOf$5 = objectIsPrototypeOf;
+ var method$5 = reduce$3;
- /**
- * Converts `value` to a finite number.
- *
- * @static
- * @memberOf _
- * @since 4.12.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted number.
- * @example
- *
- * _.toFinite(3.2);
- * // => 3.2
- *
- * _.toFinite(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toFinite(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toFinite('3.2');
- * // => 3.2
- */
- function toFinite$1(value) {
- if (!value) {
- return value === 0 ? value : 0;
- }
- value = toNumber(value);
- if (value === INFINITY || value === -INFINITY) {
- var sign = (value < 0 ? -1 : 1);
- return sign * MAX_INTEGER;
+ var ArrayPrototype$3 = Array.prototype;
+
+ var reduce$2 = function (it) {
+ var own = it.reduce;
+ return it === ArrayPrototype$3 || (isPrototypeOf$5(ArrayPrototype$3, it) && own === ArrayPrototype$3.reduce) ? method$5 : own;
+ };
+
+ var parent$c = reduce$2;
+
+ var reduce$1 = parent$c;
+
+ var reduce = reduce$1;
+
+ var _reduceInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(reduce);
+
+ var $$7 = _export;
+ var $map = arrayIteration.map;
+ var arrayMethodHasSpeciesSupport = arrayMethodHasSpeciesSupport$4;
+
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
+
+ // `Array.prototype.map` method
+ // https://tc39.es/ecma262/#sec-array.prototype.map
+ // with adding support of @@species
+ $$7({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
+ map: function map(callbackfn /* , thisArg */) {
+ return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
- return value === value ? value : 0;
- }
+ });
- var toFinite_1 = toFinite$1;
+ var getBuiltInPrototypeMethod$4 = getBuiltInPrototypeMethod$e;
- var toFinite = toFinite_1;
+ var map$3 = getBuiltInPrototypeMethod$4('Array', 'map');
- /**
- * Converts `value` to an integer.
- *
- * **Note:** This method is loosely based on
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toInteger(3.2);
- * // => 3
- *
- * _.toInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toInteger(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toInteger('3.2');
- * // => 3
- */
- function toInteger$1(value) {
- var result = toFinite(value),
- remainder = result % 1;
+ var isPrototypeOf$4 = objectIsPrototypeOf;
+ var method$4 = map$3;
+
+ var ArrayPrototype$2 = Array.prototype;
+
+ var map$2 = function (it) {
+ var own = it.map;
+ return it === ArrayPrototype$2 || (isPrototypeOf$4(ArrayPrototype$2, it) && own === ArrayPrototype$2.map) ? method$4 : own;
+ };
+
+ var parent$b = map$2;
- return result === result ? (remainder ? result - remainder : result) : 0;
- }
+ var map$1 = parent$b;
- var toInteger_1 = toInteger$1;
+ var map = map$1;
- var baseFindIndex$1 = _baseFindIndex,
- baseIteratee = _baseIteratee,
- toInteger = toInteger_1;
+ var _mapInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(map);
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeMax$1 = Math.max;
+ /* eslint-disable es/no-array-prototype-indexof -- required for testing */
+ var $$6 = _export;
+ var uncurryThis$4 = functionUncurryThisClause;
+ var $indexOf = arrayIncludes$2.indexOf;
+ var arrayMethodIsStrict$1 = arrayMethodIsStrict$4;
- /**
- * This method is like `_.find` except that it returns the index of the first
- * element `predicate` returns truthy for instead of the element itself.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.findIndex(users, function(o) { return o.user == 'barney'; });
- * // => 0
- *
- * // The `_.matches` iteratee shorthand.
- * _.findIndex(users, { 'user': 'fred', 'active': false });
- * // => 1
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findIndex(users, ['active', false]);
- * // => 0
- *
- * // The `_.property` iteratee shorthand.
- * _.findIndex(users, 'active');
- * // => 2
- */
- function findIndex$1(array, predicate, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
+ var nativeIndexOf = uncurryThis$4([].indexOf);
+
+ var NEGATIVE_ZERO$1 = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;
+ var FORCED$1 = NEGATIVE_ZERO$1 || !arrayMethodIsStrict$1('indexOf');
+
+ // `Array.prototype.indexOf` method
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
+ $$6({ target: 'Array', proto: true, forced: FORCED$1 }, {
+ indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
+ var fromIndex = arguments.length > 1 ? arguments[1] : undefined;
+ return NEGATIVE_ZERO$1
+ // convert -0 to +0
+ ? nativeIndexOf(this, searchElement, fromIndex) || 0
+ : $indexOf(this, searchElement, fromIndex);
}
- var index = fromIndex == null ? 0 : toInteger(fromIndex);
- if (index < 0) {
- index = nativeMax$1(length + index, 0);
+ });
+
+ var getBuiltInPrototypeMethod$3 = getBuiltInPrototypeMethod$e;
+
+ var indexOf$3 = getBuiltInPrototypeMethod$3('Array', 'indexOf');
+
+ var isPrototypeOf$3 = objectIsPrototypeOf;
+ var method$3 = indexOf$3;
+
+ var ArrayPrototype$1 = Array.prototype;
+
+ var indexOf$2 = function (it) {
+ var own = it.indexOf;
+ return it === ArrayPrototype$1 || (isPrototypeOf$3(ArrayPrototype$1, it) && own === ArrayPrototype$1.indexOf) ? method$3 : own;
+ };
+
+ var parent$a = indexOf$2;
+
+ var indexOf$1 = parent$a;
+
+ var indexOf = indexOf$1;
+
+ var _indexOfInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(indexOf);
+
+ // a string of all valid unicode whitespaces
+ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
+
+ var uncurryThis$3 = functionUncurryThis;
+ var requireObjectCoercible$1 = requireObjectCoercible$9;
+ var toString$1 = toString$d;
+ var whitespaces$1 = whitespaces$2;
+
+ var replace = uncurryThis$3(''.replace);
+ var ltrim = RegExp('^[' + whitespaces$1 + ']+');
+ var rtrim = RegExp('(^|[^' + whitespaces$1 + '])[' + whitespaces$1 + ']+$');
+
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
+ var createMethod$1 = function (TYPE) {
+ return function ($this) {
+ var string = toString$1(requireObjectCoercible$1($this));
+ if (TYPE & 1) string = replace(string, ltrim, '');
+ if (TYPE & 2) string = replace(string, rtrim, '$1');
+ return string;
+ };
+ };
+
+ var stringTrim = {
+ // `String.prototype.{ trimLeft, trimStart }` methods
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
+ start: createMethod$1(1),
+ // `String.prototype.{ trimRight, trimEnd }` methods
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
+ end: createMethod$1(2),
+ // `String.prototype.trim` method
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
+ trim: createMethod$1(3)
+ };
+
+ var PROPER_FUNCTION_NAME = functionName.PROPER;
+ var fails$2 = fails$r;
+ var whitespaces = whitespaces$2;
+
+ var non = '\u200B\u0085\u180E';
+
+ // check that a method works with the correct list
+ // of whitespaces and has a correct name
+ var stringTrimForced = function (METHOD_NAME) {
+ return fails$2(function () {
+ return !!whitespaces[METHOD_NAME]()
+ || non[METHOD_NAME]() !== non
+ || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);
+ });
+ };
+
+ var $$5 = _export;
+ var $trim = stringTrim.trim;
+ var forcedStringTrimMethod = stringTrimForced;
+
+ // `String.prototype.trim` method
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
+ $$5({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
+ trim: function trim() {
+ return $trim(this);
}
- return baseFindIndex$1(array, baseIteratee(predicate), index);
- }
+ });
- var findIndex_1 = findIndex$1;
+ var getBuiltInPrototypeMethod$2 = getBuiltInPrototypeMethod$e;
- var createFind = _createFind,
- findIndex = findIndex_1;
+ var trim$3 = getBuiltInPrototypeMethod$2('String', 'trim');
- /**
- * Iterates over elements of `collection`, returning the first element
- * `predicate` returns truthy for. The predicate is invoked with three
- * arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {*} Returns the matched element, else `undefined`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': true },
- * { 'user': 'fred', 'age': 40, 'active': false },
- * { 'user': 'pebbles', 'age': 1, 'active': true }
- * ];
- *
- * _.find(users, function(o) { return o.age < 40; });
- * // => object for 'barney'
- *
- * // The `_.matches` iteratee shorthand.
- * _.find(users, { 'age': 1, 'active': true });
- * // => object for 'pebbles'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.find(users, ['active', false]);
- * // => object for 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.find(users, 'active');
- * // => object for 'barney'
- */
- var find = createFind(findIndex);
+ var isPrototypeOf$2 = objectIsPrototypeOf;
+ var method$2 = trim$3;
- var find_1 = find;
+ var StringPrototype$1 = String.prototype;
- var _find = /*@__PURE__*/getDefaultExportFromCjs(find_1);
+ var trim$2 = function (it) {
+ var own = it.trim;
+ return typeof it == 'string' || it === StringPrototype$1
+ || (isPrototypeOf$2(StringPrototype$1, it) && own === StringPrototype$1.trim) ? method$2 : own;
+ };
+
+ var parent$9 = trim$2;
+
+ var trim$1 = parent$9;
+
+ var trim = trim$1;
+
+ var _trimInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(trim);
var _wcImport4 = ".sp-separator {\n line-height: 1.8 !important;\n opacity: 1 !important;\n position: relative !important;\n float: none !important;\n top: 0 !important;\n left: 0 !important;\n min-width: 366px;\n width: auto;\n text-align: center !important;\n font-size: 14px !important;\n display: block !important;\n padding: 3px 0 !important;\n margin: 5px 10px 8px;\n clear: both !important;\n border-style: solid !important;\n border-color: #cccccc !important;\n border-width: 1px !important;\n -moz-border-radius: 30px !important;\n border-radius: 30px !important;\n background-color: #ffffff !important;\n}\n\n.sp-separator:hover {\n box-shadow: 0 0 11px rgba(33, 33, 33, 0.2);\n}\n\n#sp-separator-hover {\n display: none;\n}\n\n.sp-separator:hover #sp-separator-hover {\n display: block;\n}\n\n.sp-separator .sp-someinfo {\n position: absolute !important;\n right: 10px !important;\n font-size: 12px !important;\n font-style: italic !important;\n background: none !important;\n}\n\n.sp-separator img {\n vertical-align: middle !important;\n cursor: pointer !important;\n padding: 0 !important;\n margin: 0 5px !important;\n border: none !important;\n display: inline-block !important;\n float: none !important;\n width: auto;\n height: auto;\n}\n\n.sp-separator a {\n margin: 0 20px 0 -6px !important;\n display: inline !important;\n text-shadow: #fff 0 1px 0 !important;\n background: none !important;\n color: #595959 !important;\n}\n\n.sp-separator input {\n padding: 0 !important;\n line-height: 23px !important;\n}\n\n.sp-separator .sp-md-span {\n font-weight: bold !important;\n margin: 0 20px !important;\n}\n\n#sp-sp-md-number {\n width: 6ch !important;\n vertical-align: middle !important;\n display: inline-block !important;\n text-align: left !important;\n}";
@@ -3613,7 +9182,7 @@
// this is primarily because using the reduce we only perform the regex
// execution once rather than once for the test and for the exec again below
// probably something that needs to be benchmarked though
- return ua !== '' && userAgentRules.reduce(function (matched, _a) {
+ return ua !== '' && _reduceInstanceProperty(userAgentRules).call(userAgentRules, function (matched, _a) {
var browser = _a[0],
regex = _a[1];
if (matched) {
@@ -3624,6 +9193,7 @@
}, false);
}
function parseUserAgent(ua) {
+ var _context;
var matchedRule = matchUserAgent(ua);
if (!matchedRule) {
return {
@@ -3634,7 +9204,7 @@
var _matchedRule = _slicedToArray(matchedRule, 2),
name = _matchedRule[0],
match = _matchedRule[1];
- var versionParts = match[1] && match[1].split(/[._]/).slice(0, 3);
+ var versionParts = match[1] && _sliceInstanceProperty(_context = match[1].split(/[._]/)).call(_context, 0, 3);
if (!versionParts) {
versionParts = ['1'];
}
@@ -4103,7 +9673,7 @@
}
}
- var name="super-preloader";var version="7.0.13";var description="Super-preloader";var main="dist/Super_preloaderPlus_one_New.user.js";var author="Mach6";var license="GPL-3.0";var type="module";var bugs={url:"https://github.com/machsix/Super-preloader/issues"};var homepage="https://github.com/machsix/Super-preloader";var directories={doc:"docs"};var repository={type:"git",url:"git+https://github.com/machsix/Super-preloader.git"};var scripts={preinstall:"npx only-allow pnpm",lint:"eslint \"dist/*.json\" \"src/**/*.js\" \"ci/*.js\" \"rollup.config.mjs\"",fix:"eslint \"dist/*.json\" \"src/**/*.js\" \"ci/*.js\" \"rollup.config.mjs\" --fix",format:"prettier --write \"dist/*.json\" \"src/**/*.{js,css}\" \"ci/*.js\" \"rollup.config.mjs\" \"docs/**/*.{js,md}\"","format:check":"prettier --check \"dist/*.json\" \"src/**/*.{js,css}\" \"ci/*.js\" \"rollup.config.mjs\" \"docs/**/*.{js,md}\"","format:staged":"lint-staged -v",check:"pnpm run lint && pnpm run typecheck",test:"cd test && node test.js",dev:"rollup -c --dev -w",build:"rollup -c","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:publish":"pnpm run docs:build && bash ./ci/gen_ghpage.sh",preversion:"pnpm run check",version:"pnpm run build && git add dist/*.js && git add dist/*.json",postversion:"git add package.json package-lock.json && npm run test","publish:patch":"pnpm --no-git-tag-version version patch",publish:"pnpm --no-git-tag-version version minor",typecheck:"tsc -p jsconfig.json --noEmit","docs:preview":"vitepress preview docs"};var husky={hooks:{"pre-commit":"npm run check"}};var keywords=["userscript"];var devDependencies={typescript:"5.4.5",vitepress:"^1.1.4",vue:"^3.4.26"};var dependencies={"@babel/core":"7.24.4","@babel/plugin-syntax-import-attributes":"7.24.1","@babel/plugin-transform-runtime":"7.24.3","@babel/preset-env":"7.24.4","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-json":"6.1.0","@rollup/plugin-node-resolve":"15.2.3","@types/greasemonkey":"4.0.7","@types/lodash":"4.17.0","babel-plugin-lodash":"3.3.4","babel-plugin-wildcard":"7.0.0","compare-versions":"6.1.0","cross-env":"7.0.3",displacejs:"https://github.com/machsix/displace.git#v1.4.0",eslint:"^8.0.0","eslint-config-prettier":"9.1.0","eslint-plugin-import":"2.29.1","eslint-plugin-json":"3.1.0","eslint-plugin-prettier":"5.1.3","extract-zip":"2.0.1",got:"14.2.1",husky:"9.0.11","lint-staged":"15.2.2",lodash:"4.17.21",loglevel:"1.9.1",prettier:"3.2.5",puppeteer:"2.1.0",rollup:"4.14.3","rollup-plugin-banner2":"1.2.3","rollup-plugin-dev":"2.0.4","rollup-plugin-ejs":"4.0.0","rollup-plugin-re":"1.0.7","rollup-plugin-scss-string":"github:machsix/rollup-plugin-scss-string",yargs:"17.7.2"};var pkg = {name:name,version:version,description:description,main:main,author:author,license:license,type:type,bugs:bugs,homepage:homepage,directories:directories,repository:repository,scripts:scripts,husky:husky,keywords:keywords,devDependencies:devDependencies,dependencies:dependencies};
+ var name="super-preloader";var version="7.0.15";var description="Super-preloader";var main="dist/Super_preloaderPlus_one_New.user.js";var author="Mach6";var license="GPL-3.0";var type="module";var bugs={url:"https://github.com/machsix/Super-preloader/issues"};var homepage="https://github.com/machsix/Super-preloader";var directories={doc:"docs"};var repository={type:"git",url:"git+https://github.com/machsix/Super-preloader.git"};var scripts={preinstall:"npx only-allow pnpm",lint:"eslint \"dist/*.json\" \"src/**/*.js\" \"ci/*.js\" \"rollup.config.mjs\"",fix:"eslint \"dist/*.json\" \"src/**/*.js\" \"ci/*.js\" \"rollup.config.mjs\" --fix",format:"prettier --write \"dist/*.json\" \"src/**/*.{js,css}\" \"ci/*.js\" \"rollup.config.mjs\" \"docs/**/*.{ts,js,md}\"","format:check":"prettier --check \"dist/*.json\" \"src/**/*.{js,css}\" \"ci/*.js\" \"rollup.config.mjs\" \"docs/**/*.{ts,js,md}\"","format:staged":"lint-staged -v",check:"pnpm run lint && pnpm run typecheck",test:"cd test && node test.js",dev:"rollup -c --dev -w",build:"rollup -c","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:publish":"pnpm run docs:build && bash ./ci/gen_ghpage.sh","docs:preview":"vitepress preview docs",preversion:"pnpm run check",version:"pnpm run build && git add dist/*.js && git add dist/*.json",postversion:"git add package.json package-lock.json && pnpm run test","publish:patch":"npm --no-git-tag-version version patch",publish:"npm --no-git-tag-version version minor",typecheck:"tsc -p jsconfig.json --noEmit"};var husky={hooks:{"pre-commit":"pnpm run check"}};var keywords=["userscript"];var devDependencies={typescript:"5.4.5",vitepress:"^1.1.4",vue:"^3.4.26"};var dependencies={"@babel/core":"7.24.4","@babel/plugin-syntax-import-attributes":"7.24.1","@babel/plugin-transform-runtime":"7.24.3","@babel/preset-env":"7.24.4","@babel/runtime-corejs3":"^7.24.5","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-json":"6.1.0","@rollup/plugin-node-resolve":"15.2.3","@types/greasemonkey":"4.0.7","@types/lodash":"4.17.0","babel-plugin-lodash":"3.3.4","babel-plugin-wildcard":"7.0.0","compare-versions":"6.1.0","cross-env":"7.0.3",displacejs:"https://github.com/machsix/displace.git#v1.4.0",eslint:"^8.0.0","eslint-config-prettier":"9.1.0","eslint-plugin-import":"2.29.1","eslint-plugin-json":"3.1.0","eslint-plugin-prettier":"5.1.3","extract-zip":"2.0.1",got:"14.2.1",husky:"9.0.11","lint-staged":"15.2.2",lodash:"4.17.21",loglevel:"1.9.1",prettier:"3.2.5",puppeteer:"2.1.0",rollup:"4.14.3","rollup-plugin-banner2":"1.2.3","rollup-plugin-dev":"2.0.4","rollup-plugin-ejs":"4.0.0","rollup-plugin-re":"1.0.7","rollup-plugin-scss-string":"github:machsix/rollup-plugin-scss-string",yargs:"17.7.2"};var pnpm={overrides:{"babel-plugin-lodash>@babel/types":"~7.20.0"}};var pkg = {name:name,version:version,description:description,main:main,author:author,license:license,type:type,bugs:bugs,homepage:homepage,directories:directories,repository:repository,scripts:scripts,husky:husky,keywords:keywords,devDependencies:devDependencies,dependencies:dependencies,pnpm:pnpm};
// Information of script
var now = new Date();
@@ -4393,6 +9963,78 @@
var TweenM = ['Linear', 'Quad', 'Cubic', 'Quart', 'Quint', 'Sine', 'Expo', 'Circ', 'Elastic', 'Back', 'Bounce'];
var TweenEase = ['easeIn', 'easeOut', 'easeInOut'];
+ var DESCRIPTORS$2 = descriptors;
+ var fails$1 = fails$r;
+ var uncurryThis$2 = functionUncurryThis;
+ var objectGetPrototypeOf = objectGetPrototypeOf$1;
+ var objectKeys$1 = objectKeys$4;
+ var toIndexedObject$2 = toIndexedObject$b;
+ var $propertyIsEnumerable = objectPropertyIsEnumerable.f;
+
+ var propertyIsEnumerable = uncurryThis$2($propertyIsEnumerable);
+ var push = uncurryThis$2([].push);
+
+ // in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys
+ // of `null` prototype objects
+ var IE_BUG = DESCRIPTORS$2 && fails$1(function () {
+ // eslint-disable-next-line es/no-object-create -- safe
+ var O = Object.create(null);
+ O[2] = 2;
+ return !propertyIsEnumerable(O, 2);
+ });
+
+ // `Object.{ entries, values }` methods implementation
+ var createMethod = function (TO_ENTRIES) {
+ return function (it) {
+ var O = toIndexedObject$2(it);
+ var keys = objectKeys$1(O);
+ var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;
+ var length = keys.length;
+ var i = 0;
+ var result = [];
+ var key;
+ while (length > i) {
+ key = keys[i++];
+ if (!DESCRIPTORS$2 || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {
+ push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
+ }
+ }
+ return result;
+ };
+ };
+
+ var objectToArray = {
+ // `Object.entries` method
+ // https://tc39.es/ecma262/#sec-object.entries
+ entries: createMethod(true),
+ // `Object.values` method
+ // https://tc39.es/ecma262/#sec-object.values
+ values: createMethod(false)
+ };
+
+ var $$4 = _export;
+ var $entries = objectToArray.entries;
+
+ // `Object.entries` method
+ // https://tc39.es/ecma262/#sec-object.entries
+ $$4({ target: 'Object', stat: true }, {
+ entries: function entries(O) {
+ return $entries(O);
+ }
+ });
+
+ var path$3 = path$h;
+
+ var entries$2 = path$3.Object.entries;
+
+ var parent$8 = entries$2;
+
+ var entries$1 = parent$8;
+
+ var entries = entries$1;
+
+ var _Object$entries2 = /*@__PURE__*/getDefaultExportFromCjs(entries);
+
/**
* Set multiple attributes of a dom element
* @param {object} el dom element
@@ -4400,7 +10042,7 @@
* @returns {null} null
*/
function setMultipleAttributes(el, attr) {
- for (var _i = 0, _Object$entries = Object.entries(attr); _i < _Object$entries.length; _i++) {
+ for (var _i = 0, _Object$entries = _Object$entries2(attr); _i < _Object$entries.length; _i++) {
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
key = _Object$entries$_i[0],
val = _Object$entries$_i[1];
@@ -4519,6 +10161,124 @@
}
}
+ var from = from$4;
+
+ var _Array$from = /*@__PURE__*/getDefaultExportFromCjs(from);
+
+ var symbol = symbol$4;
+
+ var _Symbol = /*@__PURE__*/getDefaultExportFromCjs(symbol);
+
+ var path$2 = path$h;
+
+ var getOwnPropertySymbols$2 = path$2.Object.getOwnPropertySymbols;
+
+ var parent$7 = getOwnPropertySymbols$2;
+
+ var getOwnPropertySymbols$1 = parent$7;
+
+ var getOwnPropertySymbols = getOwnPropertySymbols$1;
+
+ var _Object$getOwnPropertySymbols = /*@__PURE__*/getDefaultExportFromCjs(getOwnPropertySymbols);
+
+ var $$3 = _export;
+ var DESCRIPTORS$1 = descriptors;
+ var ownKeys$3 = ownKeys$5;
+ var toIndexedObject$1 = toIndexedObject$b;
+ var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
+ var createProperty = createProperty$4;
+
+ // `Object.getOwnPropertyDescriptors` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
+ $$3({ target: 'Object', stat: true, sham: !DESCRIPTORS$1 }, {
+ getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
+ var O = toIndexedObject$1(object);
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
+ var keys = ownKeys$3(O);
+ var result = {};
+ var index = 0;
+ var key, descriptor;
+ while (keys.length > index) {
+ descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
+ if (descriptor !== undefined) createProperty(result, key, descriptor);
+ }
+ return result;
+ }
+ });
+
+ var path$1 = path$h;
+
+ var getOwnPropertyDescriptors$2 = path$1.Object.getOwnPropertyDescriptors;
+
+ var parent$6 = getOwnPropertyDescriptors$2;
+
+ var getOwnPropertyDescriptors$1 = parent$6;
+
+ var getOwnPropertyDescriptors = getOwnPropertyDescriptors$1;
+
+ var _Object$getOwnPropertyDescriptors = /*@__PURE__*/getDefaultExportFromCjs(getOwnPropertyDescriptors);
+
+ function _typeof(o) {
+ "@babel/helpers - typeof";
+
+ return _typeof = "function" == typeof _Symbol$2 && "symbol" == typeof _Symbol$iterator ? function (o) {
+ return typeof o;
+ } : function (o) {
+ return o && "function" == typeof _Symbol$2 && o.constructor === _Symbol$2 && o !== _Symbol$2.prototype ? "symbol" : typeof o;
+ }, _typeof(o);
+ }
+
+ var WrappedWellKnownSymbolModule = wellKnownSymbolWrapped;
+
+ var toPrimitive$5 = WrappedWellKnownSymbolModule.f('toPrimitive');
+
+ var parent$5 = toPrimitive$5;
+
+ var toPrimitive$4 = parent$5;
+
+ var parent$4 = toPrimitive$4;
+
+ var toPrimitive$3 = parent$4;
+
+ var parent$3 = toPrimitive$3;
+
+ var toPrimitive$2 = parent$3;
+
+ var toPrimitive$1 = toPrimitive$2;
+
+ var _Symbol$toPrimitive = /*@__PURE__*/getDefaultExportFromCjs(toPrimitive$1);
+
+ function toPrimitive(t, r) {
+ if ("object" != _typeof(t) || !t) return t;
+ var e = t[_Symbol$toPrimitive];
+ if (void 0 !== e) {
+ var i = e.call(t, r || "default");
+ if ("object" != _typeof(i)) return i;
+ throw new TypeError("@@toPrimitive must return a primitive value.");
+ }
+ return ("string" === r ? String : Number)(t);
+ }
+
+ function toPropertyKey(t) {
+ var i = toPrimitive(t, "string");
+ return "symbol" == _typeof(i) ? i : i + "";
+ }
+
+ function _defineProperty$1(obj, key, value) {
+ key = toPropertyKey(key);
+ if (key in obj) {
+ _Object$defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+ return obj;
+ }
+
var baseGetTag$1 = _baseGetTag,
isArray$2 = isArray_1,
isObjectLike$2 = isObjectLike_1;
@@ -4722,7 +10482,7 @@
var _baseDifference = baseDifference$1;
- var Symbol$1 = _Symbol,
+ var Symbol$1 = _Symbol$1,
isArguments$1 = isArguments_1,
isArray$1 = isArray_1;
@@ -4793,7 +10553,7 @@
* @returns {*} Returns the result of `func`.
*/
- function apply$1(func, thisArg, args) {
+ function apply$2(func, thisArg, args) {
switch (args.length) {
case 0: return func.call(thisArg);
case 1: return func.call(thisArg, args[0]);
@@ -4803,9 +10563,9 @@
return func.apply(thisArg, args);
}
- var _apply = apply$1;
+ var _apply = apply$2;
- var apply = _apply;
+ var apply$1 = _apply;
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = Math.max;
@@ -4836,7 +10596,7 @@
otherArgs[index] = args[index];
}
otherArgs[start] = transform(array);
- return apply(func, this, otherArgs);
+ return apply$1(func, this, otherArgs);
};
}
@@ -4872,7 +10632,7 @@
var getNative = _getNative;
- var defineProperty$1 = (function() {
+ var defineProperty$2 = (function() {
try {
var func = getNative(Object, 'defineProperty');
func({}, '', {});
@@ -4880,10 +10640,10 @@
} catch (e) {}
}());
- var _defineProperty = defineProperty$1;
+ var _defineProperty = defineProperty$2;
var constant = constant_1,
- defineProperty = _defineProperty,
+ defineProperty$1 = _defineProperty,
identity$1 = identity_1;
/**
@@ -4894,8 +10654,8 @@
* @param {Function} string The `toString` result.
* @returns {Function} Returns `func`.
*/
- var baseSetToString$1 = !defineProperty ? identity$1 : function(func, string) {
- return defineProperty(func, 'toString', {
+ var baseSetToString$1 = !defineProperty$1 ? identity$1 : function(func, string) {
+ return defineProperty$1(func, 'toString', {
'configurable': true,
'enumerable': false,
'value': constant(string),
@@ -5507,11 +11267,11 @@
var availableEjsLangs = Object.keys(ejs);
for (var _i = 0, _availableEjsLangs = availableEjsLangs; _i < _availableEjsLangs.length; _i++) {
var lang = _availableEjsLangs[_i];
- if (availableJsonLangs.includes(lang)) {
+ if (_includesInstanceProperty(availableJsonLangs).call(availableJsonLangs, lang)) {
var li8n = i8n[lang];
// spinner
var spinner = {};
- for (var _i2 = 0, _Object$entries = Object.entries(li8n.spinner); _i2 < _Object$entries.length; _i2++) {
+ for (var _i2 = 0, _Object$entries = _Object$entries2(li8n.spinner); _i2 < _Object$entries.length; _i2++) {
var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
k = _Object$entries$_i[0],
v = _Object$entries$_i[1];
@@ -5529,7 +11289,7 @@
var template = ejs.en_US;
function langDetect() {
var userLang = navigator.language || navigator.userLanguage;
- if (userLang.indexOf('zh') !== -1) {
+ if (_indexOfInstanceProperty(userLang).call(userLang, 'zh') !== -1) {
return 'zh_CN';
} else {
return 'en_US';
@@ -5537,7 +11297,7 @@
}
var userLang = langDetect();
function setLang(x) {
- if (availableLangs.includes(x)) {
+ if (_includesInstanceProperty(availableLangs).call(availableLangs, x)) {
userLang = x;
template = ejs[userLang];
} else {
@@ -5571,7 +11331,7 @@
return val;
}
if (val.length === 0) return val;
- var mk = val.slice(0, 1);
+ var mk = _sliceInstanceProperty(val).call(val, 0, 1);
try {
switch (mk) {
case magicKey.undefined:
@@ -5579,7 +11339,7 @@
case magicKey.null:
return null;
case magicKey.function:
- return new Function(`return ${val.slice(1)}`)();
+ return new Function(`return ${_sliceInstanceProperty(val).call(val, 1)}`)();
default:
return val;
}
@@ -5589,7 +11349,7 @@
}
}
function stringify(obj) {
- return JSON.stringify(obj, replacer);
+ return _JSON$stringify(obj, replacer);
}
function parse(obj) {
return JSON.parse(obj, reviver);
@@ -5763,6 +11523,135 @@
var _isUndefined = /*@__PURE__*/getDefaultExportFromCjs(isUndefined_1);
+ var $$2 = _export;
+ var uncurryThis$1 = functionUncurryThisClause;
+ var toLength = toLength$3;
+ var toString = toString$d;
+ var notARegExp = notARegexp;
+ var requireObjectCoercible = requireObjectCoercible$9;
+ var correctIsRegExpLogic = correctIsRegexpLogic;
+
+ var slice = uncurryThis$1(''.slice);
+ var min$1 = Math.min;
+
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
+
+ // `String.prototype.endsWith` method
+ // https://tc39.es/ecma262/#sec-string.prototype.endswith
+ $$2({ target: 'String', proto: true, forced: !CORRECT_IS_REGEXP_LOGIC }, {
+ endsWith: function endsWith(searchString /* , endPosition = @length */) {
+ var that = toString(requireObjectCoercible(this));
+ notARegExp(searchString);
+ var endPosition = arguments.length > 1 ? arguments[1] : undefined;
+ var len = that.length;
+ var end = endPosition === undefined ? len : min$1(toLength(endPosition), len);
+ var search = toString(searchString);
+ return slice(that, end - search.length, end) === search;
+ }
+ });
+
+ var getBuiltInPrototypeMethod$1 = getBuiltInPrototypeMethod$e;
+
+ var endsWith$3 = getBuiltInPrototypeMethod$1('String', 'endsWith');
+
+ var isPrototypeOf$1 = objectIsPrototypeOf;
+ var method$1 = endsWith$3;
+
+ var StringPrototype = String.prototype;
+
+ var endsWith$2 = function (it) {
+ var own = it.endsWith;
+ return typeof it == 'string' || it === StringPrototype
+ || (isPrototypeOf$1(StringPrototype, it) && own === StringPrototype.endsWith) ? method$1 : own;
+ };
+
+ var parent$2 = endsWith$2;
+
+ var endsWith$1 = parent$2;
+
+ var endsWith = endsWith$1;
+
+ var _endsWithInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(endsWith);
+
+ var DESCRIPTORS = descriptors;
+ var uncurryThis = functionUncurryThis;
+ var call = functionCall;
+ var fails = fails$r;
+ var objectKeys = objectKeys$4;
+ var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
+ var propertyIsEnumerableModule = objectPropertyIsEnumerable;
+ var toObject = toObject$b;
+ var IndexedObject = indexedObject;
+
+ // eslint-disable-next-line es/no-object-assign -- safe
+ var $assign = Object.assign;
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+ var defineProperty = Object.defineProperty;
+ var concat = uncurryThis([].concat);
+
+ // `Object.assign` method
+ // https://tc39.es/ecma262/#sec-object.assign
+ var objectAssign = !$assign || fails(function () {
+ // should have correct order of operations (Edge bug)
+ if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
+ enumerable: true,
+ get: function () {
+ defineProperty(this, 'b', {
+ value: 3,
+ enumerable: false
+ });
+ }
+ }), { b: 2 })).b !== 1) return true;
+ // should work with symbols and should have deterministic property order (V8 bug)
+ var A = {};
+ var B = {};
+ // eslint-disable-next-line es/no-symbol -- safe
+ var symbol = Symbol('assign detection');
+ var alphabet = 'abcdefghijklmnopqrst';
+ A[symbol] = 7;
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
+ return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
+ var T = toObject(target);
+ var argumentsLength = arguments.length;
+ var index = 1;
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
+ var propertyIsEnumerable = propertyIsEnumerableModule.f;
+ while (argumentsLength > index) {
+ var S = IndexedObject(arguments[index++]);
+ var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
+ var length = keys.length;
+ var j = 0;
+ var key;
+ while (length > j) {
+ key = keys[j++];
+ if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
+ }
+ } return T;
+ } : $assign;
+
+ var $$1 = _export;
+ var assign$3 = objectAssign;
+
+ // `Object.assign` method
+ // https://tc39.es/ecma262/#sec-object.assign
+ // eslint-disable-next-line es/no-object-assign -- required for testing
+ $$1({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign$3 }, {
+ assign: assign$3
+ });
+
+ var path = path$h;
+
+ var assign$2 = path.Object.assign;
+
+ var parent$1 = assign$2;
+
+ var assign$1 = parent$1;
+
+ var assign = assign$1;
+
+ var _Object$assign = /*@__PURE__*/getDefaultExportFromCjs(assign);
+
// #if IS_REMOVE
// lite verions of https://github.com/machsix/iconv-browser
//
@@ -5779,8 +11668,9 @@
*/
function buf2hex(buffer) {
// buffer is an ArrayBuffer
- return Array.prototype.map.call(new Uint8Array(buffer), function (x) {
- return ('00' + x.toString(16)).slice(-2);
+ return _mapInstanceProperty(Array.prototype).call(new Uint8Array(buffer), function (x) {
+ var _context;
+ return _sliceInstanceProperty(_context = '00' + x.toString(16)).call(_context, -2);
});
}
@@ -5805,11 +11695,12 @@
function isURIcomponent(str) {
return /^[A-Za-z0-9;,/?:@&=+$-_.!~*'()#]*$/.test(str);
}
- return [].map.call(text, function (x) {
+ return _mapInstanceProperty([]).call(text, function (x) {
if (isURIcomponent(x)) {
return x;
} else {
- return `%${encodeHex(x).map(function (x) {
+ var _context2;
+ return `%${_mapInstanceProperty(_context2 = encodeHex(x)).call(_context2, function (x) {
return x.toUpperCase();
}).join('%')}`;
}
@@ -5818,7 +11709,7 @@
var lowercaseKeys = (function (object) {
var result = {};
- for (var _i = 0, _Object$entries = Object.entries(object); _i < _Object$entries.length; _i++) {
+ for (var _i = 0, _Object$entries = _Object$entries2(object); _i < _Object$entries.length; _i++) {
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
key = _Object$entries$_i[0],
value = _Object$entries$_i[1];
@@ -5827,8 +11718,8 @@
return result;
});
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var isNullOrUndefined = function isNullOrUndefined(x) {
return _isUndefined(x) || _isNull(x);
};
@@ -5847,7 +11738,8 @@
return searchParams;
},
stringify(params) {
- return Object.keys(params).map(function (key) {
+ var _context;
+ return _mapInstanceProperty(_context = Object.keys(params)).call(_context, function (key) {
return key + '=' + params[key];
}).join('&');
}
@@ -5906,7 +11798,7 @@
options.headers = lowercaseKeys(options.headers);
var headers = options.headers;
if (headers) {
- for (var _i = 0, _Object$entries = Object.entries(headers); _i < _Object$entries.length; _i++) {
+ for (var _i = 0, _Object$entries = _Object$entries2(headers); _i < _Object$entries.length; _i++) {
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
key = _Object$entries$_i[0],
value = _Object$entries$_i[1];
@@ -5925,8 +11817,9 @@
// `options.prefixUrl`
if (!isNullOrUndefined(options.prefixUrl)) {
try {
+ var _context2;
options.prefixUrl = options.prefixUrl.toString();
- if (!options.prefixUrl.endsWith('/')) {
+ if (!_endsWithInstanceProperty(_context2 = options.prefixUrl).call(_context2, '/')) {
options.prefixUrl += '/';
}
} catch (error) {
@@ -6095,7 +11988,7 @@
retryCount: retryCount,
executorName: name // use to track back which callback function is called
};
- Object.assign(nodeResponse, xmlResponse);
+ _Object$assign(nodeResponse, xmlResponse);
return executor(nodeResponse);
};
};
@@ -6107,7 +12000,7 @@
*/
var genPromise = function genPromise() {
var retryCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
- return new Promise(function (resolve, reject) {
+ return new _Promise(function (resolve, reject) {
gmOptions.onload = genCallback(resolve, 'onload', retryCount);
['onabort', 'onerror', 'ontimeout'].forEach(function (method) {
gmOptions[method] = genCallback(reject, method, retryCount);
@@ -6115,7 +12008,7 @@
GM.xmlHttpRequest(gmOptions);
});
};
- return new Promise(function (resolve, reject) {
+ return new _Promise(function (resolve, reject) {
var retryPromise = function retryPromise(retryCount) {
genPromise(retryCount).then(function (nodeResponse) {
return resolve(nodeResponse);
@@ -6182,10 +12075,10 @@
var _flatten = /*@__PURE__*/getDefaultExportFromCjs(flatten_1);
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
- function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
- function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); }
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
+ function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+ function _unsupportedIterableToArray$2(o, minLen) { var _context10; if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = _sliceInstanceProperty(_context10 = Object.prototype.toString.call(o)).call(_context10, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); }
function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var got = got$1.create({
cache: false
@@ -6360,15 +12253,17 @@
// Providers
var MyData = new RuleProvider('machsix.github.io', ['https://machsix.github.io/Super-preloader/mydata.json'], 'https://machsix.github.io/Super-preloader/mydata_detail.json');
var WeData = new RuleProvider('wedata.net', ['http://wedata.net/databases/AutoPagerize/items.json', 'https://machsix.github.io/Super-preloader/wedata.json'], 'http://wedata.net/databases/AutoPagerize.json', function (res) {
- return (_isString(res.data) ? JSON.parse(res.data) : res.data).filter(function (i) {
+ var _context3, _context4;
+ return _mapInstanceProperty(_context3 = _filterInstanceProperty(_context4 = _isString(res.data) ? JSON.parse(res.data) : res.data).call(_context4, function (i) {
var nameFilter = ['Generic Posts Rule', 'hAtom'];
for (var j = 0; j < nameFilter.length; j++) {
- if (nameFilter[j].indexOf(i.name) >= 0) {
+ var _context5;
+ if (_indexOfInstanceProperty(_context5 = nameFilter[j]).call(_context5, i.name) >= 0) {
return false;
}
}
return true;
- }).map(function (i) {
+ })).call(_context3, function (i) {
return _objectSpread$1({
name: i.name,
resource_url: i.resource_url
@@ -6383,7 +12278,7 @@
*/
var jsonRuleLoader = {
providers: p,
- rule: p.map(function () {
+ rule: _mapInstanceProperty(p).call(p, function () {
return [];
}),
expire: new Date('1992-05-15'),
@@ -6395,64 +12290,61 @@
return _flatten(this.rule);
},
saveRule() {
- var _arguments = arguments,
- _this3 = this;
+ var _this3 = this;
+ var saveDB = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
- var saveDB;
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
- while (1) switch (_context3.prev = _context3.next) {
+ return _regeneratorRuntime.wrap(function _callee3$(_context6) {
+ while (1) switch (_context6.prev = _context6.next) {
case 0:
- saveDB = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : true;
- _context3.next = 3;
+ _context6.next = 2;
return GM.setValue('jsonRuleInfo', {
expire: _this3.expire.toJSON(),
updatePeriodInDay: _this3.updatePeriodInDay
});
- case 3:
+ case 2:
if (!saveDB) {
- _context3.next = 6;
+ _context6.next = 5;
break;
}
- _context3.next = 6;
+ _context6.next = 5;
return GM.setValue('SITEINFO_json', _this3.rule);
- case 6:
+ case 5:
case "end":
- return _context3.stop();
+ return _context6.stop();
}
}, _callee3);
}))();
},
updateRule() {
- var _arguments2 = arguments,
- _this4 = this;
+ var _this4 = this;
+ var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
- var force, lastUpdate, today, promises;
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
- while (1) switch (_context4.prev = _context4.next) {
+ var lastUpdate, today, _context7, promises;
+ return _regeneratorRuntime.wrap(function _callee4$(_context8) {
+ while (1) switch (_context8.prev = _context8.next) {
case 0:
- force = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : false;
if (force) {
_this4.resetExpire();
}
lastUpdate = new Date(+_this4.expire - _this4.updatePeriodInDay * 24 * 60 * 60 * 1000);
today = new Date();
if (!(today > _this4.expire)) {
- _context4.next = 10;
+ _context8.next = 9;
break;
}
- promises = _this4.providers.map(function (x) {
+ promises = _mapInstanceProperty(_context7 = _this4.providers).call(_context7, function (x) {
return x.updateRule(lastUpdate);
});
- _context4.next = 8;
- return Promise.all(promises).then(function (values) {
- var status = values.map(function (_ref) {
+ _context8.next = 7;
+ return _Promise.all(promises).then(function (values) {
+ var status = _mapInstanceProperty(values).call(values, function (_ref) {
var status = _ref.status;
return status === 'fulfilled' || false;
});
if (status.every(function (x) {
return x;
})) {
- _this4.rule = values.map(function (_ref2) {
+ _this4.rule = _mapInstanceProperty(values).call(values, function (_ref2) {
var value = _ref2.value;
return value ? value : _this4.rule;
});
@@ -6465,34 +12357,33 @@
_this4.saveRule(false);
}
});
- case 8:
- _context4.next = 11;
+ case 7:
+ _context8.next = 10;
break;
- case 10:
+ case 9:
logger.info("[Super-preloader]", `[UpdateRule] Next update at: ${_this4.expire}`);
- case 11:
+ case 10:
case "end":
- return _context4.stop();
+ return _context8.stop();
}
}, _callee4);
}))();
},
loadRule() {
- var _arguments3 = arguments,
- _this5 = this;
+ var _this5 = this;
+ var forceUpdateRule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
- var forceUpdateRule, _yield$Promise$all, _yield$Promise$all2, jsonRuleInfo, rule;
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
- while (1) switch (_context5.prev = _context5.next) {
+ var _yield$Promise$all, _yield$Promise$all2, jsonRuleInfo, rule;
+ return _regeneratorRuntime.wrap(function _callee5$(_context9) {
+ while (1) switch (_context9.prev = _context9.next) {
case 0:
- forceUpdateRule = _arguments3.length > 0 && _arguments3[0] !== undefined ? _arguments3[0] : false;
- _context5.next = 3;
- return Promise.all([GM.getValue('jsonRuleInfo', {
+ _context9.next = 2;
+ return _Promise.all([GM.getValue('jsonRuleInfo', {
expire: _this5.expire.toJSON(),
updatePeriodInDay: _this5.updatePeriodInDay
}), GM.getValue('SITEINFO_json', _this5.rule)]);
- case 3:
- _yield$Promise$all = _context5.sent;
+ case 2:
+ _yield$Promise$all = _context9.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
jsonRuleInfo = _yield$Promise$all2[0];
rule = _yield$Promise$all2[1];
@@ -6502,26 +12393,26 @@
_this5.updatePeriodInDay = parseInt(jsonRuleInfo.updatePeriodInDay);
_this5.rule = rule;
if (!(forceUpdateRule || _this5.getRule().length === 0)) {
- _context5.next = 15;
+ _context9.next = 14;
break;
}
- _context5.next = 15;
+ _context9.next = 14;
return _this5.updateRule(true);
+ case 14:
+ return _context9.abrupt("return", _this5.getRule());
case 15:
- return _context5.abrupt("return", _this5.getRule());
- case 16:
case "end":
- return _context5.stop();
+ return _context9.stop();
}
}, _callee5);
}))();
}
};
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
- function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
- function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
+ function ownKeys(e, r) { var t = Object.keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
+ function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+ function _unsupportedIterableToArray$1(o, minLen) { var _context11; if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = _sliceInstanceProperty(_context11 = Object.prototype.toString.call(o)).call(_context11, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
// ---------------------- Settings stored in GM storaged, changed by control pannel ---------------
/**@type {ISettings} */
@@ -6736,7 +12627,7 @@
case 0:
logger.info("[Super-preloader]", 'settings are reset');
_context.next = 3;
- return Promise.all(settingsKeys.map(function (key) {
+ return _Promise.all(_mapInstanceProperty(settingsKeys).call(settingsKeys, function (key) {
return GM.setValue(key, factorySettings[key]);
}));
case 3:
@@ -6752,18 +12643,19 @@
}
function _saveSettings() {
_saveSettings = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(values) {
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
- while (1) switch (_context2.prev = _context2.next) {
+ var _context2, _context3;
+ return _regeneratorRuntime.wrap(function _callee2$(_context4) {
+ while (1) switch (_context4.prev = _context4.next) {
case 0:
- _context2.next = 2;
- return Promise.all(Object.keys(values).filter(function (x) {
- return settingsKeys.includes(x);
- }).map(function (key) {
+ _context4.next = 2;
+ return _Promise.all(_mapInstanceProperty(_context2 = _filterInstanceProperty(_context3 = Object.keys(values)).call(_context3, function (x) {
+ return _includesInstanceProperty(settingsKeys).call(settingsKeys, x);
+ })).call(_context2, function (key) {
return GM.setValue(key, values[key]);
}));
case 2:
case "end":
- return _context2.stop();
+ return _context4.stop();
}
}, _callee2);
}));
@@ -6775,12 +12667,12 @@
function _getServerIp() {
_getServerIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(hostname) {
var ipv4Regex, res, result, _iterator, _step, d;
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
- while (1) switch (_context3.prev = _context3.next) {
+ return _regeneratorRuntime.wrap(function _callee3$(_context5) {
+ while (1) switch (_context5.prev = _context5.next) {
case 0:
ipv4Regex = /^(\d{1,3}\.){3}\d{1,3}$/;
- _context3.prev = 1;
- _context3.next = 4;
+ _context5.prev = 1;
+ _context5.next = 4;
return got$1.get('https://1.1.1.1/dns-query', {
searchParams: {
name: hostname,
@@ -6791,45 +12683,45 @@
}
});
case 4:
- res = _context3.sent;
+ res = _context5.sent;
result = JSON.parse(res.data);
_iterator = _createForOfIteratorHelper$1(result.Answer);
- _context3.prev = 7;
+ _context5.prev = 7;
_iterator.s();
case 9:
if ((_step = _iterator.n()).done) {
- _context3.next = 15;
+ _context5.next = 15;
break;
}
d = _step.value;
if (!ipv4Regex.test(d.data)) {
- _context3.next = 13;
+ _context5.next = 13;
break;
}
- return _context3.abrupt("return", d.data);
+ return _context5.abrupt("return", d.data);
case 13:
- _context3.next = 9;
+ _context5.next = 9;
break;
case 15:
- _context3.next = 20;
+ _context5.next = 20;
break;
case 17:
- _context3.prev = 17;
- _context3.t0 = _context3["catch"](7);
- _iterator.e(_context3.t0);
+ _context5.prev = 17;
+ _context5.t0 = _context5["catch"](7);
+ _iterator.e(_context5.t0);
case 20:
- _context3.prev = 20;
+ _context5.prev = 20;
_iterator.f();
- return _context3.finish(20);
+ return _context5.finish(20);
case 23:
- return _context3.abrupt("return", '127.0.0.1');
+ return _context5.abrupt("return", '127.0.0.1');
case 26:
- _context3.prev = 26;
- _context3.t1 = _context3["catch"](1);
- return _context3.abrupt("return", '127.0.0.1');
+ _context5.prev = 26;
+ _context5.t1 = _context5["catch"](1);
+ return _context5.abrupt("return", '127.0.0.1');
case 29:
case "end":
- return _context3.stop();
+ return _context5.stop();
}
}, _callee3, null, [[1, 26], [7, 17, 20, 23]]);
}));
@@ -6842,16 +12734,17 @@
// ---------------------- Settings stored in localStorage, changed by floatWindow ---------------
function _loadSettings() {
_loadSettings = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
- var values, myOldVersion, isRewrote, verDiff, isInstalled, postLoading, hasDifferency, opts, _yield$Promise$all, _yield$Promise$all2, jsonRule, blackList;
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
- while (1) switch (_context4.prev = _context4.next) {
+ var _context8, _context9;
+ var values, myOldVersion, isRewrote, verDiff, isInstalled, postLoading, hasDifferency, _context6, opts, _context7, _yield$Promise$all, _yield$Promise$all2, jsonRule, blackList;
+ return _regeneratorRuntime.wrap(function _callee4$(_context10) {
+ while (1) switch (_context10.prev = _context10.next) {
case 0:
- _context4.next = 2;
- return Promise.all(settingsKeys.map(function (key) {
+ _context10.next = 2;
+ return _Promise.all(_mapInstanceProperty(settingsKeys).call(settingsKeys, function (key) {
return GM.getValue(key, factorySettings[key]);
}));
case 2:
- values = _context4.sent;
+ values = _context10.sent;
settingsKeys.forEach(function (x, i) {
settings[settingsKeys[i]] = values[i];
});
@@ -6886,7 +12779,7 @@
}
} else {
if (settings.prefs.disableBuiltinSubscriptionRules) {
- postLoading.push(Promise.resolve([])); //insert an empty jsonRule
+ postLoading.push(_Promise.resolve([])); //insert an empty jsonRule
} else {
postLoading.push(jsonRuleLoader.loadRule());
}
@@ -6913,8 +12806,8 @@
oldversion: myOldVersion,
newversion: settings.version
});
- if (Object.keys(NOTIFICATION).includes('extratext')) {
- if (Object.keys(NOTIFICATION.extratext).includes(userLang)) {
+ if (_includesInstanceProperty(_context6 = Object.keys(NOTIFICATION)).call(_context6, 'extratext')) {
+ if (_includesInstanceProperty(_context7 = Object.keys(NOTIFICATION.extratext)).call(_context7, userLang)) {
opts.text += NOTIFICATION.extratext[userLang];
} else {
opts.text += NOTIFICATION.extratext.en_US;
@@ -6923,23 +12816,23 @@
GM.notification(opts);
}
}
- _context4.next = 16;
- return Promise.all(postLoading);
+ _context10.next = 16;
+ return _Promise.all(postLoading);
case 16:
- _yield$Promise$all = _context4.sent;
+ _yield$Promise$all = _context10.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 1);
jsonRule = _yield$Promise$all2[0];
/** @type {string[]} */
- blackList = [].concat(settings.prefs.excludes.split(/[\n\r]+/).map(function (line) {
- return line.trim();
+ blackList = _concatInstanceProperty(_context8 = []).call(_context8, _mapInstanceProperty(_context9 = settings.prefs.excludes.split(/[\n\r]+/)).call(_context9, function (line) {
+ return _trimInstanceProperty(line).call(line);
}));
- return _context4.abrupt("return", _objectSpread({
+ return _context10.abrupt("return", _objectSpread({
jsonRule,
blackList
}, settings));
case 21:
case "end":
- return _context4.stop();
+ return _context10.stop();
}
}, _callee4);
}));
@@ -6977,7 +12870,7 @@
for (var i = 0; i < domainSettings.length; i++) {
var localSetting = domainSettings[i];
if (localSetting.Rurl === pageSetting.Rurl) {
- for (var _i2 = 0, _Object$entries = Object.entries(localSetting); _i2 < _Object$entries.length; _i2++) {
+ for (var _i2 = 0, _Object$entries = _Object$entries2(localSetting); _i2 < _Object$entries.length; _i2++) {
var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
key = _Object$entries$_i[0],
value = _Object$entries$_i[1];
@@ -7023,7 +12916,7 @@
*/
function getAllElementsByCSS(css) {
var contextNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
- return [].slice.call(contextNode.querySelectorAll(css));
+ return _sliceInstanceProperty([]).call(contextNode.querySelectorAll(css));
}
/**
@@ -7089,7 +12982,7 @@
contextNode = contextNode || doc;
if (typeof selector === 'string') {
if (selector.search(/^css;/i) === 0) {
- return getAllElementsByCSS(selector.slice(4), contextNode);
+ return getAllElementsByCSS(_sliceInstanceProperty(selector).call(selector, 4), contextNode);
} else {
return getAllElementsByXpath(selector, contextNode, doc);
}
@@ -7141,7 +13034,7 @@
if (firstElems.length > 0) {
var childNodeCount = [];
for (var i = 0; i < firstElems.length; i++) {
- childNodeCount.push([].reduce.call(elems[0].children, function (x, y) {
+ childNodeCount.push(_reduceInstanceProperty([]).call(elems[0].children, function (x, y) {
return x + (y.nodeName != 'SCRIPT' ? 1 : 0);
}, 0));
eles.push(firstElems[i]);
@@ -7172,7 +13065,7 @@
*/
function getLastVisibleElement(selector, _cplink, contextNode, doc, win) {
var eles = getAllElementsDuplicate(selector, contextNode, doc, win, _cplink);
- eles = eles.filter(function (e) {
+ eles = _filterInstanceProperty(eles).call(eles, function (e) {
return e.offsetParent !== null;
});
if (eles.length > 0) {
@@ -7189,7 +13082,7 @@
return new RegExp(obj[0], obj[1]);
} else {
if (obj.search(/^wildc;/i) === 0) {
- obj = wildcardToRegExpStr(obj.slice(6));
+ obj = wildcardToRegExpStr(_sliceInstanceProperty(obj).call(obj, 6));
}
return new RegExp(obj);
}
@@ -7660,7 +13553,7 @@
} : {
childList: true
};
- return new Promise(function (resolve) {
+ return new _Promise(function (resolve) {
new MutationObserver(function (mutationList, observer) {
resolve({
element: element,
@@ -7672,8 +13565,6 @@
});
}
- //@ts-check
- ///
// General rules for CMS like phpwind
/**@type {IRule[]} */
var jsGeneralRule = [{
@@ -7882,9 +13773,10 @@
nextLink: "//ol[@class='page-navigator']/li[@class='next']/a",
autopager: {
pageElement: function pageElement(doc, _win, _cplink) {
+ var _context, _context2;
var gen = getElementByXpath("//head/meta[@name='generator']", doc, doc);
//@ts-ignore
- if (!gen || !gen.content.includes('Typecho') || !doc.documentElement.outerHTML.includes('Typecho')) {
+ if (!gen || !_includesInstanceProperty(_context = gen.content).call(_context, 'Typecho') || !_includesInstanceProperty(_context2 = doc.documentElement.outerHTML).call(_context2, 'Typecho')) {
return null;
}
try {
@@ -7906,10 +13798,10 @@
url: '^https?://[^/]+(/page/\\d+)?',
nextLink: function nextLink(_doc, _win, _cplink) {
var cplink = _cplink.replace(/^(.*)(#[^\/]*)?$/, '$1');
- if (cplink.slice(cplink.length - 5, cplink.length) === '.html') {
+ if (_sliceInstanceProperty(cplink).call(cplink, cplink.length - 5, cplink.length) === '.html') {
return undefined;
}
- if (cplink.slice(cplink.length - 4, cplink.length) === '.htm') {
+ if (_sliceInstanceProperty(cplink).call(cplink, cplink.length - 4, cplink.length) === '.htm') {
return undefined;
}
var a = /^(https?:\/\/.*?)(\/page\/\d+\/?)?$/.exec(cplink);
@@ -7922,6 +13814,7 @@
},
autopager: {
pageElement: function pageElement(doc, win, _cplink) {
+ var _context4;
var blackList = [/^https?:\/\/bwg\.net\/?$/, /^https?:\/\/sunbox\.cc\/?$/, /^https?:\/\/anime1\.me/, /^https?:\/\/github\.com/];
for (var i = 0; i < blackList.length; i++) {
if (blackList[i].test(_cplink)) {
@@ -7932,7 +13825,8 @@
var wpText = ['wp-content', 'wp-plugin', 'wp-comment'];
var isWP = false;
for (i = 0; i < wpText.length; i++) {
- if (doc.documentElement.outerHTML.indexOf(wpText[i]) > -1) {
+ var _context3;
+ if (_indexOfInstanceProperty(_context3 = doc.documentElement.outerHTML).call(_context3, wpText[i]) > -1) {
isWP = true;
break;
}
@@ -7951,7 +13845,7 @@
return null;
}
}
- if ((document.documentElement.textContent || document.documentElement.innerText).indexOf('comment-form')) {
+ if (_indexOfInstanceProperty(_context4 = document.documentElement.textContent || document.documentElement.innerText).call(_context4, 'comment-form')) {
// https://www.vlchelp.com/how-to-disable-building-font-cache/
return null;
}
@@ -7997,8 +13891,68 @@
}
}];
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+ /* eslint-disable es/no-array-prototype-lastindexof -- safe */
+ var apply = functionApply;
+ var toIndexedObject = toIndexedObject$b;
+ var toIntegerOrInfinity = toIntegerOrInfinity$5;
+ var lengthOfArrayLike = lengthOfArrayLike$9;
+ var arrayMethodIsStrict = arrayMethodIsStrict$4;
+
+ var min = Math.min;
+ var $lastIndexOf = [].lastIndexOf;
+ var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
+ var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');
+ var FORCED = NEGATIVE_ZERO || !STRICT_METHOD;
+
+ // `Array.prototype.lastIndexOf` method implementation
+ // https://tc39.es/ecma262/#sec-array.prototype.lastindexof
+ var arrayLastIndexOf = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
+ // convert -0 to +0
+ if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;
+ var O = toIndexedObject(this);
+ var length = lengthOfArrayLike(O);
+ if (length === 0) return -1;
+ var index = length - 1;
+ if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));
+ if (index < 0) index = length + index;
+ for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
+ return -1;
+ } : $lastIndexOf;
+
+ var $ = _export;
+ var lastIndexOf$4 = arrayLastIndexOf;
+
+ // `Array.prototype.lastIndexOf` method
+ // https://tc39.es/ecma262/#sec-array.prototype.lastindexof
+ // eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing
+ $({ target: 'Array', proto: true, forced: lastIndexOf$4 !== [].lastIndexOf }, {
+ lastIndexOf: lastIndexOf$4
+ });
+
+ var getBuiltInPrototypeMethod = getBuiltInPrototypeMethod$e;
+
+ var lastIndexOf$3 = getBuiltInPrototypeMethod('Array', 'lastIndexOf');
+
+ var isPrototypeOf = objectIsPrototypeOf;
+ var method = lastIndexOf$3;
+
+ var ArrayPrototype = Array.prototype;
+
+ var lastIndexOf$2 = function (it) {
+ var own = it.lastIndexOf;
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.lastIndexOf) ? method : own;
+ };
+
+ var parent = lastIndexOf$2;
+
+ var lastIndexOf$1 = parent;
+
+ var lastIndexOf = lastIndexOf$1;
+
+ var _lastIndexOfInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(lastIndexOf);
+
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+ function _unsupportedIterableToArray(o, minLen) { var _context5; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context5 = Object.prototype.toString.call(o)).call(_context5, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
/**@type {Array} */
@@ -8257,7 +14211,7 @@
break;
}
_context2.next = 5;
- return Promise.all([].map.call(items, /*#__PURE__*/function () {
+ return _Promise.all(_mapInstanceProperty([]).call(items, /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(a) {
var link, res, docPage, img, newImg;
return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -8828,7 +14782,7 @@
nextLink: function nextLink(doc, _win, _cplink) {
for (var i = 0; i < doc.scripts.length; i++) {
var scriptText = doc.scripts[i].text;
- if (typeof scriptText != 'undefined' && scriptText.indexOf('currentPage') > 0) {
+ if (typeof scriptText != 'undefined' && _indexOfInstanceProperty(scriptText).call(scriptText, 'currentPage') > 0) {
var pageMatches = scriptText.match(/currentPage[ ]?=[ ]?(\d+)/);
if (pageMatches.length != 2) {
continue;
@@ -8935,12 +14889,14 @@
var re = /chapter\s*=\s*secret\(['"](.*)['"],\s*['"](.*)['"],\s*(\w+)\s*\)/g;
var c;
[].forEach.call(scripts, function (x) {
- if (x.innerText.indexOf('var chapter') >= 0) {
+ var _context3;
+ if (_indexOfInstanceProperty(_context3 = x.innerText).call(_context3, 'var chapter') >= 0) {
+ var _context4;
var temp = re.exec(x.innerText);
var content = temp[1];
var salt = temp[2];
// function secret is provided by the website
- if (temp[3].indexOf('true') >= 0) {
+ if (_indexOfInstanceProperty(_context4 = temp[3]).call(_context4, 'true') >= 0) {
//@ts-ignore
// eslint-disable-next-line no-undef
c = secret(content, salt, true);
@@ -8964,7 +14920,7 @@
pageElement: "//div[@id='content']",
nextLink: function nextLink(doc, _win, cplink) {
var chapters = getAllElementsByXpath("//div[@class='chapterPages']/a", doc);
- var prefix = cplink.substr(0, cplink.lastIndexOf('/')) + '/';
+ var prefix = cplink.substr(0, _lastIndexOfInstanceProperty(cplink).call(cplink, '/')) + '/';
var i = 0;
for (i = 0; i < chapters.length; i++) {
if (chapters[i].className === 'curr') {
@@ -8990,9 +14946,9 @@
if (next > res.dataset.pagemax) {
return undefined;
} else {
- if (cplink.indexOf('page=') != -1) {
+ if (_indexOfInstanceProperty(cplink).call(cplink, 'page=') != -1) {
return cplink.replace(/page=\d+/, 'page=' + next);
- } else if (cplink.indexOf('?') != -1) {
+ } else if (_indexOfInstanceProperty(cplink).call(cplink, '?') != -1) {
return cplink + '&page=' + next;
} else {
return cplink + '?page=' + next;
@@ -9048,9 +15004,9 @@
return undefined;
}
var pageInfo = findout[1] + '=' + findout[2];
- if (cplink.indexOf(findout[1] + '=') != -1) {
+ if (_indexOfInstanceProperty(cplink).call(cplink, findout[1] + '=') != -1) {
return cplink.replace(new RegExp(findout[1] + '=\\d+'), pageInfo);
- } else if (cplink.indexOf('?') != -1) {
+ } else if (_indexOfInstanceProperty(cplink).call(cplink, '?') != -1) {
return cplink + '&' + pageInfo;
} else {
return cplink + '?' + pageInfo;
@@ -9294,7 +15250,7 @@
startFilter: function startFilter(d, _win) {
//@ts-ignore
d.getElementById('bigpic').src = d.getElementById('bigpic').src.replace('fmvip.xzglasses.com', 'fmvip.xzglasses.com');
- Array.from(d.querySelectorAll('iframe')).forEach(function (frame) {
+ _Array$from(d.querySelectorAll('iframe')).forEach(function (frame) {
return frame.remove();
});
},
@@ -9467,7 +15423,7 @@
function getAllIndexes(arr, val) {
var indexes = [];
var i = -1;
- while ((i = arr.indexOf(val, i + 1)) != -1) {
+ while ((i = _indexOfInstanceProperty(arr).call(arr, val, i + 1)) != -1) {
indexes.push(i);
}
return indexes;
@@ -9527,7 +15483,7 @@
spcss["sp-prefs-spinner"] = _wcImport3;
spcss["sp-prefs-setup"] = _wcImport2;
spcss["sp-fw"] = _wcImport;
- (function () {
+ (function (_context) {
// use charset from currentDocument
var gotConfig = {
html: true,
@@ -9547,7 +15503,7 @@
logger.warn("[Super-preloader]", 'Check https://github.com/Tampermonkey/tampermonkey/issues/786 and https://github.com/violentmonkey/violentmonkey/issues/606 to learn more');
gotConfig.cookie = true;
}
- if (SCRIPT_MANAGER.name.toLowerCase().includes('adguard')) {
+ if (_includesInstanceProperty(_context = SCRIPT_MANAGER.name.toLowerCase()).call(_context, 'adguard')) {
logger.warn("[Super-preloader]", `${SCRIPT_MANAGER.name} has issues with some specific like Google due to the way it injects script`);
}
var got = got$1.create(gotConfig);
@@ -9617,9 +15573,9 @@
});
}
if (p) {
- p = Promise.all(parr);
+ p = _Promise.all(parr);
} else {
- p = Promise.resolve(undefined);
+ p = _Promise.resolve(undefined);
}
var timeout = mutationObserver.timeout && 0;
setTimeout(function () {
@@ -9710,7 +15666,7 @@
// ------------------------下面的不要管他-----------------
/// ////////////////////////////////////////////////////////////////
// eslint-disable-next-line prettier/prettier
- Promise.all([loadSettings(), getServerIp(location.hostname)]).then(function (_ref2) {
+ _Promise.all([loadSettings(), getServerIp(location.hostname)]).then(function (_ref2) {
var _ref3 = _slicedToArray(_ref2, 2),
values = _ref3[0],
serverIp = _ref3[1];
@@ -9725,11 +15681,11 @@
} else {
logger.setLevel(5);
}
- logger.debug("[Super-preloader]", 'Script Manager: ', JSON.stringify({
+ logger.debug("[Super-preloader]", 'Script Manager: ', _JSON$stringify({
name: SCRIPT_MANAGER.name,
version: SCRIPT_MANAGER.version || 'unknown'
}));
- logger.debug("[Super-preloader]", 'Browser: ', JSON.stringify(BROWSER));
+ logger.debug("[Super-preloader]", 'Browser: ', _JSON$stringify(BROWSER));
logger.debug("[Super-preloader]", `Server ip: ', ${serverIp}`);
var setup = function setup() {
var d = document;
@@ -9864,7 +15820,7 @@
isHashchangeSite = true;
hashchangeTimer = hashSite.timer;
logger.debug("[Super-preloader]", 'This site does not refresh the page.', hashSite);
- var p1 = new Promise(function (resolve, reject) {
+ var p1 = new _Promise(function (resolve, reject) {
setTimeout(resolve, hashchangeTimer);
});
p1.then(function (values) {
@@ -9900,7 +15856,7 @@
logger.error("[Super-preloader]", 'Custom site rule error:', prefs.custom_siteinfo);
}
if (_isArray(userRules)) {
- SSRules = SSRules.concat(userRules);
+ SSRules = _concatInstanceProperty(SSRules).call(SSRules, userRules);
}
};
loadDblclickPause();
@@ -10442,7 +16398,7 @@
}
i.src = link;
if (SSS.a_mutationObserver) {
- i.setAttribute('mutationObserver', JSON.stringify(SSS.a_mutationObserver));
+ i.setAttribute('mutationObserver', _JSON$stringify(SSS.a_mutationObserver));
if (SSS.a_mutationObserver.relatedObj) {
insertLoc = getAllElements(SSS.a_mutationObserver.relatedObj);
if (insertLoc.length > 0) {
@@ -10565,11 +16521,11 @@
var spage = /*#__PURE__*/function () {
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(el) {
var value;
- return _regeneratorRuntime.wrap(function _callee$(_context) {
- while (1) switch (_context.prev = _context.next) {
+ return _regeneratorRuntime.wrap(function _callee$(_context2) {
+ while (1) switch (_context2.prev = _context2.next) {
case 0:
if (!doc) {
- _context.next = 7;
+ _context2.next = 7;
break;
}
value = Number(el.value);
@@ -10578,11 +16534,11 @@
}
ipagesmode = true;
ipagesnumber = value + paged;
- _context.next = 7;
+ _context2.next = 7;
return insertedIntoDoc();
case 7:
case "end":
- return _context.stop();
+ return _context2.stop();
}
}, _callee);
}));
@@ -10659,27 +16615,27 @@
}
function _beforeInsertIntoDoc() {
_beforeInsertIntoDoc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
- while (1) switch (_context3.prev = _context3.next) {
+ return _regeneratorRuntime.wrap(function _callee3$(_context4) {
+ while (1) switch (_context4.prev = _context4.next) {
case 0:
working = true;
if (!(SSS.a_manualA && !ipagesmode)) {
- _context3.next = 6;
+ _context4.next = 6;
break;
}
// 显示手动翻页触发条.
logger.debug("[Super-preloader]", 'Manual stitching');
manualAdiv();
- _context3.next = 9;
+ _context4.next = 9;
break;
case 6:
// 直接拼接.
logger.debug("[Super-preloader]", 'Direct stitching');
- _context3.next = 9;
+ _context4.next = 9;
return insertedIntoDoc();
case 9:
case "end":
- return _context3.stop();
+ return _context4.stop();
}
}, _callee3);
}));
@@ -10787,43 +16743,43 @@
function _insertedIntoDoc() {
_insertedIntoDoc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
var docTitle, fragment, pageElements, ii, lastUrl, nl, i, pe_x, pe_x_nn, nodes, nodes_x, imgs, arr, sepdiv, toInsert, insertParent, colNodes, _ncol, trs, _ncol2, oldE, oldE_lt, newE, newE_lt, oldE_x, newE_x, ev, delayiframe;
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
- while (1) switch (_context4.prev = _context4.next) {
+ return _regeneratorRuntime.wrap(function _callee4$(_context5) {
+ while (1) switch (_context5.prev = _context5.next) {
case 0:
if (doc) {
- _context4.next = 3;
+ _context5.next = 3;
break;
}
logger.error("[Super-preloader]", 'No document');
- return _context4.abrupt("return");
+ return _context5.abrupt("return");
case 3:
if (!SSS.a_documentFilter) {
- _context4.next = 13;
+ _context5.next = 13;
break;
}
- _context4.prev = 4;
- _context4.next = 7;
+ _context5.prev = 4;
+ _context5.next = 7;
return SSS.a_documentFilter(doc, typeof nextlink === 'string' && nextlink);
case 7:
logger.debug("[Super-preloader]", 'Successfully executeed documentFilter');
- _context4.next = 13;
+ _context5.next = 13;
break;
case 10:
- _context4.prev = 10;
- _context4.t0 = _context4["catch"](4);
- logger.error("[Super-preloader]", 'Error executing documentFilter', _context4.t0, SSS.a_documentFilter.toString());
+ _context5.prev = 10;
+ _context5.t0 = _context5["catch"](4);
+ logger.error("[Super-preloader]", 'Error executing documentFilter', _context5.t0, SSS.a_documentFilter.toString());
case 13:
docTitle = getElementByCSS('title', doc).textContent;
fragment = document.createDocumentFragment();
pageElements = getAllElements(SSS.a_pageElement, undefined, doc, win, typeof nextlink === 'string' && nextlink);
ii = pageElements.length;
if (!(ii <= 0)) {
- _context4.next = 23;
+ _context5.next = 23;
break;
}
logger.error("[Super-preloader]", 'Failed to get the main content of the next page', SSS.a_pageElement);
removeL();
- return _context4.abrupt("return");
+ return _context5.abrupt("return");
case 23:
logger.debug("[Super-preloader]", 'Successfully got the main content of the next page', pageElements);
case 24:
@@ -10847,28 +16803,28 @@
i = 0;
case 31:
if (!(i < ii)) {
- _context4.next = 40;
+ _context5.next = 40;
break;
}
pe_x = pageElements[i];
pe_x_nn = pe_x.nodeName;
if (!(pe_x_nn == 'BODY' || pe_x_nn == 'HTML' || pe_x_nn == 'SCRIPT')) {
- _context4.next = 36;
+ _context5.next = 36;
break;
}
- return _context4.abrupt("continue", 37);
+ return _context5.abrupt("continue", 37);
case 36:
fragment.appendChild(pe_x);
case 37:
i++;
- _context4.next = 31;
+ _context5.next = 31;
break;
case 40:
- if (SSS.filter && typeof SSS.filter === 'string') {
+ if (_filterInstanceProperty(SSS) && typeof _filterInstanceProperty(SSS) === 'string') {
// 功能未完善.
nodes = [];
try {
- nodes = getAllElements(SSS.filter, fragment);
+ nodes = getAllElements(_filterInstanceProperty(SSS), fragment);
} catch (e) {}
for (i = nodes.length - 1; i >= 0; i--) {
nodes_x = nodes[i];
@@ -10887,7 +16843,7 @@
// 处理下一页内容部分链接是否新标签页打开
if (prefs.forceTargetWindow) {
- arr = Array.prototype.slice.call(fragment.querySelectorAll('a[href]:not([href^="mailto:"]):not([href^="javascript:"]):not([href^="#"])'));
+ arr = _sliceInstanceProperty(Array.prototype).call(fragment.querySelectorAll('a[href]:not([href^="mailto:"]):not([href^="javascript:"]):not([href^="#"])'));
arr.forEach(function (elem) {
elem.setAttribute('target', '_blank');
if (elem.getAttribute('onclick') == 'atarget(this)') {
@@ -10908,7 +16864,7 @@
if (colNodes.length == 0) {
colNodes = getAllElements('child::*[self::td or self::th]', pageElements[0]);
}
- _ncol = [].reduce.call(colNodes, function (acc, cur) {
+ _ncol = _reduceInstanceProperty([]).call(colNodes, function (acc, cur) {
return acc + (parseInt(cur.getAttribute('colspan'), 10) || 1);
}, 0);
toInsert = createDOM('tr', {
@@ -10923,7 +16879,7 @@
// https://bbs.kafan.cn/forum-8-1.html
trs = pageElements[pageElements.length - 1].getElementsByTagName('tr');
if (trs) {
- _ncol2 = [].reduce.call(trs[trs.length - 1].children, function (acc, cur) {
+ _ncol2 = _reduceInstanceProperty([]).call(trs[trs.length - 1].children, function (acc, cur) {
return acc + (parseInt(cur.getAttribute('colspan'), 10) || 1);
}, 0);
toInsert = createDOM('tbody', {
@@ -10944,12 +16900,12 @@
addIntoDoc(fragment);
// filter
- if (SSS.filter && typeof SSS.filter === 'function') {
+ if (_filterInstanceProperty(SSS) && typeof _filterInstanceProperty(SSS) === 'function') {
try {
- SSS.filter(pageElements);
+ _filterInstanceProperty(SSS).call(SSS, pageElements);
logger.debug("[Super-preloader]", 'Execution of filter(pages) succeeded');
} catch (e) {
- logger.error("[Super-preloader]", 'Error executing filter(pages)', e, SSS.filter.toString());
+ logger.error("[Super-preloader]", 'Error executing filter(pages)', e, _filterInstanceProperty(SSS).toString());
}
}
if (imgs) {
@@ -11000,18 +16956,18 @@
} catch (e) {}
}
if (!(paged >= SSS.a_maxpage)) {
- _context4.next = 66;
+ _context5.next = 66;
break;
}
logger.debug("[Super-preloader]", `Reached the set maximum number of page turns ${SSS.a_maxpage}`);
notice('Status:' + 'Reached the set maximum number of page turns:' + SSS.a_maxpage + '');
removeL();
- return _context4.abrupt("return");
+ return _context5.abrupt("return");
case 66:
delayiframe = function delayiframe(fn) {
setTimeout(fn, 199);
};
- if (nextlink && !pagedLinks.includes(nextlink)) {
+ if (nextlink && !_includesInstanceProperty(pagedLinks).call(pagedLinks, nextlink)) {
// debug('Found the next page link:', nextlink);
doc = win = null;
if (ipagesmode) {
@@ -11035,7 +16991,7 @@
}
case 68:
case "end":
- return _context4.stop();
+ return _context5.stop();
}
}, _callee4, null, [[4, 10]]);
}));
@@ -11140,27 +17096,27 @@
autoPO = {
startipages: function () {
var _startipages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(value) {
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
- while (1) switch (_context2.prev = _context2.next) {
+ return _regeneratorRuntime.wrap(function _callee2$(_context3) {
+ while (1) switch (_context3.prev = _context3.next) {
case 0:
if (!(value > 0)) {
- _context2.next = 8;
+ _context3.next = 8;
break;
}
ipagesmode = true;
ipagesnumber = value + paged;
notice('Status:' + 'Current number of pages turned: ' + paged + ',' + 'Continue to turn page ' + ipagesnumber + '');
if (!SSS.a_manualA) {
- _context2.next = 7;
+ _context3.next = 7;
break;
}
- _context2.next = 7;
+ _context3.next = 7;
return insertedIntoDoc();
case 7:
scroll();
case 8:
case "end":
- return _context2.stop();
+ return _context3.stop();
}
}, _callee2);
}));
@@ -11308,7 +17264,7 @@
// 执行开始..///////////////////
// 分析黑名单
- var blackList_re = new RegExp(blackList.map(function (x) {
+ var blackList_re = new RegExp(_mapInstanceProperty(blackList).call(blackList, function (x) {
if (x.substring(0, 3).toLowerCase() == 're:') {
return x.substring(4);
} else {
@@ -11337,15 +17293,15 @@
if (prefs.disableBuiltinRules) {
logger.warn("[Super-preloader]", 'Builtin js rules are disabled');
} else {
- SSRules = SSRules.concat(jsSiteRule);
+ SSRules = _concatInstanceProperty(SSRules).call(SSRules, jsSiteRule);
}
if (prefs.disableBuiltinSubscriptionRules) {
logger.warn("[Super-preloader]", 'Remote json rules are disabled');
} else {
- SSRules = SSRules.concat(jsonRule);
+ SSRules = _concatInstanceProperty(SSRules).call(SSRules, jsonRule);
}
if (!prefs.disableBuiltinRules) {
- SSRules = SSRules.concat(jsGeneralRule);
+ SSRules = _concatInstanceProperty(SSRules).call(SSRules, jsGeneralRule);
}
if (!prefs.numOfRule || prefs.numOfRule != SSRules.length) {
prefs.numOfRule = SSRules.length;
@@ -11369,8 +17325,8 @@
var findCurSiteInfo = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
var SIIAD, Rurl, ii, _loop, _ret, i, FA;
- return _regeneratorRuntime.wrap(function _callee5$(_context6) {
- while (1) switch (_context6.prev = _context6.next) {
+ return _regeneratorRuntime.wrap(function _callee5$(_context8) {
+ while (1) switch (_context8.prev = _context8.next) {
case 0:
SIIAD = SITEINFO_D.autopager;
ii = SSRules.length;
@@ -11381,24 +17337,24 @@
logger.debug("[Super-preloader]", `Number of advanced rules:${ii}`);
}
_loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
- var SII, SIIA, documentFilter, pageElement;
- return _regeneratorRuntime.wrap(function _loop$(_context5) {
- while (1) switch (_context5.prev = _context5.next) {
+ var SII, _context6, SIIA, documentFilter, pageElement;
+ return _regeneratorRuntime.wrap(function _loop$(_context7) {
+ while (1) switch (_context7.prev = _context7.next) {
case 0:
SII = SSRules[i];
if (!(SII.autopager && SII.autopager.ip)) {
- _context5.next = 4;
+ _context7.next = 4;
break;
}
- if (!(SII.autopager.ip.indexOf(serverIp) < 0)) {
- _context5.next = 4;
+ if (!(_indexOfInstanceProperty(_context6 = SII.autopager.ip).call(_context6, serverIp) < 0)) {
+ _context7.next = 4;
break;
}
- return _context5.abrupt("return", 0);
+ return _context7.abrupt("return", 0);
case 4:
Rurl = toRE(SII.url);
if (!Rurl.test(url)) {
- _context5.next = 75;
+ _context7.next = 75;
break;
}
if (userLang === 'zh_CN') {
@@ -11411,45 +17367,45 @@
// 运行规则的 startFilter
if (!(SII.autopager && SII.autopager.startFilter)) {
- _context5.next = 17;
+ _context7.next = 17;
break;
}
- _context5.prev = 8;
- _context5.next = 11;
+ _context7.prev = 8;
+ _context7.next = 11;
return SII.autopager.startFilter(document, window);
case 11:
logger.debug("[Super-preloader]", 'startFilter executed successfully');
- _context5.next = 17;
+ _context7.next = 17;
break;
case 14:
- _context5.prev = 14;
- _context5.t0 = _context5["catch"](8);
- logger.error("[Super-preloader]", 'Error executing startFilter', _context5.t0);
+ _context7.prev = 14;
+ _context7.t0 = _context7["catch"](8);
+ logger.error("[Super-preloader]", 'Error executing startFilter', _context7.t0);
case 17:
if (!(SII.nextLink === 'null;')) {
- _context5.next = 21;
+ _context7.next = 21;
break;
}
logger.debug("[Super-preloader]", 'Find the rule for a site without nextpage', SII);
SSS.hasRule = false;
- return _context5.abrupt("return", 1);
+ return _context7.abrupt("return", 1);
case 21:
nextlinkElem = getElement(SII.nextLink || 'auto;');
if (nextlinkElem) {
- _context5.next = 25;
+ _context7.next = 25;
break;
}
logger.warn("[Super-preloader]", 'Could not find the next page link, continue searching for other rules, skiping rule:', SII);
- return _context5.abrupt("return", 0);
+ return _context7.abrupt("return", 0);
case 25:
// extract next page link from an a link
nextlink = getFullHref(nextlinkElem);
if (!(nextlink === document.location.href)) {
- _context5.next = 29;
+ _context7.next = 29;
break;
}
nextlinkElem = null;
- return _context5.abrupt("return", 0);
+ return _context7.abrupt("return", 0);
case 29:
if (SII.preLink && SII.preLink != 'auto;') {
// 如果设定了具体的preLink
@@ -11477,15 +17433,15 @@
// 自动翻页设置.
SIIA = SII.autopager;
if (!SIIA) {
- _context5.next = 68;
+ _context7.next = 68;
break;
}
SSS.a_pageElement = SIIA.pageElement;
if (SSS.a_pageElement) {
- _context5.next = 42;
+ _context7.next = 42;
break;
}
- return _context5.abrupt("return", 1);
+ return _context7.abrupt("return", 1);
case 42:
SSS.a_manualA = SIIA.manualA === undefined ? SIIAD.manualA : SIIA.manualA;
SSS.a_enable = SIIA.enable === undefined ? SIIAD.enable : SIIA.enable;
@@ -11505,7 +17461,7 @@
SSS.a_ipages = SIIA.ipages === undefined ? SIIAD.ipages : SIIA.ipages;
// new
- SSS.filter = SII.filter || SIIA.filter; // 新增了函数的形式,原来的功能是移除 pageElement
+ SSS.filter = _filterInstanceProperty(SII) || _filterInstanceProperty(SIIA); // 新增了函数的形式,原来的功能是移除 pageElement
documentFilter = SII.documentFilter || SIIA.documentFilter;
if (documentFilter === 'startFilter') {
SSS.a_documentFilter = function (doc) {
@@ -11530,44 +17486,44 @@
// 检验是否存在内容
pageElement = getElement(SSS.a_pageElement);
if (!(!pageElement || Array.isArray(pageElement) && pageElement.length === 0)) {
- _context5.next = 73;
+ _context7.next = 73;
break;
}
nextlinkElem = null;
logger.error("[Super-preloader]", 'Could not find content, skiping rule:', SII, 'Continue to search for other rules.');
- return _context5.abrupt("return", 0);
+ return _context7.abrupt("return", 0);
case 73:
SSS.hasRule = true;
- return _context5.abrupt("return", 1);
+ return _context7.abrupt("return", 1);
case 75:
case "end":
- return _context5.stop();
+ return _context7.stop();
}
}, _loop, null, [[8, 14]]);
});
i = 0;
case 5:
if (!(i < ii)) {
- _context6.next = 15;
+ _context8.next = 15;
break;
}
- return _context6.delegateYield(_loop(), "t0", 7);
+ return _context8.delegateYield(_loop(), "t0", 7);
case 7:
- _ret = _context6.t0;
+ _ret = _context8.t0;
if (!(_ret === 0)) {
- _context6.next = 10;
+ _context8.next = 10;
break;
}
- return _context6.abrupt("continue", 12);
+ return _context8.abrupt("continue", 12);
case 10:
if (!(_ret === 1)) {
- _context6.next = 12;
+ _context8.next = 12;
break;
}
- return _context6.abrupt("break", 15);
+ return _context8.abrupt("break", 15);
case 12:
i++;
- _context6.next = 5;
+ _context8.next = 5;
break;
case 15:
if (!SSS.hasRule) {
@@ -11606,7 +17562,7 @@
logger.debug("[Super-preloader]", `Total time spent on searching for advanced rules and automatic matching: ${new Date().getTime() - startTime.getTime()}ms`);
case 18:
case "end":
- return _context6.stop();
+ return _context8.stop();
}
}, _callee5);
}));
@@ -11754,7 +17710,7 @@
contextNode = contextNode || doc;
if (typeof selector === 'string') {
if (selector.search(/^css;/i) === 0) {
- ret = getElementByCSS(selector.slice(4), contextNode);
+ ret = getElementByCSS(_sliceInstanceProperty(selector).call(selector, 4), contextNode);
} else if (selector.toLowerCase() == 'auto;') {
ret = autoGetLink(doc);
} else {
@@ -12071,8 +18027,9 @@
// 不满足以上条件,再根据地址特征来匹配
var sitePattern;
for (var i = 0, length = REALPAGE_SITE_PATTERN.length; i < length; i++) {
+ var _context9;
sitePattern = REALPAGE_SITE_PATTERN[i];
- if (currentUrl.toLocaleLowerCase().indexOf(sitePattern) >= 0) {
+ if (_indexOfInstanceProperty(_context9 = currentUrl.toLocaleLowerCase()).call(_context9, sitePattern) >= 0) {
realPageSiteMatch = true;
break;
}
@@ -12143,8 +18100,8 @@
for (var i = 0, ii = mFails.length; i < ii; i++) {
var fx = mFails[i];
if (!fx) continue;
- if (typeof fx !== 'string' || fx.indexOf('re;') === 0) {
- var fxre = typeof fx === 'string' ? toRE(fx.slice(3)) : fx;
+ if (typeof fx !== 'string' || _indexOfInstanceProperty(fx).call(fx, 're;') === 0) {
+ var fxre = typeof fx === 'string' ? toRE(_sliceInstanceProperty(fx).call(fx, 3)) : fx;
var mValue = href.match(fxre);
if (!mValue) return href;
array.push(mValue);
@@ -12162,10 +18119,10 @@
if (sa[0] == '#') {
_cplink = doc.location.href;
}
- index = _cplink.indexOf(sa);
+ index = _indexOfInstanceProperty(_cplink).call(_cplink, sa);
if (index == -1) {
_cplink = getHref(_cplink);
- index = _cplink.indexOf(sa);
+ index = _indexOfInstanceProperty(_cplink).call(_cplink, sa);
if (index == -1) return;
}
} else {
@@ -12174,18 +18131,18 @@
_cplink = getHref(_cplink);
sa = (_cplink.match(sa) || [])[0];
if (!sa) return;
- index = _cplink.indexOf(sa);
+ index = _indexOfInstanceProperty(_cplink).call(_cplink, sa);
if (index == -1) return;
} else {
sa = tsa[0];
- index = _cplink.indexOf(sa);
+ index = _indexOfInstanceProperty(_cplink).call(_cplink, sa);
}
}
index += sa.length;
var max = obj.max === undefined ? 9999 : obj.max;
var min = obj.min === undefined ? 1 : obj.min;
- var aStr = _cplink.slice(0, index);
- var bStr = _cplink.slice(index);
+ var aStr = _sliceInstanceProperty(_cplink).call(_cplink, 0, index);
+ var bStr = _sliceInstanceProperty(_cplink).call(_cplink, index);
var nbStr = bStr.replace(/^(\d+)(.*)$/, function (a, b, c) {
b = Number(b) + obj.inc;
if (b >= max || b < min) return a;
@@ -12205,7 +18162,7 @@
function handleLazyImgSrc(rule, doc) {
var imgAttrs = rule.split('|');
imgAttrs.forEach(function (attr) {
- attr = attr.trim();
+ attr = _trimInstanceProperty(attr).call(attr);
[].forEach.call(doc.querySelectorAll('img[' + attr + ']'), function (img) {
var newSrc = img.getAttribute(attr);
if (newSrc && newSrc != img.src) {
@@ -12364,4 +18321,4 @@
}
})();
-})(_asyncToGenerator, _slicedToArray, _regeneratorRuntime, _defineProperty$1);
+})();
diff --git a/package.json b/package.json
index da364758d..44ae815d7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "super-preloader",
- "version": "7.0.13",
+ "version": "7.0.15",
"description": "Super-preloader",
"main": "dist/Super_preloaderPlus_one_New.user.js",
"author": "Mach6",
@@ -31,13 +31,13 @@
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:publish": "pnpm run docs:build && bash ./ci/gen_ghpage.sh",
+ "docs:preview": "vitepress preview docs",
"preversion": "pnpm run check",
"version": "pnpm run build && git add dist/*.js && git add dist/*.json",
- "postversion": "git add package.json package-lock.json && npm run test",
- "publish:patch": "pnpm --no-git-tag-version version patch",
- "publish": "pnpm --no-git-tag-version version minor",
- "typecheck": "tsc -p jsconfig.json --noEmit",
- "docs:preview": "vitepress preview docs"
+ "postversion": "git add package.json package-lock.json && pnpm run test",
+ "publish:patch": "npm --no-git-tag-version version patch",
+ "publish": "npm --no-git-tag-version version minor",
+ "typecheck": "tsc -p jsconfig.json --noEmit"
},
"husky": {
"hooks": {
@@ -57,6 +57,7 @@
"@babel/plugin-syntax-import-attributes": "7.24.1",
"@babel/plugin-transform-runtime": "7.24.3",
"@babel/preset-env": "7.24.4",
+ "@babel/runtime-corejs3": "^7.24.5",
"@rollup/plugin-babel": "6.0.4",
"@rollup/plugin-commonjs": "25.0.7",
"@rollup/plugin-json": "6.1.0",
@@ -88,5 +89,10 @@
"rollup-plugin-re": "1.0.7",
"rollup-plugin-scss-string": "github:machsix/rollup-plugin-scss-string",
"yargs": "17.7.2"
+ },
+ "pnpm": {
+ "overrides": {
+ "babel-plugin-lodash>@babel/types": "~7.20.0"
+ }
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fb2653eb3..8e348bfbc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,9 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ babel-plugin-lodash>@babel/types: ~7.20.0
+
importers:
.:
@@ -20,6 +23,9 @@ importers:
'@babel/preset-env':
specifier: 7.24.4
version: 7.24.4(@babel/core@7.24.4)
+ '@babel/runtime-corejs3':
+ specifier: ^7.24.5
+ version: 7.24.5
'@rollup/plugin-babel':
specifier: 6.0.4
version: 6.0.4(@babel/core@7.24.4)(rollup@4.14.3)
@@ -761,6 +767,10 @@ packages:
'@babel/regjsgen@0.8.0':
resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ '@babel/runtime-corejs3@7.24.5':
+ resolution: {integrity: sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/runtime@7.24.5':
resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
engines: {node: '>=6.9.0'}
@@ -773,6 +783,10 @@ packages:
resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.20.7':
+ resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/types@7.24.5':
resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
engines: {node: '>=6.9.0'}
@@ -1680,6 +1694,9 @@ packages:
core-js-compat@3.37.0:
resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
+ core-js-pure@3.37.0:
+ resolution: {integrity: sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==}
+
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -4588,6 +4605,11 @@ snapshots:
'@babel/regjsgen@0.8.0': {}
+ '@babel/runtime-corejs3@7.24.5':
+ dependencies:
+ core-js-pure: 3.37.0
+ regenerator-runtime: 0.14.1
+
'@babel/runtime@7.24.5':
dependencies:
regenerator-runtime: 0.14.1
@@ -4613,6 +4635,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/types@7.20.7':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.1
+ '@babel/helper-validator-identifier': 7.24.5
+ to-fast-properties: 2.0.0
+
'@babel/types@7.24.5':
dependencies:
'@babel/helper-string-parser': 7.24.1
@@ -5282,7 +5310,7 @@ snapshots:
babel-plugin-lodash@3.3.4:
dependencies:
'@babel/helper-module-imports': 7.24.3
- '@babel/types': 7.24.5
+ '@babel/types': 7.20.7
glob: 7.2.3
lodash: 4.17.21
require-package-name: 2.0.1
@@ -5523,6 +5551,8 @@ snapshots:
dependencies:
browserslist: 4.23.0
+ core-js-pure@3.37.0: {}
+
core-util-is@1.0.3: {}
cross-env@7.0.3:
diff --git a/rollup.config.mjs b/rollup.config.mjs
index b7c43fb45..b8a17371e 100644
--- a/rollup.config.mjs
+++ b/rollup.config.mjs
@@ -13,6 +13,7 @@ import scss from 'rollup-plugin-scss-string';
// TODO commonjs bug https://github.com/rollup/plugins/issues/304
const basicConfig = {
+ context: 'window',
input: {
[SCRIPT_INFO.name]: './src/index.js'
},
diff --git a/test/test.js b/test/test.js
index a8797e9ef..8440c5574 100644
--- a/test/test.js
+++ b/test/test.js
@@ -97,7 +97,7 @@ async function main() {
// open website
pages = await browser.pages();
targetPage = pages[0];
- await targetPage.goto('https://www.google.com/search?q=apple');
+ await targetPage.goto('https://www.xkcd.com');
// check floatWindow
try {