@dereekb/util 10.1.6 → 10.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -1550,244 +1550,20 @@ for (var COLLECTION_NAME in DOMIterables) {
1550
1550
 
1551
1551
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
1552
1552
 
1553
- var classof$7 = classofRaw$2;
1554
-
1555
- // `IsArray` abstract operation
1556
- // https://tc39.es/ecma262/#sec-isarray
1557
- // eslint-disable-next-line es/no-array-isarray -- safe
1558
- var isArray$3 = Array.isArray || function isArray(argument) {
1559
- return classof$7(argument) === 'Array';
1560
- };
1561
-
1562
- var $TypeError$a = TypeError;
1563
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
1564
-
1565
- var doesNotExceedSafeInteger$1 = function (it) {
1566
- if (it > MAX_SAFE_INTEGER) throw $TypeError$a('Maximum allowed index exceeded');
1567
- return it;
1568
- };
1569
-
1570
- var classofRaw$1 = classofRaw$2;
1571
- var uncurryThis$i = functionUncurryThis;
1572
-
1573
- var functionUncurryThisClause = function (fn) {
1574
- // Nashorn bug:
1575
- // https://github.com/zloirock/core-js/issues/1128
1576
- // https://github.com/zloirock/core-js/issues/1130
1577
- if (classofRaw$1(fn) === 'Function') return uncurryThis$i(fn);
1578
- };
1579
-
1580
- var uncurryThis$h = functionUncurryThisClause;
1581
1553
  var aCallable$7 = aCallable$a;
1582
- var NATIVE_BIND$1 = functionBindNative;
1583
-
1584
- var bind$5 = uncurryThis$h(uncurryThis$h.bind);
1585
-
1586
- // optional / simple context binding
1587
- var functionBindContext = function (fn, that) {
1588
- aCallable$7(fn);
1589
- return that === undefined ? fn : NATIVE_BIND$1 ? bind$5(fn, that) : function (/* ...args */) {
1590
- return fn.apply(that, arguments);
1591
- };
1592
- };
1593
-
1594
- var isArray$2 = isArray$3;
1595
- var lengthOfArrayLike$4 = lengthOfArrayLike$6;
1596
- var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
1597
- var bind$4 = functionBindContext;
1598
-
1599
- // `FlattenIntoArray` abstract operation
1600
- // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
1601
- var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
1602
- var targetIndex = start;
1603
- var sourceIndex = 0;
1604
- var mapFn = mapper ? bind$4(mapper, thisArg) : false;
1605
- var element, elementLen;
1606
-
1607
- while (sourceIndex < sourceLen) {
1608
- if (sourceIndex in source) {
1609
- element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
1610
-
1611
- if (depth > 0 && isArray$2(element)) {
1612
- elementLen = lengthOfArrayLike$4(element);
1613
- targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1;
1614
- } else {
1615
- doesNotExceedSafeInteger(targetIndex + 1);
1616
- target[targetIndex] = element;
1617
- }
1618
-
1619
- targetIndex++;
1620
- }
1621
- sourceIndex++;
1622
- }
1623
- return targetIndex;
1624
- };
1625
-
1626
- var flattenIntoArray_1 = flattenIntoArray$1;
1627
-
1628
- var wellKnownSymbol$d = wellKnownSymbol$k;
1629
-
1630
- var TO_STRING_TAG$1 = wellKnownSymbol$d('toStringTag');
1631
- var test$2 = {};
1632
-
1633
- test$2[TO_STRING_TAG$1] = 'z';
1634
-
1635
- var toStringTagSupport = String(test$2) === '[object z]';
1636
-
1637
- var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1638
- var isCallable$9 = isCallable$n;
1639
- var classofRaw = classofRaw$2;
1640
- var wellKnownSymbol$c = wellKnownSymbol$k;
1641
-
1642
- var TO_STRING_TAG = wellKnownSymbol$c('toStringTag');
1643
- var $Object = Object;
1644
-
1645
- // ES3 wrong here
1646
- var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';
1647
-
1648
- // fallback for IE11 Script Access Denied error
1649
- var tryGet = function (it, key) {
1650
- try {
1651
- return it[key];
1652
- } catch (error) { /* empty */ }
1653
- };
1654
-
1655
- // getting tag from ES6+ `Object.prototype.toString`
1656
- var classof$6 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1657
- var O, tag, result;
1658
- return it === undefined ? 'Undefined' : it === null ? 'Null'
1659
- // @@toStringTag case
1660
- : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
1661
- // builtinTag case
1662
- : CORRECT_ARGUMENTS ? classofRaw(O)
1663
- // ES3 arguments fallback
1664
- : (result = classofRaw(O)) === 'Object' && isCallable$9(O.callee) ? 'Arguments' : result;
1665
- };
1666
-
1667
- var uncurryThis$g = functionUncurryThis;
1668
- var fails$e = fails$p;
1669
- var isCallable$8 = isCallable$n;
1670
- var classof$5 = classof$6;
1671
- var getBuiltIn$3 = getBuiltIn$7;
1672
- var inspectSource$1 = inspectSource$3;
1673
-
1674
- var noop = function () { /* empty */ };
1675
- var construct = getBuiltIn$3('Reflect', 'construct');
1676
- var constructorRegExp = /^\s*(?:class|function)\b/;
1677
- var exec$2 = uncurryThis$g(constructorRegExp.exec);
1678
- var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
1679
-
1680
- var isConstructorModern = function isConstructor(argument) {
1681
- if (!isCallable$8(argument)) return false;
1682
- try {
1683
- construct(noop, [], argument);
1684
- return true;
1685
- } catch (error) {
1686
- return false;
1687
- }
1688
- };
1689
-
1690
- var isConstructorLegacy = function isConstructor(argument) {
1691
- if (!isCallable$8(argument)) return false;
1692
- switch (classof$5(argument)) {
1693
- case 'AsyncFunction':
1694
- case 'GeneratorFunction':
1695
- case 'AsyncGeneratorFunction': return false;
1696
- }
1697
- try {
1698
- // we can't check .prototype since constructors produced by .bind haven't it
1699
- // `Function#toString` throws on some built-it function in some legacy engines
1700
- // (for example, `DOMQuad` and similar in FF41-)
1701
- return INCORRECT_TO_STRING || !!exec$2(constructorRegExp, inspectSource$1(argument));
1702
- } catch (error) {
1703
- return true;
1704
- }
1705
- };
1706
-
1707
- isConstructorLegacy.sham = true;
1708
-
1709
- // `IsConstructor` abstract operation
1710
- // https://tc39.es/ecma262/#sec-isconstructor
1711
- var isConstructor$2 = !construct || fails$e(function () {
1712
- var called;
1713
- return isConstructorModern(isConstructorModern.call)
1714
- || !isConstructorModern(Object)
1715
- || !isConstructorModern(function () { called = true; })
1716
- || called;
1717
- }) ? isConstructorLegacy : isConstructorModern;
1718
-
1719
- var isArray$1 = isArray$3;
1720
- var isConstructor$1 = isConstructor$2;
1721
- var isObject$4 = isObject$c;
1722
- var wellKnownSymbol$b = wellKnownSymbol$k;
1723
-
1724
- var SPECIES$4 = wellKnownSymbol$b('species');
1725
- var $Array = Array;
1726
-
1727
- // a part of `ArraySpeciesCreate` abstract operation
1728
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
1729
- var arraySpeciesConstructor$1 = function (originalArray) {
1730
- var C;
1731
- if (isArray$1(originalArray)) {
1732
- C = originalArray.constructor;
1733
- // cross-realm fallback
1734
- if (isConstructor$1(C) && (C === $Array || isArray$1(C.prototype))) C = undefined;
1735
- else if (isObject$4(C)) {
1736
- C = C[SPECIES$4];
1737
- if (C === null) C = undefined;
1738
- }
1739
- } return C === undefined ? $Array : C;
1740
- };
1741
-
1742
- var arraySpeciesConstructor = arraySpeciesConstructor$1;
1743
-
1744
- // `ArraySpeciesCreate` abstract operation
1745
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
1746
- var arraySpeciesCreate$1 = function (originalArray, length) {
1747
- return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
1748
- };
1749
-
1750
- var $$g = _export;
1751
- var flattenIntoArray = flattenIntoArray_1;
1752
1554
  var toObject$4 = toObject$7;
1753
- var lengthOfArrayLike$3 = lengthOfArrayLike$6;
1754
- var toIntegerOrInfinity$4 = toIntegerOrInfinity$7;
1755
- var arraySpeciesCreate = arraySpeciesCreate$1;
1756
-
1757
- // `Array.prototype.flat` method
1758
- // https://tc39.es/ecma262/#sec-array.prototype.flat
1759
- $$g({ target: 'Array', proto: true }, {
1760
- flat: function flat(/* depthArg = 1 */) {
1761
- var depthArg = arguments.length ? arguments[0] : undefined;
1762
- var O = toObject$4(this);
1763
- var sourceLen = lengthOfArrayLike$3(O);
1764
- var A = arraySpeciesCreate(O, 0);
1765
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity$4(depthArg));
1766
- return A;
1767
- }
1768
- });
1769
-
1770
- // this method was added to unscopables after implementation
1771
- // in popular engines, so it's moved to a separate module
1772
- var addToUnscopables = addToUnscopables$2;
1773
-
1774
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1775
- addToUnscopables('flat');
1776
-
1777
- var aCallable$6 = aCallable$a;
1778
- var toObject$3 = toObject$7;
1779
1555
  var IndexedObject$1 = indexedObject;
1780
- var lengthOfArrayLike$2 = lengthOfArrayLike$6;
1556
+ var lengthOfArrayLike$4 = lengthOfArrayLike$6;
1781
1557
 
1782
- var $TypeError$9 = TypeError;
1558
+ var $TypeError$a = TypeError;
1783
1559
 
1784
1560
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
1785
1561
  var createMethod$2 = function (IS_RIGHT) {
1786
1562
  return function (that, callbackfn, argumentsLength, memo) {
1787
- var O = toObject$3(that);
1563
+ var O = toObject$4(that);
1788
1564
  var self = IndexedObject$1(O);
1789
- var length = lengthOfArrayLike$2(O);
1790
- aCallable$6(callbackfn);
1565
+ var length = lengthOfArrayLike$4(O);
1566
+ aCallable$7(callbackfn);
1791
1567
  var index = IS_RIGHT ? length - 1 : 0;
1792
1568
  var i = IS_RIGHT ? -1 : 1;
1793
1569
  if (argumentsLength < 2) while (true) {
@@ -1798,7 +1574,7 @@ var createMethod$2 = function (IS_RIGHT) {
1798
1574
  }
1799
1575
  index += i;
1800
1576
  if (IS_RIGHT ? index < 0 : length <= index) {
1801
- throw new $TypeError$9('Reduce of empty array with no initial value');
1577
+ throw new $TypeError$a('Reduce of empty array with no initial value');
1802
1578
  }
1803
1579
  }
1804
1580
  for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
@@ -1817,22 +1593,22 @@ var arrayReduce = {
1817
1593
  right: createMethod$2(true)
1818
1594
  };
1819
1595
 
1820
- var fails$d = fails$p;
1596
+ var fails$e = fails$p;
1821
1597
 
1822
1598
  var arrayMethodIsStrict$2 = function (METHOD_NAME, argument) {
1823
1599
  var method = [][METHOD_NAME];
1824
- return !!method && fails$d(function () {
1600
+ return !!method && fails$e(function () {
1825
1601
  // eslint-disable-next-line no-useless-call -- required for testing
1826
1602
  method.call(null, argument || function () { return 1; }, 1);
1827
1603
  });
1828
1604
  };
1829
1605
 
1830
1606
  var global$c = global$o;
1831
- var classof$4 = classofRaw$2;
1607
+ var classof$7 = classofRaw$2;
1832
1608
 
1833
- var engineIsNode = classof$4(global$c.process) === 'process';
1609
+ var engineIsNode = classof$7(global$c.process) === 'process';
1834
1610
 
1835
- var $$f = _export;
1611
+ var $$g = _export;
1836
1612
  var $reduce = arrayReduce.left;
1837
1613
  var arrayMethodIsStrict$1 = arrayMethodIsStrict$2;
1838
1614
  var CHROME_VERSION = engineV8Version;
@@ -1845,7 +1621,7 @@ var FORCED$2 = CHROME_BUG || !arrayMethodIsStrict$1('reduce');
1845
1621
 
1846
1622
  // `Array.prototype.reduce` method
1847
1623
  // https://tc39.es/ecma262/#sec-array.prototype.reduce
1848
- $$f({ target: 'Array', proto: true, forced: FORCED$2 }, {
1624
+ $$g({ target: 'Array', proto: true, forced: FORCED$2 }, {
1849
1625
  reduce: function reduce(callbackfn /* , initialValue */) {
1850
1626
  var length = arguments.length;
1851
1627
  return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
@@ -1925,7 +1701,9 @@ function concatArrays(...arrays) {
1925
1701
  * @returns
1926
1702
  */
1927
1703
  function flattenArray(array) {
1928
- return array.filter(x => Boolean(x)).flat(1);
1704
+ const filteredValues = array.filter(x => Boolean(x));
1705
+ // concat with spread is faster than a depth-one flat
1706
+ return [].concat(...filteredValues);
1929
1707
  }
1930
1708
  /**
1931
1709
  * Flattens an array of ArrayOrValue values into a single array.
@@ -2070,12 +1848,51 @@ const mergeArrayIntoArray = pushArrayItemsIntoArray;
2070
1848
  */
2071
1849
  const mergeArrayOrValueIntoArray = pushItemOrArrayItemsIntoArray;
2072
1850
 
2073
- var classof$3 = classof$6;
1851
+ var wellKnownSymbol$d = wellKnownSymbol$k;
1852
+
1853
+ var TO_STRING_TAG$1 = wellKnownSymbol$d('toStringTag');
1854
+ var test$2 = {};
1855
+
1856
+ test$2[TO_STRING_TAG$1] = 'z';
1857
+
1858
+ var toStringTagSupport = String(test$2) === '[object z]';
1859
+
1860
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1861
+ var isCallable$9 = isCallable$n;
1862
+ var classofRaw$1 = classofRaw$2;
1863
+ var wellKnownSymbol$c = wellKnownSymbol$k;
1864
+
1865
+ var TO_STRING_TAG = wellKnownSymbol$c('toStringTag');
1866
+ var $Object = Object;
1867
+
1868
+ // ES3 wrong here
1869
+ var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments';
1870
+
1871
+ // fallback for IE11 Script Access Denied error
1872
+ var tryGet = function (it, key) {
1873
+ try {
1874
+ return it[key];
1875
+ } catch (error) { /* empty */ }
1876
+ };
1877
+
1878
+ // getting tag from ES6+ `Object.prototype.toString`
1879
+ var classof$6 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
1880
+ var O, tag, result;
1881
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
1882
+ // @@toStringTag case
1883
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
1884
+ // builtinTag case
1885
+ : CORRECT_ARGUMENTS ? classofRaw$1(O)
1886
+ // ES3 arguments fallback
1887
+ : (result = classofRaw$1(O)) === 'Object' && isCallable$9(O.callee) ? 'Arguments' : result;
1888
+ };
1889
+
1890
+ var classof$5 = classof$6;
2074
1891
 
2075
1892
  var $String$1 = String;
2076
1893
 
2077
1894
  var toString$c = function (argument) {
2078
- if (classof$3(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
1895
+ if (classof$5(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
2079
1896
  return $String$1(argument);
2080
1897
  };
2081
1898
 
@@ -2088,12 +1905,12 @@ var defineBuiltInAccessor$2 = function (target, name, descriptor) {
2088
1905
  return defineProperty$2.f(target, name, descriptor);
2089
1906
  };
2090
1907
 
2091
- var $$e = _export;
1908
+ var $$f = _export;
2092
1909
  var DESCRIPTORS$4 = descriptors;
2093
1910
  var global$b = global$o;
2094
- var uncurryThis$f = functionUncurryThis;
1911
+ var uncurryThis$i = functionUncurryThis;
2095
1912
  var hasOwn$3 = hasOwnProperty_1;
2096
- var isCallable$7 = isCallable$n;
1913
+ var isCallable$8 = isCallable$n;
2097
1914
  var isPrototypeOf$4 = objectIsPrototypeOf;
2098
1915
  var toString$b = toString$c;
2099
1916
  var defineBuiltInAccessor$1 = defineBuiltInAccessor$2;
@@ -2102,7 +1919,7 @@ var copyConstructorProperties = copyConstructorProperties$2;
2102
1919
  var NativeSymbol = global$b.Symbol;
2103
1920
  var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
2104
1921
 
2105
- if (DESCRIPTORS$4 && isCallable$7(NativeSymbol) && (!('description' in SymbolPrototype) ||
1922
+ if (DESCRIPTORS$4 && isCallable$8(NativeSymbol) && (!('description' in SymbolPrototype) ||
2106
1923
  // Safari 12 bug
2107
1924
  NativeSymbol().description !== undefined
2108
1925
  )) {
@@ -2123,11 +1940,11 @@ if (DESCRIPTORS$4 && isCallable$7(NativeSymbol) && (!('description' in SymbolPro
2123
1940
  SymbolPrototype.constructor = SymbolWrapper;
2124
1941
 
2125
1942
  var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)';
2126
- var thisSymbolValue = uncurryThis$f(SymbolPrototype.valueOf);
2127
- var symbolDescriptiveString = uncurryThis$f(SymbolPrototype.toString);
1943
+ var thisSymbolValue = uncurryThis$i(SymbolPrototype.valueOf);
1944
+ var symbolDescriptiveString = uncurryThis$i(SymbolPrototype.toString);
2128
1945
  var regexp = /^Symbol\((.*)\)[^)]+$/;
2129
- var replace$4 = uncurryThis$f(''.replace);
2130
- var stringSlice$8 = uncurryThis$f(''.slice);
1946
+ var replace$4 = uncurryThis$i(''.replace);
1947
+ var stringSlice$8 = uncurryThis$i(''.slice);
2131
1948
 
2132
1949
  defineBuiltInAccessor$1(SymbolPrototype, 'description', {
2133
1950
  configurable: true,
@@ -2140,7 +1957,7 @@ if (DESCRIPTORS$4 && isCallable$7(NativeSymbol) && (!('description' in SymbolPro
2140
1957
  }
2141
1958
  });
2142
1959
 
2143
- $$e({ global: true, constructor: true, forced: true }, {
1960
+ $$f({ global: true, constructor: true, forced: true }, {
2144
1961
  Symbol: SymbolWrapper
2145
1962
  });
2146
1963
  }
@@ -2743,24 +2560,24 @@ function setsAreEquivalent(a, b) {
2743
2560
  }
2744
2561
 
2745
2562
  var DESCRIPTORS$3 = descriptors;
2746
- var uncurryThis$e = functionUncurryThis;
2563
+ var uncurryThis$h = functionUncurryThis;
2747
2564
  var call$e = functionCall;
2748
- var fails$c = fails$p;
2565
+ var fails$d = fails$p;
2749
2566
  var objectKeys = objectKeys$2;
2750
2567
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
2751
2568
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
2752
- var toObject$2 = toObject$7;
2569
+ var toObject$3 = toObject$7;
2753
2570
  var IndexedObject = indexedObject;
2754
2571
 
2755
2572
  // eslint-disable-next-line es/no-object-assign -- safe
2756
2573
  var $assign = Object.assign;
2757
2574
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
2758
2575
  var defineProperty$1 = Object.defineProperty;
2759
- var concat$1 = uncurryThis$e([].concat);
2576
+ var concat$1 = uncurryThis$h([].concat);
2760
2577
 
2761
2578
  // `Object.assign` method
2762
2579
  // https://tc39.es/ecma262/#sec-object.assign
2763
- var objectAssign = !$assign || fails$c(function () {
2580
+ var objectAssign = !$assign || fails$d(function () {
2764
2581
  // should have correct order of operations (Edge bug)
2765
2582
  if (DESCRIPTORS$3 && $assign({ b: 1 }, $assign(defineProperty$1({}, 'a', {
2766
2583
  enumerable: true,
@@ -2781,7 +2598,7 @@ var objectAssign = !$assign || fails$c(function () {
2781
2598
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
2782
2599
  return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;
2783
2600
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
2784
- var T = toObject$2(target);
2601
+ var T = toObject$3(target);
2785
2602
  var argumentsLength = arguments.length;
2786
2603
  var index = 1;
2787
2604
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
@@ -2799,13 +2616,13 @@ var objectAssign = !$assign || fails$c(function () {
2799
2616
  } return T;
2800
2617
  } : $assign;
2801
2618
 
2802
- var $$d = _export;
2619
+ var $$e = _export;
2803
2620
  var assign = objectAssign;
2804
2621
 
2805
2622
  // `Object.assign` method
2806
2623
  // https://tc39.es/ecma262/#sec-object.assign
2807
2624
  // eslint-disable-next-line es/no-object-assign -- required for testing
2808
- $$d({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
2625
+ $$e({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
2809
2626
  assign: assign
2810
2627
  });
2811
2628
 
@@ -3416,15 +3233,15 @@ const BooleanStringKeyArrayUtilityInstance = new BooleanKeyArrayUtilityInstance(
3416
3233
 
3417
3234
  var tryToString$3 = tryToString$5;
3418
3235
 
3419
- var $TypeError$8 = TypeError;
3236
+ var $TypeError$9 = TypeError;
3420
3237
 
3421
3238
  var deletePropertyOrThrow$1 = function (O, P) {
3422
- if (!delete O[P]) throw new $TypeError$8('Cannot delete property ' + tryToString$3(P) + ' of ' + tryToString$3(O));
3239
+ if (!delete O[P]) throw new $TypeError$9('Cannot delete property ' + tryToString$3(P) + ' of ' + tryToString$3(O));
3423
3240
  };
3424
3241
 
3425
- var uncurryThis$d = functionUncurryThis;
3242
+ var uncurryThis$g = functionUncurryThis;
3426
3243
 
3427
- var arraySlice$2 = uncurryThis$d([].slice);
3244
+ var arraySlice$2 = uncurryThis$g([].slice);
3428
3245
 
3429
3246
  var arraySlice$1 = arraySlice$2;
3430
3247
 
@@ -3484,14 +3301,14 @@ var webkit = userAgent$3.match(/AppleWebKit\/(\d+)\./);
3484
3301
 
3485
3302
  var engineWebkitVersion = !!webkit && +webkit[1];
3486
3303
 
3487
- var $$c = _export;
3488
- var uncurryThis$c = functionUncurryThis;
3489
- var aCallable$5 = aCallable$a;
3490
- var toObject$1 = toObject$7;
3491
- var lengthOfArrayLike$1 = lengthOfArrayLike$6;
3304
+ var $$d = _export;
3305
+ var uncurryThis$f = functionUncurryThis;
3306
+ var aCallable$6 = aCallable$a;
3307
+ var toObject$2 = toObject$7;
3308
+ var lengthOfArrayLike$3 = lengthOfArrayLike$6;
3492
3309
  var deletePropertyOrThrow = deletePropertyOrThrow$1;
3493
3310
  var toString$a = toString$c;
3494
- var fails$b = fails$p;
3311
+ var fails$c = fails$p;
3495
3312
  var internalSort = arraySort;
3496
3313
  var arrayMethodIsStrict = arrayMethodIsStrict$2;
3497
3314
  var FF = engineFfVersion;
@@ -3500,21 +3317,21 @@ var V8 = engineV8Version;
3500
3317
  var WEBKIT = engineWebkitVersion;
3501
3318
 
3502
3319
  var test$1 = [];
3503
- var nativeSort = uncurryThis$c(test$1.sort);
3504
- var push$2 = uncurryThis$c(test$1.push);
3320
+ var nativeSort = uncurryThis$f(test$1.sort);
3321
+ var push$2 = uncurryThis$f(test$1.push);
3505
3322
 
3506
3323
  // IE8-
3507
- var FAILS_ON_UNDEFINED = fails$b(function () {
3324
+ var FAILS_ON_UNDEFINED = fails$c(function () {
3508
3325
  test$1.sort(undefined);
3509
3326
  });
3510
3327
  // V8 bug
3511
- var FAILS_ON_NULL = fails$b(function () {
3328
+ var FAILS_ON_NULL = fails$c(function () {
3512
3329
  test$1.sort(null);
3513
3330
  });
3514
3331
  // Old WebKit
3515
3332
  var STRICT_METHOD = arrayMethodIsStrict('sort');
3516
3333
 
3517
- var STABLE_SORT = !fails$b(function () {
3334
+ var STABLE_SORT = !fails$c(function () {
3518
3335
  // feature detection can be too slow, so check engines versions
3519
3336
  if (V8) return V8 < 70;
3520
3337
  if (FF && FF > 3) return;
@@ -3562,16 +3379,16 @@ var getSortCompare = function (comparefn) {
3562
3379
 
3563
3380
  // `Array.prototype.sort` method
3564
3381
  // https://tc39.es/ecma262/#sec-array.prototype.sort
3565
- $$c({ target: 'Array', proto: true, forced: FORCED$1 }, {
3382
+ $$d({ target: 'Array', proto: true, forced: FORCED$1 }, {
3566
3383
  sort: function sort(comparefn) {
3567
- if (comparefn !== undefined) aCallable$5(comparefn);
3384
+ if (comparefn !== undefined) aCallable$6(comparefn);
3568
3385
 
3569
- var array = toObject$1(this);
3386
+ var array = toObject$2(this);
3570
3387
 
3571
3388
  if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);
3572
3389
 
3573
3390
  var items = [];
3574
- var arrayLength = lengthOfArrayLike$1(array);
3391
+ var arrayLength = lengthOfArrayLike$3(array);
3575
3392
  var itemsLength, index;
3576
3393
 
3577
3394
  for (index = 0; index < arrayLength; index++) {
@@ -3580,7 +3397,7 @@ $$c({ target: 'Array', proto: true, forced: FORCED$1 }, {
3580
3397
 
3581
3398
  internalSort(items, getSortCompare(comparefn));
3582
3399
 
3583
- itemsLength = lengthOfArrayLike$1(items);
3400
+ itemsLength = lengthOfArrayLike$3(items);
3584
3401
  index = 0;
3585
3402
 
3586
3403
  while (index < itemsLength) array[index] = items[index++];
@@ -3625,14 +3442,14 @@ var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
3625
3442
  var defineBuiltIn$4 = defineBuiltIn$8;
3626
3443
  var anObject$9 = anObject$g;
3627
3444
  var $toString = toString$c;
3628
- var fails$a = fails$p;
3445
+ var fails$b = fails$p;
3629
3446
  var getRegExpFlags$1 = regexpGetFlags;
3630
3447
 
3631
3448
  var TO_STRING = 'toString';
3632
3449
  var RegExpPrototype$2 = RegExp.prototype;
3633
3450
  var nativeToString = RegExpPrototype$2[TO_STRING];
3634
3451
 
3635
- var NOT_GENERIC = fails$a(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
3452
+ var NOT_GENERIC = fails$b(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
3636
3453
  // FF44- RegExp#toString has a wrong name
3637
3454
  var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name !== TO_STRING;
3638
3455
 
@@ -4495,13 +4312,13 @@ function boundNumber(input, min, max) {
4495
4312
  return Math.max(Math.min(input, max), min);
4496
4313
  }
4497
4314
 
4498
- var fails$9 = fails$p;
4315
+ var fails$a = fails$p;
4499
4316
  var global$a = global$o;
4500
4317
 
4501
4318
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
4502
4319
  var $RegExp$2 = global$a.RegExp;
4503
4320
 
4504
- var UNSUPPORTED_Y$3 = fails$9(function () {
4321
+ var UNSUPPORTED_Y$3 = fails$a(function () {
4505
4322
  var re = $RegExp$2('a', 'y');
4506
4323
  re.lastIndex = 2;
4507
4324
  return re.exec('abcd') !== null;
@@ -4509,11 +4326,11 @@ var UNSUPPORTED_Y$3 = fails$9(function () {
4509
4326
 
4510
4327
  // UC Browser bug
4511
4328
  // https://github.com/zloirock/core-js/issues/1008
4512
- var MISSED_STICKY$1 = UNSUPPORTED_Y$3 || fails$9(function () {
4329
+ var MISSED_STICKY$1 = UNSUPPORTED_Y$3 || fails$a(function () {
4513
4330
  return !$RegExp$2('a', 'y').sticky;
4514
4331
  });
4515
4332
 
4516
- var BROKEN_CARET = UNSUPPORTED_Y$3 || fails$9(function () {
4333
+ var BROKEN_CARET = UNSUPPORTED_Y$3 || fails$a(function () {
4517
4334
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
4518
4335
  var re = $RegExp$2('^r', 'gy');
4519
4336
  re.lastIndex = 2;
@@ -4526,24 +4343,24 @@ var regexpStickyHelpers = {
4526
4343
  UNSUPPORTED_Y: UNSUPPORTED_Y$3
4527
4344
  };
4528
4345
 
4529
- var fails$8 = fails$p;
4346
+ var fails$9 = fails$p;
4530
4347
  var global$9 = global$o;
4531
4348
 
4532
4349
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
4533
4350
  var $RegExp$1 = global$9.RegExp;
4534
4351
 
4535
- var regexpUnsupportedDotAll = fails$8(function () {
4352
+ var regexpUnsupportedDotAll = fails$9(function () {
4536
4353
  var re = $RegExp$1('.', 's');
4537
4354
  return !(re.dotAll && re.test('\n') && re.flags === 's');
4538
4355
  });
4539
4356
 
4540
- var fails$7 = fails$p;
4357
+ var fails$8 = fails$p;
4541
4358
  var global$8 = global$o;
4542
4359
 
4543
4360
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
4544
4361
  var $RegExp = global$8.RegExp;
4545
4362
 
4546
- var regexpUnsupportedNcg = fails$7(function () {
4363
+ var regexpUnsupportedNcg = fails$8(function () {
4547
4364
  var re = $RegExp('(?<a>b)', 'g');
4548
4365
  return re.exec('b').groups.a !== 'b' ||
4549
4366
  'b'.replace(re, '$<a>c') !== 'bc';
@@ -4552,7 +4369,7 @@ var regexpUnsupportedNcg = fails$7(function () {
4552
4369
  /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
4553
4370
  /* eslint-disable regexp/no-useless-quantifier -- testing */
4554
4371
  var call$c = functionCall;
4555
- var uncurryThis$b = functionUncurryThis;
4372
+ var uncurryThis$e = functionUncurryThis;
4556
4373
  var toString$9 = toString$c;
4557
4374
  var regexpFlags = regexpFlags$1;
4558
4375
  var stickyHelpers$2 = regexpStickyHelpers;
@@ -4565,10 +4382,10 @@ var UNSUPPORTED_NCG$1 = regexpUnsupportedNcg;
4565
4382
  var nativeReplace = shared('native-string-replace', String.prototype.replace);
4566
4383
  var nativeExec = RegExp.prototype.exec;
4567
4384
  var patchedExec = nativeExec;
4568
- var charAt$4 = uncurryThis$b(''.charAt);
4569
- var indexOf = uncurryThis$b(''.indexOf);
4570
- var replace$3 = uncurryThis$b(''.replace);
4571
- var stringSlice$7 = uncurryThis$b(''.slice);
4385
+ var charAt$4 = uncurryThis$e(''.charAt);
4386
+ var indexOf = uncurryThis$e(''.indexOf);
4387
+ var replace$3 = uncurryThis$e(''.replace);
4388
+ var stringSlice$7 = uncurryThis$e(''.slice);
4572
4389
 
4573
4390
  var UPDATES_LAST_INDEX_WRONG = (function () {
4574
4391
  var re1 = /a/;
@@ -4666,22 +4483,22 @@ if (PATCH) {
4666
4483
 
4667
4484
  var regexpExec$2 = patchedExec;
4668
4485
 
4669
- var $$b = _export;
4670
- var exec$1 = regexpExec$2;
4486
+ var $$c = _export;
4487
+ var exec$2 = regexpExec$2;
4671
4488
 
4672
4489
  // `RegExp.prototype.exec` method
4673
4490
  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
4674
- $$b({ target: 'RegExp', proto: true, forced: /./.exec !== exec$1 }, {
4675
- exec: exec$1
4491
+ $$c({ target: 'RegExp', proto: true, forced: /./.exec !== exec$2 }, {
4492
+ exec: exec$2
4676
4493
  });
4677
4494
 
4678
- var uncurryThis$a = functionUncurryThis;
4495
+ var uncurryThis$d = functionUncurryThis;
4679
4496
 
4680
4497
  // `thisNumberValue` abstract operation
4681
4498
  // https://tc39.es/ecma262/#sec-thisnumbervalue
4682
- var thisNumberValue$1 = uncurryThis$a(1.0.valueOf);
4499
+ var thisNumberValue$1 = uncurryThis$d(1.0.valueOf);
4683
4500
 
4684
- var toIntegerOrInfinity$3 = toIntegerOrInfinity$7;
4501
+ var toIntegerOrInfinity$4 = toIntegerOrInfinity$7;
4685
4502
  var toString$8 = toString$c;
4686
4503
  var requireObjectCoercible$7 = requireObjectCoercible$a;
4687
4504
 
@@ -4692,25 +4509,25 @@ var $RangeError$1 = RangeError;
4692
4509
  var stringRepeat = function repeat(count) {
4693
4510
  var str = toString$8(requireObjectCoercible$7(this));
4694
4511
  var result = '';
4695
- var n = toIntegerOrInfinity$3(count);
4512
+ var n = toIntegerOrInfinity$4(count);
4696
4513
  if (n < 0 || n === Infinity) throw new $RangeError$1('Wrong number of repetitions');
4697
4514
  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
4698
4515
  return result;
4699
4516
  };
4700
4517
 
4701
- var $$a = _export;
4702
- var uncurryThis$9 = functionUncurryThis;
4703
- var toIntegerOrInfinity$2 = toIntegerOrInfinity$7;
4518
+ var $$b = _export;
4519
+ var uncurryThis$c = functionUncurryThis;
4520
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$7;
4704
4521
  var thisNumberValue = thisNumberValue$1;
4705
4522
  var $repeat = stringRepeat;
4706
- var fails$6 = fails$p;
4523
+ var fails$7 = fails$p;
4707
4524
 
4708
4525
  var $RangeError = RangeError;
4709
4526
  var $String = String;
4710
4527
  var floor$1 = Math.floor;
4711
- var repeat = uncurryThis$9($repeat);
4712
- var stringSlice$6 = uncurryThis$9(''.slice);
4713
- var nativeToFixed = uncurryThis$9(1.0.toFixed);
4528
+ var repeat = uncurryThis$c($repeat);
4529
+ var stringSlice$6 = uncurryThis$c(''.slice);
4530
+ var nativeToFixed = uncurryThis$c(1.0.toFixed);
4714
4531
 
4715
4532
  var pow = function (x, n, acc) {
4716
4533
  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
@@ -4760,22 +4577,22 @@ var dataToString = function (data) {
4760
4577
  } return s;
4761
4578
  };
4762
4579
 
4763
- var FORCED = fails$6(function () {
4580
+ var FORCED = fails$7(function () {
4764
4581
  return nativeToFixed(0.00008, 3) !== '0.000' ||
4765
4582
  nativeToFixed(0.9, 0) !== '1' ||
4766
4583
  nativeToFixed(1.255, 2) !== '1.25' ||
4767
4584
  nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128';
4768
- }) || !fails$6(function () {
4585
+ }) || !fails$7(function () {
4769
4586
  // V8 ~ Android 4.3-
4770
4587
  nativeToFixed({});
4771
4588
  });
4772
4589
 
4773
4590
  // `Number.prototype.toFixed` method
4774
4591
  // https://tc39.es/ecma262/#sec-number.prototype.tofixed
4775
- $$a({ target: 'Number', proto: true, forced: FORCED }, {
4592
+ $$b({ target: 'Number', proto: true, forced: FORCED }, {
4776
4593
  toFixed: function toFixed(fractionDigits) {
4777
4594
  var number = thisNumberValue(this);
4778
- var fractDigits = toIntegerOrInfinity$2(fractionDigits);
4595
+ var fractDigits = toIntegerOrInfinity$3(fractionDigits);
4779
4596
  var data = [0, 0, 0, 0, 0, 0];
4780
4597
  var sign = '';
4781
4598
  var result = '0';
@@ -5226,6 +5043,15 @@ function range(input, inputEnd) {
5226
5043
  return range;
5227
5044
  }
5228
5045
 
5046
+ /**
5047
+ * Convenience function for calling readKeysToMap() and keying the values by their index number.
5048
+ *
5049
+ * @param items
5050
+ * @returns
5051
+ */
5052
+ function indexRefMap(items) {
5053
+ return readKeysToMap(items, item => item.i);
5054
+ }
5229
5055
  /**
5230
5056
  * Creates a SortCompareFunction<T> that sorts by index on IndexRef values.
5231
5057
  *
@@ -5420,6 +5246,12 @@ function findBestIndexMatch(input, i) {
5420
5246
  function safeFindBestIndexMatch(input, i) {
5421
5247
  return input != null && input.length > 0 ? findBestIndexMatch(input, i) : undefined;
5422
5248
  }
5249
+ /**
5250
+ * Creates a FilterUniqueFunction that filters by the input value's index.
5251
+ *
5252
+ * @param readIndex
5253
+ */
5254
+ const filterUniqueByIndex = filterUniqueFunction(readIndexNumber);
5423
5255
  /**
5424
5256
  * Creates a SortCompareFunction<T> that sorts by the read index.
5425
5257
  *
@@ -5873,24 +5705,24 @@ function terminatingFactoryFromArray(array, terminatingValue) {
5873
5705
  var call$b = functionCall;
5874
5706
  var defineBuiltIn$3 = defineBuiltIn$8;
5875
5707
  var regexpExec$1 = regexpExec$2;
5876
- var fails$5 = fails$p;
5877
- var wellKnownSymbol$a = wellKnownSymbol$k;
5708
+ var fails$6 = fails$p;
5709
+ var wellKnownSymbol$b = wellKnownSymbol$k;
5878
5710
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$6;
5879
5711
 
5880
- var SPECIES$3 = wellKnownSymbol$a('species');
5712
+ var SPECIES$4 = wellKnownSymbol$b('species');
5881
5713
  var RegExpPrototype$1 = RegExp.prototype;
5882
5714
 
5883
5715
  var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
5884
- var SYMBOL = wellKnownSymbol$a(KEY);
5716
+ var SYMBOL = wellKnownSymbol$b(KEY);
5885
5717
 
5886
- var DELEGATES_TO_SYMBOL = !fails$5(function () {
5718
+ var DELEGATES_TO_SYMBOL = !fails$6(function () {
5887
5719
  // String methods call symbol-named RegExp methods
5888
5720
  var O = {};
5889
5721
  O[SYMBOL] = function () { return 7; };
5890
5722
  return ''[KEY](O) !== 7;
5891
5723
  });
5892
5724
 
5893
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$5(function () {
5725
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$6(function () {
5894
5726
  // Symbol-named RegExp methods call .exec
5895
5727
  var execCalled = false;
5896
5728
  var re = /a/;
@@ -5903,7 +5735,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
5903
5735
  // RegExp[@@split] doesn't call the regex's exec method, but first creates
5904
5736
  // a new one. We need to return the patched regex when creating the new one.
5905
5737
  re.constructor = {};
5906
- re.constructor[SPECIES$3] = function () { return re; };
5738
+ re.constructor[SPECIES$4] = function () { return re; };
5907
5739
  re.flags = '';
5908
5740
  re[SYMBOL] = /./[SYMBOL];
5909
5741
  }
@@ -5944,19 +5776,19 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
5944
5776
  if (SHAM) createNonEnumerableProperty$1(RegExpPrototype$1[SYMBOL], 'sham', true);
5945
5777
  };
5946
5778
 
5947
- var uncurryThis$8 = functionUncurryThis;
5948
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$7;
5779
+ var uncurryThis$b = functionUncurryThis;
5780
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$7;
5949
5781
  var toString$7 = toString$c;
5950
5782
  var requireObjectCoercible$6 = requireObjectCoercible$a;
5951
5783
 
5952
- var charAt$3 = uncurryThis$8(''.charAt);
5953
- var charCodeAt = uncurryThis$8(''.charCodeAt);
5954
- var stringSlice$5 = uncurryThis$8(''.slice);
5784
+ var charAt$3 = uncurryThis$b(''.charAt);
5785
+ var charCodeAt = uncurryThis$b(''.charCodeAt);
5786
+ var stringSlice$5 = uncurryThis$b(''.slice);
5955
5787
 
5956
5788
  var createMethod$1 = function (CONVERT_TO_STRING) {
5957
5789
  return function ($this, pos) {
5958
5790
  var S = toString$7(requireObjectCoercible$6($this));
5959
- var position = toIntegerOrInfinity$1(pos);
5791
+ var position = toIntegerOrInfinity$2(pos);
5960
5792
  var size = S.length;
5961
5793
  var first, second;
5962
5794
  if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
@@ -5991,23 +5823,23 @@ var advanceStringIndex$3 = function (S, index, unicode) {
5991
5823
 
5992
5824
  var call$a = functionCall;
5993
5825
  var anObject$8 = anObject$g;
5994
- var isCallable$6 = isCallable$n;
5995
- var classof$2 = classofRaw$2;
5826
+ var isCallable$7 = isCallable$n;
5827
+ var classof$4 = classofRaw$2;
5996
5828
  var regexpExec = regexpExec$2;
5997
5829
 
5998
- var $TypeError$7 = TypeError;
5830
+ var $TypeError$8 = TypeError;
5999
5831
 
6000
5832
  // `RegExpExec` abstract operation
6001
5833
  // https://tc39.es/ecma262/#sec-regexpexec
6002
5834
  var regexpExecAbstract = function (R, S) {
6003
5835
  var exec = R.exec;
6004
- if (isCallable$6(exec)) {
5836
+ if (isCallable$7(exec)) {
6005
5837
  var result = call$a(exec, R, S);
6006
5838
  if (result !== null) anObject$8(result);
6007
5839
  return result;
6008
5840
  }
6009
- if (classof$2(R) === 'RegExp') return call$a(regexpExec, R, S);
6010
- throw new $TypeError$7('RegExp#exec called on incompatible receiver');
5841
+ if (classof$4(R) === 'RegExp') return call$a(regexpExec, R, S);
5842
+ throw new $TypeError$8('RegExp#exec called on incompatible receiver');
6011
5843
  };
6012
5844
 
6013
5845
  var call$9 = functionCall;
@@ -6322,12 +6154,12 @@ function findIndexOfFirstDuplicateValue(values) {
6322
6154
  var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
6323
6155
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
6324
6156
 
6325
- var uncurryThis$7 = functionUncurryThis;
6157
+ var uncurryThis$a = functionUncurryThis;
6326
6158
  var requireObjectCoercible$4 = requireObjectCoercible$a;
6327
6159
  var toString$5 = toString$c;
6328
6160
  var whitespaces$1 = whitespaces$2;
6329
6161
 
6330
- var replace$2 = uncurryThis$7(''.replace);
6162
+ var replace$2 = uncurryThis$a(''.replace);
6331
6163
  var ltrim = RegExp('^[' + whitespaces$1 + ']+');
6332
6164
  var rtrim = RegExp('(^|[^' + whitespaces$1 + '])[' + whitespaces$1 + ']+$');
6333
6165
 
@@ -6354,7 +6186,7 @@ var stringTrim = {
6354
6186
  };
6355
6187
 
6356
6188
  var PROPER_FUNCTION_NAME = functionName.PROPER;
6357
- var fails$4 = fails$p;
6189
+ var fails$5 = fails$p;
6358
6190
  var whitespaces = whitespaces$2;
6359
6191
 
6360
6192
  var non = '\u200B\u0085\u180E';
@@ -6362,53 +6194,105 @@ var non = '\u200B\u0085\u180E';
6362
6194
  // check that a method works with the correct list
6363
6195
  // of whitespaces and has a correct name
6364
6196
  var stringTrimForced = function (METHOD_NAME) {
6365
- return fails$4(function () {
6197
+ return fails$5(function () {
6366
6198
  return !!whitespaces[METHOD_NAME]()
6367
6199
  || non[METHOD_NAME]() !== non
6368
6200
  || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);
6369
6201
  });
6370
6202
  };
6371
6203
 
6372
- var $$9 = _export;
6204
+ var $$a = _export;
6373
6205
  var $trim = stringTrim.trim;
6374
6206
  var forcedStringTrimMethod = stringTrimForced;
6375
6207
 
6376
6208
  // `String.prototype.trim` method
6377
6209
  // https://tc39.es/ecma262/#sec-string.prototype.trim
6378
- $$9({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
6210
+ $$a({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
6379
6211
  trim: function trim() {
6380
6212
  return $trim(this);
6381
6213
  }
6382
6214
  });
6383
6215
 
6384
- var isConstructor = isConstructor$2;
6216
+ var uncurryThis$9 = functionUncurryThis;
6217
+ var fails$4 = fails$p;
6218
+ var isCallable$6 = isCallable$n;
6219
+ var classof$3 = classof$6;
6220
+ var getBuiltIn$3 = getBuiltIn$7;
6221
+ var inspectSource$1 = inspectSource$3;
6222
+
6223
+ var noop = function () { /* empty */ };
6224
+ var construct = getBuiltIn$3('Reflect', 'construct');
6225
+ var constructorRegExp = /^\s*(?:class|function)\b/;
6226
+ var exec$1 = uncurryThis$9(constructorRegExp.exec);
6227
+ var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
6228
+
6229
+ var isConstructorModern = function isConstructor(argument) {
6230
+ if (!isCallable$6(argument)) return false;
6231
+ try {
6232
+ construct(noop, [], argument);
6233
+ return true;
6234
+ } catch (error) {
6235
+ return false;
6236
+ }
6237
+ };
6238
+
6239
+ var isConstructorLegacy = function isConstructor(argument) {
6240
+ if (!isCallable$6(argument)) return false;
6241
+ switch (classof$3(argument)) {
6242
+ case 'AsyncFunction':
6243
+ case 'GeneratorFunction':
6244
+ case 'AsyncGeneratorFunction': return false;
6245
+ }
6246
+ try {
6247
+ // we can't check .prototype since constructors produced by .bind haven't it
6248
+ // `Function#toString` throws on some built-it function in some legacy engines
6249
+ // (for example, `DOMQuad` and similar in FF41-)
6250
+ return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource$1(argument));
6251
+ } catch (error) {
6252
+ return true;
6253
+ }
6254
+ };
6255
+
6256
+ isConstructorLegacy.sham = true;
6257
+
6258
+ // `IsConstructor` abstract operation
6259
+ // https://tc39.es/ecma262/#sec-isconstructor
6260
+ var isConstructor$2 = !construct || fails$4(function () {
6261
+ var called;
6262
+ return isConstructorModern(isConstructorModern.call)
6263
+ || !isConstructorModern(Object)
6264
+ || !isConstructorModern(function () { called = true; })
6265
+ || called;
6266
+ }) ? isConstructorLegacy : isConstructorModern;
6267
+
6268
+ var isConstructor$1 = isConstructor$2;
6385
6269
  var tryToString$2 = tryToString$5;
6386
6270
 
6387
- var $TypeError$6 = TypeError;
6271
+ var $TypeError$7 = TypeError;
6388
6272
 
6389
6273
  // `Assert: IsConstructor(argument) is true`
6390
6274
  var aConstructor$1 = function (argument) {
6391
- if (isConstructor(argument)) return argument;
6392
- throw new $TypeError$6(tryToString$2(argument) + ' is not a constructor');
6275
+ if (isConstructor$1(argument)) return argument;
6276
+ throw new $TypeError$7(tryToString$2(argument) + ' is not a constructor');
6393
6277
  };
6394
6278
 
6395
6279
  var anObject$6 = anObject$g;
6396
6280
  var aConstructor = aConstructor$1;
6397
6281
  var isNullOrUndefined$3 = isNullOrUndefined$7;
6398
- var wellKnownSymbol$9 = wellKnownSymbol$k;
6282
+ var wellKnownSymbol$a = wellKnownSymbol$k;
6399
6283
 
6400
- var SPECIES$2 = wellKnownSymbol$9('species');
6284
+ var SPECIES$3 = wellKnownSymbol$a('species');
6401
6285
 
6402
6286
  // `SpeciesConstructor` abstract operation
6403
6287
  // https://tc39.es/ecma262/#sec-speciesconstructor
6404
6288
  var speciesConstructor$2 = function (O, defaultConstructor) {
6405
6289
  var C = anObject$6(O).constructor;
6406
6290
  var S;
6407
- return C === undefined || isNullOrUndefined$3(S = anObject$6(C)[SPECIES$2]) ? defaultConstructor : aConstructor(S);
6291
+ return C === undefined || isNullOrUndefined$3(S = anObject$6(C)[SPECIES$3]) ? defaultConstructor : aConstructor(S);
6408
6292
  };
6409
6293
 
6410
6294
  var call$8 = functionCall;
6411
- var uncurryThis$6 = functionUncurryThis;
6295
+ var uncurryThis$8 = functionUncurryThis;
6412
6296
  var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
6413
6297
  var anObject$5 = anObject$g;
6414
6298
  var isNullOrUndefined$2 = isNullOrUndefined$7;
@@ -6425,8 +6309,8 @@ var fails$3 = fails$p;
6425
6309
  var UNSUPPORTED_Y$1 = stickyHelpers$1.UNSUPPORTED_Y;
6426
6310
  var MAX_UINT32 = 0xFFFFFFFF;
6427
6311
  var min$3 = Math.min;
6428
- var push$1 = uncurryThis$6([].push);
6429
- var stringSlice$4 = uncurryThis$6(''.slice);
6312
+ var push$1 = uncurryThis$8([].push);
6313
+ var stringSlice$4 = uncurryThis$8(''.slice);
6430
6314
 
6431
6315
  // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
6432
6316
  // Weex JS has frozen built-in prototypes, so use try / catch wrapper
@@ -6626,32 +6510,42 @@ function mapIterable(values, fn) {
6626
6510
  return mapping;
6627
6511
  }
6628
6512
 
6629
- var isObject$3 = isObject$c;
6630
- var classof$1 = classofRaw$2;
6631
- var wellKnownSymbol$8 = wellKnownSymbol$k;
6513
+ var classofRaw = classofRaw$2;
6514
+ var uncurryThis$7 = functionUncurryThis;
6515
+
6516
+ var functionUncurryThisClause = function (fn) {
6517
+ // Nashorn bug:
6518
+ // https://github.com/zloirock/core-js/issues/1128
6519
+ // https://github.com/zloirock/core-js/issues/1130
6520
+ if (classofRaw(fn) === 'Function') return uncurryThis$7(fn);
6521
+ };
6522
+
6523
+ var isObject$4 = isObject$c;
6524
+ var classof$2 = classofRaw$2;
6525
+ var wellKnownSymbol$9 = wellKnownSymbol$k;
6632
6526
 
6633
- var MATCH$2 = wellKnownSymbol$8('match');
6527
+ var MATCH$2 = wellKnownSymbol$9('match');
6634
6528
 
6635
6529
  // `IsRegExp` abstract operation
6636
6530
  // https://tc39.es/ecma262/#sec-isregexp
6637
6531
  var isRegexp = function (it) {
6638
6532
  var isRegExp;
6639
- return isObject$3(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classof$1(it) === 'RegExp');
6533
+ return isObject$4(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classof$2(it) === 'RegExp');
6640
6534
  };
6641
6535
 
6642
6536
  var isRegExp$1 = isRegexp;
6643
6537
 
6644
- var $TypeError$5 = TypeError;
6538
+ var $TypeError$6 = TypeError;
6645
6539
 
6646
6540
  var notARegexp = function (it) {
6647
6541
  if (isRegExp$1(it)) {
6648
- throw new $TypeError$5("The method doesn't accept regular expressions");
6542
+ throw new $TypeError$6("The method doesn't accept regular expressions");
6649
6543
  } return it;
6650
6544
  };
6651
6545
 
6652
- var wellKnownSymbol$7 = wellKnownSymbol$k;
6546
+ var wellKnownSymbol$8 = wellKnownSymbol$k;
6653
6547
 
6654
- var MATCH$1 = wellKnownSymbol$7('match');
6548
+ var MATCH$1 = wellKnownSymbol$8('match');
6655
6549
 
6656
6550
  var correctIsRegexpLogic = function (METHOD_NAME) {
6657
6551
  var regexp = /./;
@@ -6665,8 +6559,8 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
6665
6559
  } return false;
6666
6560
  };
6667
6561
 
6668
- var $$8 = _export;
6669
- var uncurryThis$5 = functionUncurryThisClause;
6562
+ var $$9 = _export;
6563
+ var uncurryThis$6 = functionUncurryThisClause;
6670
6564
  var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
6671
6565
  var toLength$2 = toLength$6;
6672
6566
  var toString$3 = toString$c;
@@ -6674,7 +6568,7 @@ var notARegExp$1 = notARegexp;
6674
6568
  var requireObjectCoercible$2 = requireObjectCoercible$a;
6675
6569
  var correctIsRegExpLogic$1 = correctIsRegexpLogic;
6676
6570
 
6677
- var stringSlice$3 = uncurryThis$5(''.slice);
6571
+ var stringSlice$3 = uncurryThis$6(''.slice);
6678
6572
  var min$2 = Math.min;
6679
6573
 
6680
6574
  var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegExpLogic$1('startsWith');
@@ -6686,7 +6580,7 @@ var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
6686
6580
 
6687
6581
  // `String.prototype.startsWith` method
6688
6582
  // https://tc39.es/ecma262/#sec-string.prototype.startswith
6689
- $$8({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
6583
+ $$9({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
6690
6584
  startsWith: function startsWith(searchString /* , position = 0 */) {
6691
6585
  var that = toString$3(requireObjectCoercible$2(this));
6692
6586
  notARegExp$1(searchString);
@@ -6696,8 +6590,8 @@ $$8({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_
6696
6590
  }
6697
6591
  });
6698
6592
 
6699
- var $$7 = _export;
6700
- var uncurryThis$4 = functionUncurryThisClause;
6593
+ var $$8 = _export;
6594
+ var uncurryThis$5 = functionUncurryThisClause;
6701
6595
  var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
6702
6596
  var toLength$1 = toLength$6;
6703
6597
  var toString$2 = toString$c;
@@ -6705,7 +6599,7 @@ var notARegExp = notARegexp;
6705
6599
  var requireObjectCoercible$1 = requireObjectCoercible$a;
6706
6600
  var correctIsRegExpLogic = correctIsRegexpLogic;
6707
6601
 
6708
- var slice = uncurryThis$4(''.slice);
6602
+ var slice = uncurryThis$5(''.slice);
6709
6603
  var min$1 = Math.min;
6710
6604
 
6711
6605
  var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
@@ -6717,7 +6611,7 @@ var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
6717
6611
 
6718
6612
  // `String.prototype.endsWith` method
6719
6613
  // https://tc39.es/ecma262/#sec-string.prototype.endswith
6720
- $$7({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
6614
+ $$8({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
6721
6615
  endsWith: function endsWith(searchString /* , endPosition = @length */) {
6722
6616
  var that = toString$2(requireObjectCoercible$1(this));
6723
6617
  notARegExp(searchString);
@@ -7756,7 +7650,7 @@ function authClaims(authClaimsUpdate) {
7756
7650
  }
7757
7651
 
7758
7652
  var isCallable$5 = isCallable$n;
7759
- var isObject$2 = isObject$c;
7653
+ var isObject$3 = isObject$c;
7760
7654
  var setPrototypeOf$1 = objectSetPrototypeOf;
7761
7655
 
7762
7656
  // makes subclassing work correct for wrapped built-ins
@@ -7768,7 +7662,7 @@ var inheritIfRequired$1 = function ($this, dummy, Wrapper) {
7768
7662
  // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
7769
7663
  isCallable$5(NewTarget = dummy.constructor) &&
7770
7664
  NewTarget !== Wrapper &&
7771
- isObject$2(NewTargetPrototype = NewTarget.prototype) &&
7665
+ isObject$3(NewTargetPrototype = NewTarget.prototype) &&
7772
7666
  NewTargetPrototype !== Wrapper.prototype
7773
7667
  ) setPrototypeOf$1($this, NewTargetPrototype);
7774
7668
  return $this;
@@ -7786,16 +7680,16 @@ var proxyAccessor$1 = function (Target, Source, key) {
7786
7680
 
7787
7681
  var getBuiltIn$2 = getBuiltIn$7;
7788
7682
  var defineBuiltInAccessor = defineBuiltInAccessor$2;
7789
- var wellKnownSymbol$6 = wellKnownSymbol$k;
7683
+ var wellKnownSymbol$7 = wellKnownSymbol$k;
7790
7684
  var DESCRIPTORS$2 = descriptors;
7791
7685
 
7792
- var SPECIES$1 = wellKnownSymbol$6('species');
7686
+ var SPECIES$2 = wellKnownSymbol$7('species');
7793
7687
 
7794
7688
  var setSpecies$2 = function (CONSTRUCTOR_NAME) {
7795
7689
  var Constructor = getBuiltIn$2(CONSTRUCTOR_NAME);
7796
7690
 
7797
- if (DESCRIPTORS$2 && Constructor && !Constructor[SPECIES$1]) {
7798
- defineBuiltInAccessor(Constructor, SPECIES$1, {
7691
+ if (DESCRIPTORS$2 && Constructor && !Constructor[SPECIES$2]) {
7692
+ defineBuiltInAccessor(Constructor, SPECIES$2, {
7799
7693
  configurable: true,
7800
7694
  get: function () { return this; }
7801
7695
  });
@@ -7804,7 +7698,7 @@ var setSpecies$2 = function (CONSTRUCTOR_NAME) {
7804
7698
 
7805
7699
  var DESCRIPTORS$1 = descriptors;
7806
7700
  var global$7 = global$o;
7807
- var uncurryThis$3 = functionUncurryThis;
7701
+ var uncurryThis$4 = functionUncurryThis;
7808
7702
  var isForced$1 = isForced_1;
7809
7703
  var inheritIfRequired = inheritIfRequired$1;
7810
7704
  var createNonEnumerableProperty = createNonEnumerableProperty$6;
@@ -7821,19 +7715,19 @@ var fails$2 = fails$p;
7821
7715
  var hasOwn$1 = hasOwnProperty_1;
7822
7716
  var enforceInternalState = internalState.enforce;
7823
7717
  var setSpecies$1 = setSpecies$2;
7824
- var wellKnownSymbol$5 = wellKnownSymbol$k;
7718
+ var wellKnownSymbol$6 = wellKnownSymbol$k;
7825
7719
  var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
7826
7720
  var UNSUPPORTED_NCG = regexpUnsupportedNcg;
7827
7721
 
7828
- var MATCH = wellKnownSymbol$5('match');
7722
+ var MATCH = wellKnownSymbol$6('match');
7829
7723
  var NativeRegExp = global$7.RegExp;
7830
7724
  var RegExpPrototype = NativeRegExp.prototype;
7831
7725
  var SyntaxError = global$7.SyntaxError;
7832
- var exec = uncurryThis$3(RegExpPrototype.exec);
7833
- var charAt$1 = uncurryThis$3(''.charAt);
7834
- var replace$1 = uncurryThis$3(''.replace);
7835
- var stringIndexOf$1 = uncurryThis$3(''.indexOf);
7836
- var stringSlice$2 = uncurryThis$3(''.slice);
7726
+ var exec = uncurryThis$4(RegExpPrototype.exec);
7727
+ var charAt$1 = uncurryThis$4(''.charAt);
7728
+ var replace$1 = uncurryThis$4(''.replace);
7729
+ var stringIndexOf$1 = uncurryThis$4(''.indexOf);
7730
+ var stringSlice$2 = uncurryThis$4(''.slice);
7837
7731
  // TODO: Use only proper RegExpIdentifierName
7838
7732
  var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/;
7839
7733
  var re1 = /a/g;
@@ -7994,24 +7888,24 @@ if (isForced$1('RegExp', BASE_FORCED)) {
7994
7888
  // https://tc39.es/ecma262/#sec-get-regexp-@@species
7995
7889
  setSpecies$1('RegExp');
7996
7890
 
7997
- var NATIVE_BIND = functionBindNative;
7891
+ var NATIVE_BIND$1 = functionBindNative;
7998
7892
 
7999
7893
  var FunctionPrototype = Function.prototype;
8000
7894
  var apply$2 = FunctionPrototype.apply;
8001
7895
  var call$7 = FunctionPrototype.call;
8002
7896
 
8003
7897
  // eslint-disable-next-line es/no-reflect -- safe
8004
- var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$7.bind(apply$2) : function () {
7898
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND$1 ? call$7.bind(apply$2) : function () {
8005
7899
  return call$7.apply(apply$2, arguments);
8006
7900
  });
8007
7901
 
8008
- var uncurryThis$2 = functionUncurryThis;
8009
- var toObject = toObject$7;
7902
+ var uncurryThis$3 = functionUncurryThis;
7903
+ var toObject$1 = toObject$7;
8010
7904
 
8011
7905
  var floor = Math.floor;
8012
- var charAt = uncurryThis$2(''.charAt);
8013
- var replace = uncurryThis$2(''.replace);
8014
- var stringSlice$1 = uncurryThis$2(''.slice);
7906
+ var charAt = uncurryThis$3(''.charAt);
7907
+ var replace = uncurryThis$3(''.replace);
7908
+ var stringSlice$1 = uncurryThis$3(''.slice);
8015
7909
  // eslint-disable-next-line redos/no-vulnerable -- safe
8016
7910
  var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
8017
7911
  var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
@@ -8023,7 +7917,7 @@ var getSubstitution$1 = function (matched, str, position, captures, namedCapture
8023
7917
  var m = captures.length;
8024
7918
  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
8025
7919
  if (namedCaptures !== undefined) {
8026
- namedCaptures = toObject(namedCaptures);
7920
+ namedCaptures = toObject$1(namedCaptures);
8027
7921
  symbols = SUBSTITUTION_SYMBOLS;
8028
7922
  }
8029
7923
  return replace(replacement, symbols, function (match, ch) {
@@ -8053,13 +7947,13 @@ var getSubstitution$1 = function (matched, str, position, captures, namedCapture
8053
7947
 
8054
7948
  var apply$1 = functionApply;
8055
7949
  var call$6 = functionCall;
8056
- var uncurryThis$1 = functionUncurryThis;
7950
+ var uncurryThis$2 = functionUncurryThis;
8057
7951
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
8058
7952
  var fails$1 = fails$p;
8059
7953
  var anObject$4 = anObject$g;
8060
7954
  var isCallable$4 = isCallable$n;
8061
7955
  var isNullOrUndefined$1 = isNullOrUndefined$7;
8062
- var toIntegerOrInfinity = toIntegerOrInfinity$7;
7956
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$7;
8063
7957
  var toLength = toLength$6;
8064
7958
  var toString = toString$c;
8065
7959
  var requireObjectCoercible = requireObjectCoercible$a;
@@ -8067,15 +7961,15 @@ var advanceStringIndex = advanceStringIndex$3;
8067
7961
  var getMethod$2 = getMethod$6;
8068
7962
  var getSubstitution = getSubstitution$1;
8069
7963
  var regExpExec = regexpExecAbstract;
8070
- var wellKnownSymbol$4 = wellKnownSymbol$k;
7964
+ var wellKnownSymbol$5 = wellKnownSymbol$k;
8071
7965
 
8072
- var REPLACE = wellKnownSymbol$4('replace');
7966
+ var REPLACE = wellKnownSymbol$5('replace');
8073
7967
  var max = Math.max;
8074
7968
  var min = Math.min;
8075
- var concat = uncurryThis$1([].concat);
8076
- var push = uncurryThis$1([].push);
8077
- var stringIndexOf = uncurryThis$1(''.indexOf);
8078
- var stringSlice = uncurryThis$1(''.slice);
7969
+ var concat = uncurryThis$2([].concat);
7970
+ var push = uncurryThis$2([].push);
7971
+ var stringIndexOf = uncurryThis$2(''.indexOf);
7972
+ var stringSlice = uncurryThis$2(''.slice);
8079
7973
 
8080
7974
  var maybeToString = function (it) {
8081
7975
  return it === undefined ? it : String(it);
@@ -8165,7 +8059,7 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
8165
8059
  result = results[i];
8166
8060
 
8167
8061
  var matched = toString(result[0]);
8168
- var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
8062
+ var position = max(min(toIntegerOrInfinity$1(result.index), S.length), 0);
8169
8063
  var captures = [];
8170
8064
  var replacement;
8171
8065
  // NOTE: This is equivalent to
@@ -8193,21 +8087,30 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
8193
8087
  ];
8194
8088
  }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
8195
8089
 
8196
- var $$6 = _export;
8197
- var uncurryThis = functionUncurryThis;
8198
- var isArray = isArray$3;
8090
+ var classof$1 = classofRaw$2;
8091
+
8092
+ // `IsArray` abstract operation
8093
+ // https://tc39.es/ecma262/#sec-isarray
8094
+ // eslint-disable-next-line es/no-array-isarray -- safe
8095
+ var isArray$3 = Array.isArray || function isArray(argument) {
8096
+ return classof$1(argument) === 'Array';
8097
+ };
8098
+
8099
+ var $$7 = _export;
8100
+ var uncurryThis$1 = functionUncurryThis;
8101
+ var isArray$2 = isArray$3;
8199
8102
 
8200
- var nativeReverse = uncurryThis([].reverse);
8103
+ var nativeReverse = uncurryThis$1([].reverse);
8201
8104
  var test = [1, 2];
8202
8105
 
8203
8106
  // `Array.prototype.reverse` method
8204
8107
  // https://tc39.es/ecma262/#sec-array.prototype.reverse
8205
8108
  // fix for Safari 12.0 bug
8206
8109
  // https://bugs.webkit.org/show_bug.cgi?id=188794
8207
- $$6({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
8110
+ $$7({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
8208
8111
  reverse: function reverse() {
8209
8112
  // eslint-disable-next-line no-self-assign -- dirty hack
8210
- if (isArray(this)) this.length = this.length;
8113
+ if (isArray$2(this)) this.length = this.length;
8211
8114
  return nativeReverse(this);
8212
8115
  }
8213
8116
  });
@@ -9585,6 +9488,16 @@ function allObjectsAreEqual(values, fn) {
9585
9488
  return true;
9586
9489
  }
9587
9490
 
9491
+ /**
9492
+ * Creates a new Map of LabeledValue values.
9493
+ *
9494
+ * @param values
9495
+ * @returns
9496
+ */
9497
+ function labeledValueMap(values) {
9498
+ return new Map(values.map(x => [x.value, x]));
9499
+ }
9500
+
9588
9501
  /**
9589
9502
  * Creates a new modifier
9590
9503
  *
@@ -10961,6 +10874,120 @@ function modifyModelMapFunction(mapFn, modifyModel, copy = true) {
10961
10874
  } : mapFn;
10962
10875
  }
10963
10876
 
10877
+ var $TypeError$5 = TypeError;
10878
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
10879
+
10880
+ var doesNotExceedSafeInteger$1 = function (it) {
10881
+ if (it > MAX_SAFE_INTEGER) throw $TypeError$5('Maximum allowed index exceeded');
10882
+ return it;
10883
+ };
10884
+
10885
+ var uncurryThis = functionUncurryThisClause;
10886
+ var aCallable$5 = aCallable$a;
10887
+ var NATIVE_BIND = functionBindNative;
10888
+
10889
+ var bind$5 = uncurryThis(uncurryThis.bind);
10890
+
10891
+ // optional / simple context binding
10892
+ var functionBindContext = function (fn, that) {
10893
+ aCallable$5(fn);
10894
+ return that === undefined ? fn : NATIVE_BIND ? bind$5(fn, that) : function (/* ...args */) {
10895
+ return fn.apply(that, arguments);
10896
+ };
10897
+ };
10898
+
10899
+ var isArray$1 = isArray$3;
10900
+ var lengthOfArrayLike$2 = lengthOfArrayLike$6;
10901
+ var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
10902
+ var bind$4 = functionBindContext;
10903
+
10904
+ // `FlattenIntoArray` abstract operation
10905
+ // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
10906
+ var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
10907
+ var targetIndex = start;
10908
+ var sourceIndex = 0;
10909
+ var mapFn = mapper ? bind$4(mapper, thisArg) : false;
10910
+ var element, elementLen;
10911
+
10912
+ while (sourceIndex < sourceLen) {
10913
+ if (sourceIndex in source) {
10914
+ element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
10915
+
10916
+ if (depth > 0 && isArray$1(element)) {
10917
+ elementLen = lengthOfArrayLike$2(element);
10918
+ targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1;
10919
+ } else {
10920
+ doesNotExceedSafeInteger(targetIndex + 1);
10921
+ target[targetIndex] = element;
10922
+ }
10923
+
10924
+ targetIndex++;
10925
+ }
10926
+ sourceIndex++;
10927
+ }
10928
+ return targetIndex;
10929
+ };
10930
+
10931
+ var flattenIntoArray_1 = flattenIntoArray$1;
10932
+
10933
+ var isArray = isArray$3;
10934
+ var isConstructor = isConstructor$2;
10935
+ var isObject$2 = isObject$c;
10936
+ var wellKnownSymbol$4 = wellKnownSymbol$k;
10937
+
10938
+ var SPECIES$1 = wellKnownSymbol$4('species');
10939
+ var $Array = Array;
10940
+
10941
+ // a part of `ArraySpeciesCreate` abstract operation
10942
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
10943
+ var arraySpeciesConstructor$1 = function (originalArray) {
10944
+ var C;
10945
+ if (isArray(originalArray)) {
10946
+ C = originalArray.constructor;
10947
+ // cross-realm fallback
10948
+ if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
10949
+ else if (isObject$2(C)) {
10950
+ C = C[SPECIES$1];
10951
+ if (C === null) C = undefined;
10952
+ }
10953
+ } return C === undefined ? $Array : C;
10954
+ };
10955
+
10956
+ var arraySpeciesConstructor = arraySpeciesConstructor$1;
10957
+
10958
+ // `ArraySpeciesCreate` abstract operation
10959
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
10960
+ var arraySpeciesCreate$1 = function (originalArray, length) {
10961
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
10962
+ };
10963
+
10964
+ var $$6 = _export;
10965
+ var flattenIntoArray = flattenIntoArray_1;
10966
+ var toObject = toObject$7;
10967
+ var lengthOfArrayLike$1 = lengthOfArrayLike$6;
10968
+ var toIntegerOrInfinity = toIntegerOrInfinity$7;
10969
+ var arraySpeciesCreate = arraySpeciesCreate$1;
10970
+
10971
+ // `Array.prototype.flat` method
10972
+ // https://tc39.es/ecma262/#sec-array.prototype.flat
10973
+ $$6({ target: 'Array', proto: true }, {
10974
+ flat: function flat(/* depthArg = 1 */) {
10975
+ var depthArg = arguments.length ? arguments[0] : undefined;
10976
+ var O = toObject(this);
10977
+ var sourceLen = lengthOfArrayLike$1(O);
10978
+ var A = arraySpeciesCreate(O, 0);
10979
+ A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
10980
+ return A;
10981
+ }
10982
+ });
10983
+
10984
+ // this method was added to unscopables after implementation
10985
+ // in popular engines, so it's moved to a separate module
10986
+ var addToUnscopables = addToUnscopables$2;
10987
+
10988
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
10989
+ addToUnscopables('flat');
10990
+
10964
10991
  function performTaskLoop(config) {
10965
10992
  return __awaiter(this, void 0, void 0, function* () {
10966
10993
  let result;
@@ -14267,6 +14294,7 @@ exports.filterMaybeValues = filterMaybeValues;
14267
14294
  exports.filterNullAndUndefinedValues = filterNullAndUndefinedValues;
14268
14295
  exports.filterOnlyUndefinedValues = filterOnlyUndefinedValues;
14269
14296
  exports.filterUndefinedValues = filterUndefinedValues;
14297
+ exports.filterUniqueByIndex = filterUniqueByIndex;
14270
14298
  exports.filterUniqueCaseInsensitiveStrings = filterUniqueCaseInsensitiveStrings;
14271
14299
  exports.filterUniqueFunction = filterUniqueFunction;
14272
14300
  exports.filterUniqueTransform = filterUniqueTransform;
@@ -14357,6 +14385,7 @@ exports.indexRangeForArray = indexRangeForArray;
14357
14385
  exports.indexRangeOverlapsIndexRange = indexRangeOverlapsIndexRange;
14358
14386
  exports.indexRangeOverlapsIndexRangeFunction = indexRangeOverlapsIndexRangeFunction;
14359
14387
  exports.indexRangeReaderPairFactory = indexRangeReaderPairFactory;
14388
+ exports.indexRefMap = indexRefMap;
14360
14389
  exports.indexedValuesArrayAccessorFactory = indexedValuesArrayAccessorFactory;
14361
14390
  exports.insertIntoBooleanKeyArray = insertIntoBooleanKeyArray;
14362
14391
  exports.invertBooleanReturnFunction = invertBooleanReturnFunction;
@@ -14451,6 +14480,7 @@ exports.keepFromSetCopy = keepFromSetCopy;
14451
14480
  exports.keepValuesFromArray = keepValuesFromArray;
14452
14481
  exports.keepValuesFromSet = keepValuesFromSet;
14453
14482
  exports.keyValueMapFactory = keyValueMapFactory;
14483
+ exports.labeledValueMap = labeledValueMap;
14454
14484
  exports.lastValue = lastValue;
14455
14485
  exports.latLngBound = latLngBound;
14456
14486
  exports.latLngBoundCenterPoint = latLngBoundCenterPoint;