jscrewit 2.33.1 → 2.35.0

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/lib/jscrewit.js CHANGED
@@ -1,4 +1,4 @@
1
- // JScrewIt 2.33.1 – https://jscrew.it
1
+ // JScrewIt 2.35.0 – https://jscrew.it
2
2
 
3
3
  (function () {
4
4
  'use strict';
@@ -231,6 +231,22 @@
231
231
  return plan;
232
232
  }
233
233
 
234
+ /******************************************************************************
235
+ Copyright (c) Microsoft Corporation.
236
+
237
+ Permission to use, copy, modify, and/or distribute this software for any
238
+ purpose with or without fee is hereby granted.
239
+
240
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
241
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
242
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
243
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
244
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
245
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
246
+ PERFORMANCE OF THIS SOFTWARE.
247
+ ***************************************************************************** */
248
+
249
+
234
250
  var extendStatics = function(d, b) {
235
251
  extendStatics = Object.setPrototypeOf ||
236
252
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -310,18 +326,12 @@
310
326
  return unionMask;
311
327
  }
312
328
 
313
- var keyFor = function (mask) { return "_" + mask; };
329
+ var keyFor = function (mask) { return "_".concat(mask); };
314
330
  var MaskIndex = /** @class */ (function () {
315
331
  function MaskIndex() {
316
332
  this._index = Object.create(null);
317
333
  this._size = 0;
318
334
  }
319
- /** Determines whether the current collection contains an entry for a specified mask. */
320
- MaskIndex.prototype.has = function (mask) {
321
- var key = keyFor(mask);
322
- var returnValue = key in this._index;
323
- return returnValue;
324
- };
325
335
  Object.defineProperty(MaskIndex.prototype, "size", {
326
336
  /* The number of entries in the current collection. */
327
337
  get: function () {
@@ -330,6 +340,12 @@
330
340
  enumerable: false,
331
341
  configurable: true
332
342
  });
343
+ /** Determines whether the current collection contains an entry for a specified mask. */
344
+ MaskIndex.prototype.has = function (mask) {
345
+ var key = keyFor(mask);
346
+ var returnValue = key in this._index;
347
+ return returnValue;
348
+ };
333
349
  MaskIndex.prototype._setEntry = function (mask, value) {
334
350
  var key = keyFor(mask);
335
351
  var _index = this._index;
@@ -634,8 +650,8 @@
634
650
  name: undefined,
635
651
  toString: function () {
636
652
  var _a;
637
- var name = (_a = this.name) !== null && _a !== void 0 ? _a : "<" + this.canonicalNames.join(', ') + ">";
638
- var str = "[Feature " + name + "]";
653
+ var name = (_a = this.name) !== null && _a !== void 0 ? _a : "<".concat(this.canonicalNames.join(', '), ">");
654
+ var str = "[Feature ".concat(name, "]");
639
655
  return str;
640
656
  },
641
657
  };
@@ -682,8 +698,7 @@
682
698
  var aliasFor = esToString(info_1.aliasFor);
683
699
  mask = completeFeature(aliasFor);
684
700
  featureObj = ALL[aliasFor];
685
- if (description == null)
686
- description = DESCRIPTION_MAP[aliasFor];
701
+ description !== null && description !== void 0 ? description : (description = DESCRIPTION_MAP[aliasFor]);
687
702
  }
688
703
  else {
689
704
  var inherits = getInfoStringField('inherits');
@@ -760,8 +775,7 @@
760
775
  familyCompatibilities.push(compatibility);
761
776
  return compatibility;
762
777
  });
763
- if (description == null)
764
- description = formatEngineDescription === null || formatEngineDescription === void 0 ? void 0 : formatEngineDescription(compatibilities);
778
+ description !== null && description !== void 0 ? description : (description = formatEngineDescription === null || formatEngineDescription === void 0 ? void 0 : formatEngineDescription(compatibilities));
765
779
  }
766
780
  var attributes = createMap();
767
781
  if (inherits != null) {
@@ -871,12 +885,12 @@
871
885
  return false;
872
886
  }
873
887
  var str = parts.length && (!compact || isMultiline()) ?
874
- intro + "\n" + indent(parts.join(partSeparator + "\n")) + "\n" + outro :
875
- "" + intro + preSeparator + parts.join(partSeparator + " ") + outro;
888
+ "".concat(intro, "\n").concat(indent(parts.join("".concat(partSeparator, "\n"))), "\n").concat(outro) :
889
+ "".concat(intro).concat(preSeparator).concat(parts.join("".concat(partSeparator, " "))).concat(outro);
876
890
  return str;
877
891
  }
878
892
  function throwUnknownFeatureError(name) {
879
- throw new _Error("Unknown feature " + _JSON_stringify(name));
893
+ throw new _Error("Unknown feature ".concat(_JSON_stringify(name)));
880
894
  }
881
895
  function wrapCheck(check) {
882
896
  var wrappedCheck = function () { return !!check(); };
@@ -995,7 +1009,7 @@
995
1009
  return available;
996
1010
  }
997
1011
  ),
998
- includes: ['SELF_OBJ'],
1012
+ includes: ['SELF_OBJ'],
999
1013
  attributes: { 'web-worker': 'web-worker-restriction' },
1000
1014
  },
1001
1015
  ARRAY_ITERATOR:
@@ -1038,14 +1052,14 @@
1038
1052
  },
1039
1053
  ATOB:
1040
1054
  {
1041
- description: 'Existence of the global functions atob and btoa.',
1055
+ description: 'Existence of the global functions atob and btoa.',
1042
1056
  check:
1043
1057
  function ()
1044
1058
  {
1045
1059
  var available = typeof atob === 'function' && typeof btoa === 'function';
1046
1060
  return available;
1047
1061
  },
1048
- attributes: { 'web-worker': 'old-safari-restriction' },
1062
+ attributes: { 'web-worker': 'old-safari-restriction' },
1049
1063
  },
1050
1064
  BARPROP:
1051
1065
  {
@@ -1106,8 +1120,8 @@
1106
1120
  var available = typeof document === 'object' && document + '' === '[object Document]';
1107
1121
  return available;
1108
1122
  },
1109
- includes: ['ANY_DOCUMENT'],
1110
- excludes: ['HTMLDOCUMENT'],
1123
+ includes: ['ANY_DOCUMENT'],
1124
+ excludes: ['HTMLDOCUMENT'],
1111
1125
  attributes: { 'web-worker': 'web-worker-restriction' },
1112
1126
  },
1113
1127
  DOMWINDOW:
@@ -1124,8 +1138,8 @@
1124
1138
  return available;
1125
1139
  }
1126
1140
  ),
1127
- includes: ['ANY_WINDOW'],
1128
- excludes: ['WINDOW'],
1141
+ includes: ['ANY_WINDOW'],
1142
+ excludes: ['WINDOW'],
1129
1143
  attributes: { 'web-worker': 'web-worker-restriction' },
1130
1144
  },
1131
1145
  ESC_HTML_ALL:
@@ -1326,7 +1340,7 @@
1326
1340
  typeof Audio !== 'undefined' && /^function HTMLAudioElement/.test(Audio);
1327
1341
  return available;
1328
1342
  },
1329
- includes: ['NO_IE_SRC'],
1343
+ includes: ['NO_IE_SRC'],
1330
1344
  attributes: { 'web-worker': 'web-worker-restriction' },
1331
1345
  },
1332
1346
  HTMLDOCUMENT:
@@ -1341,8 +1355,8 @@
1341
1355
  typeof document === 'object' && document + '' === '[object HTMLDocument]';
1342
1356
  return available;
1343
1357
  },
1344
- includes: ['ANY_DOCUMENT'],
1345
- excludes: ['DOCUMENT'],
1358
+ includes: ['ANY_DOCUMENT'],
1359
+ excludes: ['DOCUMENT'],
1346
1360
  attributes: { 'web-worker': 'web-worker-restriction' },
1347
1361
  },
1348
1362
  IE_SRC:
@@ -1610,7 +1624,8 @@
1610
1624
  return available;
1611
1625
  },
1612
1626
  },
1613
- SELF: { aliasFor: 'ANY_WINDOW' },
1627
+ SELF:
1628
+ { aliasFor: 'ANY_WINDOW' },
1614
1629
  SELF_OBJ:
1615
1630
  {
1616
1631
  description:
@@ -1645,14 +1660,14 @@
1645
1660
  },
1646
1661
  STATUS:
1647
1662
  {
1648
- description: 'Existence of the global string status.',
1663
+ description: 'Existence of the global string status.',
1649
1664
  check:
1650
1665
  function ()
1651
1666
  {
1652
1667
  var available = typeof status === 'string';
1653
1668
  return available;
1654
1669
  },
1655
- attributes: { 'web-worker': 'web-worker-restriction' },
1670
+ attributes: { 'web-worker': 'web-worker-restriction' },
1656
1671
  },
1657
1672
  UNDEFINED:
1658
1673
  {
@@ -1690,8 +1705,8 @@
1690
1705
  return available;
1691
1706
  }
1692
1707
  ),
1693
- includes: ['ANY_WINDOW'],
1694
- excludes: ['DOMWINDOW'],
1708
+ includes: ['ANY_WINDOW'],
1709
+ excludes: ['DOMWINDOW'],
1695
1710
  attributes: { 'web-worker': 'web-worker-restriction' },
1696
1711
  },
1697
1712
 
@@ -1722,6 +1737,7 @@
1722
1737
  includes:
1723
1738
  [
1724
1739
  'ARROW',
1740
+ 'AT',
1725
1741
  'ATOB',
1726
1742
  'BARPROP',
1727
1743
  'ESC_HTML_QUOT_ONLY',
@@ -1778,8 +1794,8 @@
1778
1794
  },
1779
1795
  ANDRO_4_4:
1780
1796
  {
1781
- inherits: 'ANDRO_4_1',
1782
- versions: ['4.4'],
1797
+ inherits: 'ANDRO_4_1',
1798
+ versions: ['4.4'],
1783
1799
  includes:
1784
1800
  {
1785
1801
  BARPROP: true,
@@ -1795,13 +1811,13 @@
1795
1811
  },
1796
1812
  CHROME_PREV:
1797
1813
  {
1798
- description: describeEngine('the previous to current versions of Chrome and Edge'),
1799
- aliasFor: 'CHROME_92',
1814
+ description: describeEngine('the previous to current versions of Chrome and Edge'),
1815
+ aliasFor: 'CHROME_92',
1800
1816
  },
1801
1817
  CHROME:
1802
1818
  {
1803
- description: describeEngine('the current stable versions of Chrome, Edge and Opera'),
1804
- aliasFor: 'CHROME_92',
1819
+ description: describeEngine('the current stable versions of Chrome, Edge and Opera'),
1820
+ aliasFor: 'CHROME_92',
1805
1821
  },
1806
1822
  CHROME_92:
1807
1823
  {
@@ -1842,16 +1858,27 @@
1842
1858
  },
1843
1859
  FF_ESR:
1844
1860
  {
1845
- description: describeEngine('the current version of Firefox ESR'),
1846
- aliasFor: 'FF_78',
1861
+ description: describeEngine('the current version of Firefox ESR'),
1862
+ aliasFor: 'FF_90',
1847
1863
  },
1848
- FF_78:
1864
+ FF_PREV:
1865
+ {
1866
+ description: describeEngine('the previous to current version of Firefox'),
1867
+ aliasFor: 'FF_90',
1868
+ },
1869
+ FF:
1870
+ {
1871
+ description: describeEngine('the current stable version of Firefox'),
1872
+ aliasFor: 'FF_90',
1873
+ },
1874
+ FF_90:
1849
1875
  {
1850
1876
  families: ['Firefox'],
1851
- versions: [['78',, '82']],
1877
+ versions: [['90']],
1852
1878
  includes:
1853
1879
  [
1854
1880
  'ARROW',
1881
+ 'AT',
1855
1882
  'ATOB',
1856
1883
  'BARPROP',
1857
1884
  'ESC_HTML_QUOT_ONLY',
@@ -1868,12 +1895,12 @@
1868
1895
  'HISTORY',
1869
1896
  'HTMLDOCUMENT',
1870
1897
  'INCR_CHAR',
1898
+ 'INTL',
1871
1899
  'LOCALE_INFINITY',
1872
1900
  'LOCALE_NUMERALS_EXT',
1873
1901
  'LOCATION',
1874
1902
  'NAME',
1875
1903
  'NO_OLD_SAFARI_ARRAY_ITERATOR',
1876
- 'PLAIN_INTL',
1877
1904
  'REGEXP_STRING_ITERATOR',
1878
1905
  'SHORT_LOCALES',
1879
1906
  'STATUS',
@@ -1882,28 +1909,6 @@
1882
1909
  attributes:
1883
1910
  { 'char-increment-restriction': null, 'unstable': null, 'web-worker-restriction': null },
1884
1911
  },
1885
- FF_83:
1886
- {
1887
- inherits: 'FF_78',
1888
- versions: [['83',, '89']],
1889
- includes: { INTL: true, PLAIN_INTL: false },
1890
- },
1891
- FF_PREV:
1892
- {
1893
- description: describeEngine('the previous to current version of Firefox'),
1894
- aliasFor: 'FF_90',
1895
- },
1896
- FF:
1897
- {
1898
- description: describeEngine('the current stable version of Firefox'),
1899
- aliasFor: 'FF_90',
1900
- },
1901
- FF_90:
1902
- {
1903
- inherits: 'FF_83',
1904
- versions: [['90']],
1905
- includes: { AT: true },
1906
- },
1907
1912
  IE_9:
1908
1913
  {
1909
1914
  families: ['Internet Explorer'],
@@ -1928,9 +1933,9 @@
1928
1933
  },
1929
1934
  IE_10:
1930
1935
  {
1931
- inherits: 'IE_9',
1932
- versions: ['10'],
1933
- includes: { ATOB: true, CONSOLE: true, OBJECT_UNDEFINED: true, UNDEFINED: false },
1936
+ inherits: 'IE_9',
1937
+ versions: ['10'],
1938
+ includes: { ATOB: true, CONSOLE: true, OBJECT_UNDEFINED: true, UNDEFINED: false },
1934
1939
  attributes: { 'char-increment-restriction': null, 'web-worker-restriction': null },
1935
1940
  },
1936
1941
  IE_11:
@@ -1949,11 +1954,12 @@
1949
1954
  },
1950
1955
  IE_11_WIN_10:
1951
1956
  {
1952
- inherits: 'IE_11',
1953
- versions: ['11'],
1954
- compatibilityTag: 'on Windows 10',
1955
- compatibilityShortTag: 'W10',
1956
- includes: { LOCALE_INFINITY: true, LOCALE_NUMERALS: false, LOCALE_NUMERALS_EXT: true },
1957
+ inherits: 'IE_11',
1958
+ versions: ['11'],
1959
+ compatibilityTag: 'on Windows 10',
1960
+ compatibilityShortTag: 'W10',
1961
+ includes:
1962
+ { LOCALE_INFINITY: true, LOCALE_NUMERALS: false, LOCALE_NUMERALS_EXT: true },
1957
1963
  },
1958
1964
  NODE_0_10:
1959
1965
  {
@@ -1992,8 +1998,8 @@
1992
1998
  },
1993
1999
  NODE_5:
1994
2000
  {
1995
- inherits: 'NODE_4',
1996
- versions: [['5',, '9']],
2001
+ inherits: 'NODE_4',
2002
+ versions: [['5',, '9']],
1997
2003
  attributes: { 'char-increment-restriction': null },
1998
2004
  },
1999
2005
  NODE_10:
@@ -2076,9 +2082,9 @@
2076
2082
  },
2077
2083
  SAFARI_7_1:
2078
2084
  {
2079
- inherits: 'SAFARI_7_0',
2080
- versions: [['7.1', '8']],
2081
- includes: { ARRAY_ITERATOR: true, FILL: true },
2085
+ inherits: 'SAFARI_7_0',
2086
+ versions: [['7.1', '8']],
2087
+ includes: { ARRAY_ITERATOR: true, FILL: true },
2082
2088
  attributes: { 'no-console-in-web-worker': undefined, 'safari-bug-21820506': null },
2083
2089
  },
2084
2090
  SAFARI_9:
@@ -2095,8 +2101,8 @@
2095
2101
  },
2096
2102
  SAFARI_10:
2097
2103
  {
2098
- inherits: 'SAFARI_9',
2099
- versions: [['10', '11']],
2104
+ inherits: 'SAFARI_9',
2105
+ versions: [['10', '11']],
2100
2106
  includes:
2101
2107
  {
2102
2108
  ARROW: true,
@@ -2129,17 +2135,23 @@
2129
2135
  versions: [['14.0.1',, '14.0.3']],
2130
2136
  includes: { INTL: true, PLAIN_INTL: false },
2131
2137
  },
2132
- SAFARI:
2133
- {
2134
- description: describeEngine('the current stable version of Safari'),
2135
- aliasFor: 'SAFARI_14_1',
2136
- },
2137
2138
  SAFARI_14_1:
2138
2139
  {
2139
2140
  inherits: 'SAFARI_14_0_1',
2140
- versions: [['14.1']],
2141
+ versions: [['14.1',, '15.3']],
2141
2142
  includes: { CONSOLE: false },
2142
2143
  },
2144
+ SAFARI:
2145
+ {
2146
+ description: describeEngine('the current stable version of Safari'),
2147
+ aliasFor: 'SAFARI_15_4',
2148
+ },
2149
+ SAFARI_15_4:
2150
+ {
2151
+ inherits: 'SAFARI_14_1',
2152
+ versions: [['15.4']],
2153
+ includes: { AT: true },
2154
+ },
2143
2155
  };
2144
2156
  (function ()
2145
2157
  {
@@ -2190,8 +2202,8 @@
2190
2202
  );
2191
2203
  featureInfos.AUTO =
2192
2204
  {
2193
- description: describeEngine('the current environment'),
2194
- includes: autoIncludes,
2205
+ description: describeEngine('the current environment'),
2206
+ includes: autoIncludes,
2195
2207
  };
2196
2208
  Feature = createFeatureClass(featureInfos, formatEngineDescription);
2197
2209
  ELEMENTARY = Feature.ELEMENTARY;
@@ -2324,13 +2336,13 @@
2324
2336
  function evalExpr$1(expr) {
2325
2337
  var value = tryEvalExpr(expr);
2326
2338
  if (value === INVALID_EXPR)
2327
- throw SyntaxError("Invalid expression " + expr);
2339
+ throw SyntaxError("Invalid expression ".concat(expr));
2328
2340
  return value;
2329
2341
  }
2330
2342
  function tryEvalExpr(expr) {
2331
2343
  var fn;
2332
2344
  try {
2333
- fn = Function("return(" + expr + ");");
2345
+ fn = Function("return(".concat(expr, ");"));
2334
2346
  }
2335
2347
  catch (_a) {
2336
2348
  return INVALID_EXPR;
@@ -2379,9 +2391,9 @@
2379
2391
  }
2380
2392
  }
2381
2393
  };
2382
- var isCombined = function (replacement, value) { return !value !== tryEvalExpr("!" + replacement); };
2383
- var isPrefixed = function (replacement, value) { return "0" + value !== tryEvalExpr("0+" + replacement); };
2384
- var isWeak$1 = function (replacement, value) { return "" + value !== tryEvalExpr("\"\"+" + replacement); };
2394
+ var isCombined = function (replacement, value) { return !value !== tryEvalExpr("!".concat(replacement)); };
2395
+ var isPrefixed = function (replacement, value) { return "0".concat(value) !== tryEvalExpr("0+".concat(replacement)); };
2396
+ var isWeak$1 = function (replacement, value) { return "".concat(value) !== tryEvalExpr("\"\"+".concat(replacement)); };
2385
2397
 
2386
2398
  function createTypeSet() {
2387
2399
  var types = [];
@@ -2417,7 +2429,7 @@
2417
2429
  createTypeSet(SolutionType.UNDEFINED),
2418
2430
  createTypeSet(SolutionType.WEAK_ALGEBRAIC),
2419
2431
  ],
2420
- replace: function (r1, r2, r3) { return r1 + "+(" + r2 + "+[" + r3 + "])"; },
2432
+ replace: function (r1, r2, r3) { return "".concat(r1, "+(").concat(r2, "+[").concat(r3, "])"); },
2421
2433
  solutionType: SolutionType.PREFIXED_STRING,
2422
2434
  },
2423
2435
  {
@@ -2426,7 +2438,7 @@
2426
2438
  createTypeSet(SolutionType.UNDEFINED),
2427
2439
  createTypeSet(SolutionType.WEAK_PREFIXED_STRING),
2428
2440
  ],
2429
- replace: function (r1, r2, r3) { return r1 + "+(" + r2 + "+(" + r3 + "))"; },
2441
+ replace: function (r1, r2, r3) { return "".concat(r1, "+(").concat(r2, "+(").concat(r3, "))"); },
2430
2442
  solutionType: SolutionType.PREFIXED_STRING,
2431
2443
  },
2432
2444
  {
@@ -2435,7 +2447,7 @@
2435
2447
  createTypeSet(SolutionType.UNDEFINED),
2436
2448
  createTypeSet(SolutionType.OBJECT, SolutionType.STRING, SolutionType.COMBINED_STRING),
2437
2449
  ],
2438
- replace: function (r1, r2, r3) { return r1 + "+(" + r2 + "+" + r3 + ")"; },
2450
+ replace: function (r1, r2, r3) { return "".concat(r1, "+(").concat(r2, "+").concat(r3, ")"); },
2439
2451
  solutionType: SolutionType.PREFIXED_STRING,
2440
2452
  },
2441
2453
  {
@@ -2443,7 +2455,7 @@
2443
2455
  createTypeSet(SolutionType.UNDEFINED),
2444
2456
  createTypeSet(SolutionType.UNDEFINED),
2445
2457
  ],
2446
- replace: function (r1, r2) { return "[]+" + r1 + "+" + r2; },
2458
+ replace: function (r1, r2) { return "[]+".concat(r1, "+").concat(r2); },
2447
2459
  solutionType: SolutionType.COMBINED_STRING,
2448
2460
  },
2449
2461
  {
@@ -2451,7 +2463,7 @@
2451
2463
  createTypeSet(SolutionType.UNDEFINED),
2452
2464
  createTypeSet(SolutionType.ALGEBRAIC, SolutionType.WEAK_ALGEBRAIC),
2453
2465
  ],
2454
- replace: function (r1, r2) { return r1 + "+[" + r2 + "]"; },
2466
+ replace: function (r1, r2) { return "".concat(r1, "+[").concat(r2, "]"); },
2455
2467
  solutionType: SolutionType.PREFIXED_STRING,
2456
2468
  },
2457
2469
  {
@@ -2459,7 +2471,7 @@
2459
2471
  createTypeSet(SolutionType.UNDEFINED),
2460
2472
  createTypeSet(SolutionType.PREFIXED_STRING),
2461
2473
  ],
2462
- replace: function (r1, r2) { return r1 + "+(" + r2 + ")"; },
2474
+ replace: function (r1, r2) { return "".concat(r1, "+(").concat(r2, ")"); },
2463
2475
  solutionType: SolutionType.PREFIXED_STRING,
2464
2476
  },
2465
2477
  {
@@ -2473,7 +2485,7 @@
2473
2485
  createTypeSet(SolutionType.ALGEBRAIC),
2474
2486
  createTypeSet(SolutionType.UNDEFINED, SolutionType.ALGEBRAIC, SolutionType.PREFIXED_STRING),
2475
2487
  ],
2476
- replace: function (r1, r2) { return "[" + r1 + "]+" + r2; },
2488
+ replace: function (r1, r2) { return "[".concat(r1, "]+").concat(r2); },
2477
2489
  solutionType: SolutionType.COMBINED_STRING,
2478
2490
  },
2479
2491
  {
@@ -2481,7 +2493,7 @@
2481
2493
  createTypeSet(SolutionType.ALGEBRAIC),
2482
2494
  createTypeSet(SolutionType.WEAK_ALGEBRAIC),
2483
2495
  ],
2484
- replace: function (r1, r2) { return r1 + "+[" + r2 + "]"; },
2496
+ replace: function (r1, r2) { return "".concat(r1, "+[").concat(r2, "]"); },
2485
2497
  solutionType: SolutionType.PREFIXED_STRING,
2486
2498
  },
2487
2499
  {
@@ -2495,7 +2507,7 @@
2495
2507
  createTypeSet(SolutionType.WEAK_ALGEBRAIC),
2496
2508
  createTypeSet(SolutionType.UNDEFINED, SolutionType.ALGEBRAIC, SolutionType.PREFIXED_STRING),
2497
2509
  ],
2498
- replace: function (r1, r2) { return "[" + r1 + "]+" + r2; },
2510
+ replace: function (r1, r2) { return "[".concat(r1, "]+").concat(r2); },
2499
2511
  solutionType: SolutionType.COMBINED_STRING,
2500
2512
  },
2501
2513
  {
@@ -2503,7 +2515,7 @@
2503
2515
  createTypeSet(SolutionType.WEAK_ALGEBRAIC),
2504
2516
  createTypeSet(SolutionType.WEAK_ALGEBRAIC),
2505
2517
  ],
2506
- replace: function (r1, r2) { return r1 + "+[" + r2 + "]"; },
2518
+ replace: function (r1, r2) { return "".concat(r1, "+[").concat(r2, "]"); },
2507
2519
  solutionType: SolutionType.WEAK_PREFIXED_STRING,
2508
2520
  },
2509
2521
  {
@@ -2576,18 +2588,10 @@
2576
2588
  _this._solutions = [];
2577
2589
  return _this;
2578
2590
  }
2579
- DynamicSolution.prototype.append = function (solution) {
2580
- this._replacement = undefined;
2581
- this._solutions.push(solution);
2582
- };
2583
- DynamicSolution.prototype.prepend = function (solution) {
2584
- this._replacement = undefined;
2585
- this._solutions.unshift(solution);
2586
- };
2587
2591
  Object.defineProperty(DynamicSolution.prototype, "replacement", {
2588
2592
  get: function () {
2589
2593
  var _a;
2590
- var replacement = (_a = this._replacement) !== null && _a !== void 0 ? _a : (this._replacement = calculateReplacement(this._solutions));
2594
+ var replacement = (_a = this._replacement) !== null && _a !== void 0 ? _a : (this._replacement = this._replacement = calculateReplacement(this._solutions));
2591
2595
  return replacement;
2592
2596
  },
2593
2597
  enumerable: false,
@@ -2626,6 +2630,14 @@
2626
2630
  enumerable: false,
2627
2631
  configurable: true
2628
2632
  });
2633
+ DynamicSolution.prototype.append = function (solution) {
2634
+ this._replacement = undefined;
2635
+ this._solutions.push(solution);
2636
+ };
2637
+ DynamicSolution.prototype.prepend = function (solution) {
2638
+ this._replacement = undefined;
2639
+ this._solutions.unshift(solution);
2640
+ };
2629
2641
  return DynamicSolution;
2630
2642
  }(AbstractSolution));
2631
2643
  var LazySolution = /** @class */ (function (_super) {
@@ -2647,7 +2659,7 @@
2647
2659
  attributes.enumerable = true;
2648
2660
  Object.defineProperty(this, 'replacement', attributes);
2649
2661
  };
2650
- return LazySolution;
2662
+ return (LazySolution);
2651
2663
  }(AbstractSolution));
2652
2664
  var SimpleSolution = /** @class */ (function (_super) {
2653
2665
  __extends(SimpleSolution, _super);
@@ -2682,7 +2694,7 @@
2682
2694
  }
2683
2695
  var getAppendableReplacement = function (_a) {
2684
2696
  var replacement = _a.replacement, type = _a.type;
2685
- return isWeak(type) ? "+(" + replacement + ")" : "+" + replacement;
2697
+ return isWeak(type) ? "+(".concat(replacement, ")") : "+".concat(replacement);
2686
2698
  };
2687
2699
  var getReplacement = function (_a) {
2688
2700
  var replacement = _a.replacement;
@@ -2769,40 +2781,40 @@
2769
2781
  return otherArgName;
2770
2782
  }
2771
2783
 
2772
- function createCharAtFnPosDefinition(expr, index, paddingEntries)
2784
+ function createCharDefinitionInFn(expr, index, paddingEntries)
2773
2785
  {
2774
- function definitionFX(char)
2786
+ function charDefinitionInFn(char)
2775
2787
  {
2776
2788
  var solution =
2777
2789
  this._resolveCharInExpr(char, expr, index, paddingEntries, FH_R_PADDING_SHIFTS);
2778
2790
  return solution;
2779
2791
  }
2780
2792
 
2781
- return definitionFX;
2793
+ return charDefinitionInFn;
2782
2794
  }
2783
2795
 
2784
- function createCharInFBDefinition(offset)
2796
+ function createCharDefinitionInFnBody(offset)
2785
2797
  {
2786
- function definitionFB(char)
2798
+ function charDefinitionInFnBody(char)
2787
2799
  {
2788
2800
  var solution =
2789
2801
  this._resolveCharInNativeFunction(char, offset, getFBPaddingEntries, FB_R_PADDING_SHIFTS);
2790
2802
  return solution;
2791
2803
  }
2792
2804
 
2793
- return definitionFB;
2805
+ return charDefinitionInFnBody;
2794
2806
  }
2795
2807
 
2796
- function createCharInFHDefinition(offset)
2808
+ function createCharDefinitionInFnHead(offset)
2797
2809
  {
2798
- function definitionFH(char)
2810
+ function charDefinitionInFnHead(char)
2799
2811
  {
2800
2812
  var solution =
2801
2813
  this._resolveCharInNativeFunction(char, offset, getFHPaddingEntries, FH_R_PADDING_SHIFTS);
2802
2814
  return solution;
2803
2815
  }
2804
2816
 
2805
- return definitionFH;
2817
+ return charDefinitionInFnHead;
2806
2818
  }
2807
2819
 
2808
2820
  function createLazySolution(source, expr, type)
@@ -3119,14 +3131,6 @@
3119
3131
  return charDefaultDefinition;
3120
3132
  }
3121
3133
 
3122
- function defineCharAtFnPos(expr, index)
3123
- {
3124
- var paddingEntries = getFHPaddingEntries(index);
3125
- var definition = createCharAtFnPosDefinition(expr, index, paddingEntries);
3126
- var entry = define._callWithFeatures(definition, arguments, 2);
3127
- return entry;
3128
- }
3129
-
3130
3134
  function defineCharDefault(opts)
3131
3135
  {
3132
3136
  function checkOpt(optName)
@@ -3144,16 +3148,78 @@
3144
3148
  return entry;
3145
3149
  }
3146
3150
 
3147
- function defineCharInFB(offset)
3151
+ /**
3152
+ * Defines a character at a specified position in the string representation of a specified
3153
+ * native function.
3154
+ * Engine-dependent padding/shifting is used to account for spacing characters inserted before
3155
+ * the function head by specific engines.
3156
+ *
3157
+ * @param {string} expr
3158
+ * An expression that resolves to a native function.
3159
+ *
3160
+ * @param {number} index
3161
+ * The index of the character to be extracted in engines that do not insert any spacing
3162
+ * characters before the function head, e.g. V8.
3163
+ *
3164
+ * @param ...
3165
+ * Required features for the definition.
3166
+ *
3167
+ * @returns
3168
+ * A definition entry for the specified character.
3169
+ */
3170
+ function defineCharInFn(expr, index)
3148
3171
  {
3149
- var definition = createCharInFBDefinition(offset);
3172
+ var paddingEntries = getFHPaddingEntries(index);
3173
+ var definition = createCharDefinitionInFn(expr, index, paddingEntries);
3174
+ var entry = define._callWithFeatures(definition, arguments, 2);
3175
+ return entry;
3176
+ }
3177
+
3178
+ /**
3179
+ * Defines a character at a specified position in the string representation of an arbitrary
3180
+ * native function.
3181
+ * Engine-dependent padding/shifting is used to account for spacing characters inserted before
3182
+ * the function head and body by specific engines.
3183
+ *
3184
+ * @param {string} expr
3185
+ * An expression that resolves to a native function.
3186
+ *
3187
+ * @param {number} index
3188
+ * The index of the character to be extracted in engines that do not insert any spacing
3189
+ * characters before the function head and body, e.g. V8.
3190
+ *
3191
+ * @returns
3192
+ * A definition entry for the specified character.
3193
+ */
3194
+ function defineCharInFnBody(offset)
3195
+ {
3196
+ var definition = createCharDefinitionInFnBody(offset);
3150
3197
  var entry = define(definition);
3151
3198
  return entry;
3152
3199
  }
3153
3200
 
3154
- function defineCharInFH(offset)
3201
+ /**
3202
+ * Defines a character at a specified position in the string representation of an arbitrary
3203
+ * native function.
3204
+ * Engine-dependent padding/shifting is used to account for spacing characters inserted before
3205
+ * the function head by specific engines.
3206
+ *
3207
+ * @param {string} expr
3208
+ * An expression that resolves to a native function.
3209
+ *
3210
+ * @param {number} index
3211
+ * The index of the character to be extracted in engines that do not insert any spacing
3212
+ * characters before the function head, e.g. V8.
3213
+ *
3214
+ * @param ...
3215
+ * Required features for the definition.
3216
+ *
3217
+ * @returns
3218
+ * A definition entry for the specified character.
3219
+ */
3220
+ function defineCharInFnHead(offset)
3155
3221
  {
3156
- var definition = createCharInFHDefinition(offset);
3222
+ var definition = createCharDefinitionInFnHead(offset);
3157
3223
  var entry = define._callWithFeatures(definition, arguments, 1);
3158
3224
  return entry;
3159
3225
  }
@@ -3334,6 +3400,12 @@
3334
3400
  CHARACTERS =
3335
3401
  noProto
3336
3402
  ({
3403
+ // '\0'…'\x07'
3404
+ '\b':
3405
+ [
3406
+ define('Function("return\\"" + ESCAPING_BACKSLASH + "b\\"")()[0]'),
3407
+ defineCharDefault({ escSeq: false }),
3408
+ ],
3337
3409
  '\t':
3338
3410
  [
3339
3411
  define('Function("return\\"" + ESCAPING_BACKSLASH + "true\\"")()[0]'),
@@ -3345,9 +3417,13 @@
3345
3417
  define('(RP_1_WA + Function())[20]', FUNCTION_19_LF),
3346
3418
  define('(RP_0_S + Function())[22]', FUNCTION_22_LF),
3347
3419
  define('(RP_0_S + ANY_FUNCTION)[0]', IE_SRC),
3348
- defineCharInFH(13, NO_V8_SRC),
3420
+ defineCharInFnHead(13, NO_V8_SRC),
3421
+ ],
3422
+ '\v':
3423
+ [
3424
+ define('Function("return\\"" + ESCAPING_BACKSLASH + "v\\"")()[0]'),
3425
+ defineCharDefault({ escSeq: false }),
3349
3426
  ],
3350
-
3351
3427
  '\f':
3352
3428
  [
3353
3429
  define('Function("return\\"" + ESCAPING_BACKSLASH + "false\\"")()[0]'),
@@ -3358,15 +3434,15 @@
3358
3434
  define('Function("return\\"" + ESCAPING_BACKSLASH + "r\\"")()'),
3359
3435
  defineCharDefault({ escSeq: false }),
3360
3436
  ],
3361
-
3437
+ // '\x0e'…'\x1d'
3362
3438
  '\x1e':
3363
3439
  [
3364
3440
  define('(RP_5_A + atob("NaNfalse"))[10]', ATOB),
3365
3441
  ],
3366
-
3442
+ // '\x1f'
3367
3443
  ' ':
3368
3444
  [
3369
- defineCharAtFnPos('ANY_FUNCTION', 8),
3445
+ defineCharInFn('ANY_FUNCTION', 8),
3370
3446
  define('(RP_3_WA + ARRAY_ITERATOR)[10]', ARRAY_ITERATOR),
3371
3447
  define('(RP_0_S + FILTER)[20]', FF_SRC),
3372
3448
  define('(+(RP_0_S + FILTER)[0] + FILTER)[22]', NO_FF_SRC),
@@ -3381,7 +3457,7 @@
3381
3457
  define('(RP_5_A + FLAT)[20]', FLAT, NO_IE_SRC),
3382
3458
  define('(RP_0_S + FLAT)[20]', FLAT, NO_V8_SRC),
3383
3459
  ],
3384
- // '!': ,
3460
+ // '!'
3385
3461
  '"':
3386
3462
  [
3387
3463
  define('"".fontcolor()[12]'),
@@ -3391,7 +3467,7 @@
3391
3467
  define('document.nodeName[0]', ANY_DOCUMENT),
3392
3468
  defineCharDefault(),
3393
3469
  ],
3394
- // '$': ,
3470
+ // '$'
3395
3471
  '%':
3396
3472
  [
3397
3473
  define('escape(FILTER)[20]'),
@@ -3409,16 +3485,16 @@
3409
3485
  define('"".fontcolor("".fontcolor([]))[31]', ESC_HTML_QUOT_ONLY),
3410
3486
  defineCharDefault(),
3411
3487
  ],
3412
- // '\'': ,
3488
+ // '\''
3413
3489
  '(':
3414
3490
  [
3415
- defineCharInFH(9),
3491
+ defineCharInFnHead(9),
3416
3492
  ],
3417
3493
  ')':
3418
3494
  [
3419
- defineCharInFH(10),
3495
+ defineCharInFnHead(10),
3420
3496
  ],
3421
- // '*': ,
3497
+ // '*'
3422
3498
  '+': '(1e100 + [])[2]',
3423
3499
  ',':
3424
3500
  [
@@ -3432,7 +3508,7 @@
3432
3508
  define('"0false".italics()[10]'),
3433
3509
  define('"true".sub()[10]'),
3434
3510
  ],
3435
- // '0'…'9':
3511
+ // '0'…'9'
3436
3512
  ':':
3437
3513
  [
3438
3514
  define('(RP_0_S + RegExp())[3]'),
@@ -3465,15 +3541,15 @@
3465
3541
  define('(RP_0_S + RegExp())[2]'),
3466
3542
  defineCharDefault(),
3467
3543
  ],
3468
- // '@': ,
3544
+ // '@'
3469
3545
  'A':
3470
3546
  [
3471
- defineCharAtFnPos('Array', 9),
3547
+ defineCharInFn('Array', 9),
3472
3548
  define('(RP_3_WA + ARRAY_ITERATOR)[11]', ARRAY_ITERATOR),
3473
3549
  ],
3474
3550
  'B':
3475
3551
  [
3476
- defineCharAtFnPos('Boolean', 9),
3552
+ defineCharInFn('Boolean', 9),
3477
3553
  define('"0".sub()[10]', CAPITAL_HTML),
3478
3554
  ],
3479
3555
  'C':
@@ -3488,7 +3564,7 @@
3488
3564
  ],
3489
3565
  'D':
3490
3566
  [
3491
- // The escaped character may be either "]" or "}".
3567
+ // * The escaped character may be either "]" or "}".
3492
3568
  define('escape((+("1000" + (RP_5_A + FILTER + 0)[40] + 0) + FILTER)[40])[2]'), // *
3493
3569
  define('escape("]")[2]'),
3494
3570
  define('escape("}")[2]'),
@@ -3514,7 +3590,7 @@
3514
3590
  ],
3515
3591
  'E':
3516
3592
  [
3517
- defineCharAtFnPos('RegExp', 12),
3593
+ defineCharInFn('RegExp', 12),
3518
3594
  define('btoa("0NaN")[1]', ATOB),
3519
3595
  define('(RP_5_A + "".link())[10]', CAPITAL_HTML),
3520
3596
  define('(RP_3_WA + Audio)[21]', HTMLAUDIOELEMENT),
@@ -3522,7 +3598,7 @@
3522
3598
  ],
3523
3599
  'F':
3524
3600
  [
3525
- defineCharAtFnPos('Function', 9),
3601
+ defineCharInFn('Function', 9),
3526
3602
  define('"".fontcolor()[1]', CAPITAL_HTML),
3527
3603
  ],
3528
3604
  'G':
@@ -3533,6 +3609,7 @@
3533
3609
  ],
3534
3610
  'H':
3535
3611
  [
3612
+ define('(RP_3_WA + document.createElement(false))[11]', ANY_DOCUMENT),
3536
3613
  define('btoa(true)[1]', ATOB),
3537
3614
  define('"".link()[3]', CAPITAL_HTML),
3538
3615
  define
@@ -3554,6 +3631,7 @@
3554
3631
  ],
3555
3632
  'L':
3556
3633
  [
3634
+ define('(RP_0_S + document.createElement(false))[11]', ANY_DOCUMENT),
3557
3635
  define('btoa(".")[0]', ATOB),
3558
3636
  define('(RP_3_WA + "".fontcolor())[11]', CAPITAL_HTML),
3559
3637
  define('(RP_0_S + Audio)[12]', HTMLAUDIOELEMENT),
@@ -3561,7 +3639,8 @@
3561
3639
  define
3562
3640
  (
3563
3641
  {
3564
- expr: 'Function("return toString.call(location)")()[SLICE_OR_SUBSTR]("-10")[1]',
3642
+ expr:
3643
+ 'Function("return toString.call(location)")()[SLICE_OR_SUBSTR]("-10")[1]',
3565
3644
  optimize: true,
3566
3645
  },
3567
3646
  LOCATION
@@ -3575,7 +3654,8 @@
3575
3654
  define
3576
3655
  (
3577
3656
  {
3578
- expr: '(Function("return toString.call(location)")() + RP_1_WA).at("-10")',
3657
+ expr:
3658
+ '(Function("return toString.call(location)")() + RP_1_WA).at("-10")',
3579
3659
  optimize: true,
3580
3660
  },
3581
3661
  AT,
@@ -3598,6 +3678,7 @@
3598
3678
  ],
3599
3679
  'M':
3600
3680
  [
3681
+ define('(RP_0_S + document.createElement(false))[10]', ANY_DOCUMENT),
3601
3682
  define('btoa(0)[0]', ATOB),
3602
3683
  define('"".small()[2]', CAPITAL_HTML),
3603
3684
  define('(RP_0_S + self)[10]', DOMWINDOW),
@@ -3608,7 +3689,7 @@
3608
3689
  'N': '"NaN"[0]',
3609
3690
  'O':
3610
3691
  [
3611
- defineCharAtFnPos('Object', 9),
3692
+ defineCharInFn('Object', 9),
3612
3693
  define('(RP_3_WA + PLAIN_OBJECT)[11]'),
3613
3694
  define('btoa(NaN)[3]', ATOB),
3614
3695
  define('"".fontcolor()[2]', CAPITAL_HTML),
@@ -3632,14 +3713,14 @@
3632
3713
  ],
3633
3714
  'R':
3634
3715
  [
3635
- defineCharAtFnPos('RegExp', 9),
3716
+ defineCharInFn('RegExp', 9),
3636
3717
  define('btoa("0true")[2]', ATOB),
3637
3718
  define('"".fontcolor()[10]', CAPITAL_HTML),
3638
3719
  define('(RP_3_WA + REGEXP_STRING_ITERATOR)[11]', REGEXP_STRING_ITERATOR),
3639
3720
  ],
3640
3721
  'S':
3641
3722
  [
3642
- defineCharAtFnPos('String', 9),
3723
+ defineCharInFn('String', 9),
3643
3724
  define('"".sub()[1]', CAPITAL_HTML),
3644
3725
  ],
3645
3726
  'T':
@@ -3721,7 +3802,7 @@
3721
3802
  ],
3722
3803
  '[':
3723
3804
  [
3724
- defineCharInFB(14),
3805
+ defineCharInFnBody(14),
3725
3806
  define('(RP_0_S + ARRAY_ITERATOR)[0]', ARRAY_ITERATOR),
3726
3807
  ],
3727
3808
  '\\':
@@ -3731,24 +3812,24 @@
3731
3812
  ],
3732
3813
  ']':
3733
3814
  [
3734
- defineCharInFB(26),
3815
+ defineCharInFnBody(26),
3735
3816
  define('(RP_0_S + ARRAY_ITERATOR)[22]', NO_OLD_SAFARI_ARRAY_ITERATOR),
3736
3817
  ],
3737
3818
  '^':
3738
3819
  [
3739
3820
  define('atob("undefined0")[2]', ATOB),
3740
3821
  ],
3741
- // '_': ,
3742
- // '`': ,
3822
+ // '_'
3823
+ // '`'
3743
3824
  'a': '"false"[1]',
3744
3825
  'b':
3745
3826
  [
3746
- defineCharAtFnPos('Number', 12),
3827
+ defineCharInFn('Number', 12),
3747
3828
  define('(RP_0_S + ARRAY_ITERATOR)[2]', ARRAY_ITERATOR),
3748
3829
  ],
3749
3830
  'c':
3750
3831
  [
3751
- defineCharAtFnPos('ANY_FUNCTION', 3),
3832
+ defineCharInFn('ANY_FUNCTION', 3),
3752
3833
  define('(RP_5_A + ARRAY_ITERATOR)[10]', ARRAY_ITERATOR),
3753
3834
  ],
3754
3835
  'd': '"undefined"[2]',
@@ -3756,7 +3837,7 @@
3756
3837
  'f': '"false"[0]',
3757
3838
  'g':
3758
3839
  [
3759
- defineCharAtFnPos('String', 14),
3840
+ defineCharInFn('String', 14),
3760
3841
  ],
3761
3842
  'h':
3762
3843
  [
@@ -3781,13 +3862,13 @@
3781
3862
  'l': '"false"[2]',
3782
3863
  'm':
3783
3864
  [
3784
- defineCharAtFnPos('Number', 11),
3865
+ defineCharInFn('Number', 11),
3785
3866
  define('(RP_6_S + Function())[20]'),
3786
3867
  ],
3787
3868
  'n': '"undefined"[1]',
3788
3869
  'o':
3789
3870
  [
3790
- defineCharAtFnPos('ANY_FUNCTION', 6),
3871
+ defineCharInFn('ANY_FUNCTION', 6),
3791
3872
  define('(RP_0_S + ARRAY_ITERATOR)[1]', ARRAY_ITERATOR),
3792
3873
  ],
3793
3874
  'p':
@@ -3809,7 +3890,7 @@
3809
3890
  'u': '"undefined"[0]',
3810
3891
  'v':
3811
3892
  [
3812
- defineCharInFB(19),
3893
+ defineCharInFnBody(19),
3813
3894
  ],
3814
3895
  'w':
3815
3896
  [
@@ -3833,14 +3914,15 @@
3833
3914
  ],
3834
3915
  '{':
3835
3916
  [
3836
- defineCharInFH(12),
3917
+ defineCharInFnHead(12),
3837
3918
  ],
3838
- // '|': ,
3919
+ // '|'
3839
3920
  '}':
3840
3921
  [
3841
- defineCharInFB(28),
3922
+ defineCharInFnBody(28),
3842
3923
  ],
3843
- // '~': ,
3924
+ // '~'
3925
+ // '\x7f'
3844
3926
 
3845
3927
  '\x8a':
3846
3928
  [
@@ -4084,8 +4166,8 @@
4084
4166
  define
4085
4167
  (
4086
4168
  {
4087
- expr: '(+(RP_0_S + FILTER)[0] + RegExp(FILTER))[23]',
4088
- solutionType: SolutionType.STRING,
4169
+ expr: '(+(RP_0_S + FILTER)[0] + RegExp(FILTER))[23]',
4170
+ solutionType: SolutionType.STRING,
4089
4171
  },
4090
4172
  ESC_REGEXP_LF,
4091
4173
  NO_V8_SRC
@@ -4100,8 +4182,8 @@
4100
4182
  define
4101
4183
  (
4102
4184
  {
4103
- expr: '(RP_1_WA + [+(RP_0_S + AT)[0]] + RegExp(AT))[20]',
4104
- solutionType: SolutionType.STRING,
4185
+ expr: '(RP_1_WA + [+(RP_0_S + AT)[0]] + RegExp(AT))[20]',
4186
+ solutionType: SolutionType.STRING,
4105
4187
  },
4106
4188
  AT,
4107
4189
  ESC_REGEXP_LF,
@@ -4124,8 +4206,8 @@
4124
4206
  define
4125
4207
  (
4126
4208
  {
4127
- expr: '(+(RP_0_S + FILL)[0] + RegExp(FILL))[21]',
4128
- solutionType: SolutionType.STRING,
4209
+ expr: '(+(RP_0_S + FILL)[0] + RegExp(FILL))[21]',
4210
+ solutionType: SolutionType.STRING,
4129
4211
  },
4130
4212
  ESC_REGEXP_LF,
4131
4213
  FILL,
@@ -4134,8 +4216,8 @@
4134
4216
  define
4135
4217
  (
4136
4218
  {
4137
- expr: '(+(RP_0_S + FLAT)[0] + RegExp(FLAT))[21]',
4138
- solutionType: SolutionType.STRING,
4219
+ expr: '(+(RP_0_S + FLAT)[0] + RegExp(FLAT))[21]',
4220
+ solutionType: SolutionType.STRING,
4139
4221
  },
4140
4222
  ESC_REGEXP_LF,
4141
4223
  FLAT,
@@ -4191,9 +4273,9 @@
4191
4273
  define
4192
4274
  (
4193
4275
  {
4194
- expr: '"toLocaleString"',
4195
- optimize: true,
4196
- solutionType: SolutionType.COMBINED_STRING,
4276
+ expr: '"toLocaleString"',
4277
+ optimize: true,
4278
+ solutionType: SolutionType.COMBINED_STRING,
4197
4279
  }
4198
4280
  ),
4199
4281
  ],
@@ -4202,22 +4284,16 @@
4202
4284
  define
4203
4285
  (
4204
4286
  {
4205
- expr: '"toString"',
4206
- optimize: { toStringOpt: false },
4207
- solutionType: SolutionType.COMBINED_STRING,
4287
+ expr: '"toString"',
4288
+ optimize: { toStringOpt: false },
4289
+ solutionType: SolutionType.COMBINED_STRING,
4208
4290
  }
4209
4291
  ),
4210
4292
  ],
4211
4293
  TO_UPPER_CASE:
4212
4294
  [
4213
4295
  define
4214
- (
4215
- {
4216
- expr: '"toUpperCase"',
4217
- optimize: true,
4218
- solutionType: SolutionType.COMBINED_STRING,
4219
- }
4220
- ),
4296
+ ({ expr: '"toUpperCase"', optimize: true, solutionType: SolutionType.COMBINED_STRING }),
4221
4297
  ],
4222
4298
 
4223
4299
  // Function body extra padding blocks: prepended to a function to align the function's body
@@ -4268,31 +4344,31 @@
4268
4344
  define
4269
4345
  (
4270
4346
  {
4271
- expr: '+("10" + [(RP_4_A + FILTER)[40]] + "00000")',
4272
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4347
+ expr: '+("10" + [(RP_4_A + FILTER)[40]] + "00000")',
4348
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4273
4349
  }
4274
4350
  ),
4275
4351
  define
4276
4352
  (
4277
4353
  {
4278
- expr: '+("10" + [(RP_0_S + AT)[32]] + "00000")',
4279
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4354
+ expr: '+("10" + [(RP_0_S + AT)[32]] + "00000")',
4355
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4280
4356
  },
4281
4357
  AT
4282
4358
  ),
4283
4359
  define
4284
4360
  (
4285
4361
  {
4286
- expr: '+("10" + [(RP_6_S + FILL)[40]] + "00000")',
4287
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4362
+ expr: '+("10" + [(RP_6_S + FILL)[40]] + "00000")',
4363
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4288
4364
  },
4289
4365
  FILL
4290
4366
  ),
4291
4367
  define
4292
4368
  (
4293
4369
  {
4294
- expr: '+("10" + [(RP_6_S + FLAT)[40]] + "00000")',
4295
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4370
+ expr: '+("10" + [(RP_6_S + FLAT)[40]] + "00000")',
4371
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4296
4372
  },
4297
4373
  FLAT
4298
4374
  ),
@@ -4302,31 +4378,31 @@
4302
4378
  define
4303
4379
  (
4304
4380
  {
4305
- expr: '+("1000" + (RP_5_A + FILTER + 0)[40] + "000")',
4306
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4381
+ expr: '+("1000" + (RP_5_A + FILTER + 0)[40] + "000")',
4382
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4307
4383
  }
4308
4384
  ),
4309
4385
  define
4310
4386
  (
4311
4387
  {
4312
- expr: '+("1000" + (AT + 0)[31] + "000")',
4313
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4388
+ expr: '+("1000" + (AT + 0)[31] + "000")',
4389
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4314
4390
  },
4315
4391
  AT
4316
4392
  ),
4317
4393
  define
4318
4394
  (
4319
4395
  {
4320
- expr: '+("1000" + (FILL + 0)[33] + "000")',
4321
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4396
+ expr: '+("1000" + (FILL + 0)[33] + "000")',
4397
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4322
4398
  },
4323
4399
  FILL
4324
4400
  ),
4325
4401
  define
4326
4402
  (
4327
4403
  {
4328
- expr: '+("1000" + (FLAT + 0)[33] + "000")',
4329
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4404
+ expr: '+("1000" + (FLAT + 0)[33] + "000")',
4405
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4330
4406
  },
4331
4407
  FLAT
4332
4408
  ),
@@ -4336,8 +4412,8 @@
4336
4412
  define
4337
4413
  (
4338
4414
  {
4339
- expr: '[true][+(RP_0_S + ANY_FUNCTION)[0]]',
4340
- solutionType: SolutionType.UNDEFINED,
4415
+ expr: '[true][+(RP_0_S + ANY_FUNCTION)[0]]',
4416
+ solutionType: SolutionType.UNDEFINED,
4341
4417
  },
4342
4418
  NO_FF_SRC
4343
4419
  ),
@@ -4372,15 +4448,15 @@
4372
4448
  define
4373
4449
  (
4374
4450
  {
4375
- expr: '+(1 + [+(RP_0_S + ANY_FUNCTION)[0]])',
4376
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4451
+ expr: '+(1 + [+(RP_0_S + ANY_FUNCTION)[0]])',
4452
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4377
4453
  }
4378
4454
  ),
4379
4455
  define
4380
4456
  (
4381
4457
  {
4382
- expr: '+(++(RP_0_S + ANY_FUNCTION)[0] + [0])',
4383
- solutionType: SolutionType.WEAK_ALGEBRAIC,
4458
+ expr: '+(++(RP_0_S + ANY_FUNCTION)[0] + [0])',
4459
+ solutionType: SolutionType.WEAK_ALGEBRAIC,
4384
4460
  },
4385
4461
  INCR_CHAR
4386
4462
  ),
@@ -4402,8 +4478,8 @@
4402
4478
  define
4403
4479
  (
4404
4480
  {
4405
- expr: '!![[]][+(RP_0_S + ANY_FUNCTION)[0]]',
4406
- solutionType: SolutionType.ALGEBRAIC,
4481
+ expr: '!![[]][+(RP_0_S + ANY_FUNCTION)[0]]',
4482
+ solutionType: SolutionType.ALGEBRAIC,
4407
4483
  }
4408
4484
  ),
4409
4485
  define
@@ -4678,16 +4754,6 @@
4678
4754
  }
4679
4755
  )();
4680
4756
 
4681
- var APPEND_LENGTH_OF_DIGIT_0 = 6;
4682
- var APPEND_LENGTH_OF_DOT = 73;
4683
- var APPEND_LENGTH_OF_FALSE = 4;
4684
- var APPEND_LENGTH_OF_EMPTY = 3; // Append length of the empty array.
4685
- var APPEND_LENGTH_OF_MINUS = 136;
4686
- var APPEND_LENGTH_OF_PLUS_SIGN = 71;
4687
- var APPEND_LENGTH_OF_SMALL_E = 26;
4688
-
4689
- var APPEND_LENGTH_OF_DIGITS = [APPEND_LENGTH_OF_DIGIT_0, 8, 12, 17, 22, 27, 32, 37, 42, 47];
4690
-
4691
4757
  // Recognized syntax elements include:
4692
4758
  //
4693
4759
  // • The boolean literals "true" and "false"
@@ -5278,29 +5344,15 @@
5278
5344
 
5279
5345
  var expressParseCached$1 = expressParseCached;
5280
5346
 
5281
- function findDefinition(entries)
5282
- {
5283
- var cacheKey = entries.cacheKey;
5284
- if (cacheKey === undefined)
5285
- entries.cacheKey = cacheKey = ++lastCacheKey;
5286
- var definitionCache = this._definitionCache;
5287
- if (cacheKey in definitionCache)
5288
- return definitionCache[cacheKey];
5289
- var definition;
5290
- for (var entryIndex = entries.length; entryIndex--;)
5291
- {
5292
- var entry = entries[entryIndex];
5293
- if (this.hasFeatures(entry.mask))
5294
- {
5295
- definition = entry.definition;
5296
- break;
5297
- }
5298
- }
5299
- definitionCache[cacheKey] = definition;
5300
- return definition;
5301
- }
5347
+ var APPEND_LENGTH_OF_DIGIT_0 = 6;
5348
+ var APPEND_LENGTH_OF_DOT = 73;
5349
+ var APPEND_LENGTH_OF_FALSE = 4;
5350
+ var APPEND_LENGTH_OF_EMPTY = 3; // Append length of the empty array.
5351
+ var APPEND_LENGTH_OF_MINUS = 136;
5352
+ var APPEND_LENGTH_OF_PLUS_SIGN = 71;
5353
+ var APPEND_LENGTH_OF_SMALL_E = 26;
5302
5354
 
5303
- var lastCacheKey = 0;
5355
+ var APPEND_LENGTH_OF_DIGITS = [APPEND_LENGTH_OF_DIGIT_0, 8, 12, 17, 22, 27, 32, 37, 42, 47];
5304
5356
 
5305
5357
  var SCREW_NORMAL = 0;
5306
5358
  var SCREW_AS_STRING = 1;
@@ -5460,6 +5512,129 @@
5460
5512
  );
5461
5513
  }
5462
5514
 
5515
+ function findDefinition(entries)
5516
+ {
5517
+ var cacheKey = entries.cacheKey;
5518
+ if (cacheKey === undefined)
5519
+ entries.cacheKey = cacheKey = ++lastCacheKey;
5520
+ var definitionCache = this._definitionCache;
5521
+ if (cacheKey in definitionCache)
5522
+ return definitionCache[cacheKey];
5523
+ var definition;
5524
+ for (var entryIndex = entries.length; entryIndex--;)
5525
+ {
5526
+ var entry = entries[entryIndex];
5527
+ if (this.hasFeatures(entry.mask))
5528
+ {
5529
+ definition = entry.definition;
5530
+ break;
5531
+ }
5532
+ }
5533
+ definitionCache[cacheKey] = definition;
5534
+ return definition;
5535
+ }
5536
+
5537
+ var lastCacheKey = 0;
5538
+
5539
+ function evalNumber(preMantissa, lastDigit, exp)
5540
+ {
5541
+ var value = +(preMantissa + lastDigit + 'e' + exp);
5542
+ return value;
5543
+ }
5544
+
5545
+ function formatPositiveNumber(number)
5546
+ {
5547
+ function getMantissa()
5548
+ {
5549
+ var lastDigitIndex = usefulDigits - 1;
5550
+ var preMantissa = digits.slice(0, lastDigitIndex);
5551
+ var lastDigit = +digits[lastDigitIndex];
5552
+ var value = evalNumber(preMantissa, lastDigit, exp);
5553
+ for (;;)
5554
+ {
5555
+ var decreasedLastDigit = lastDigit - 1;
5556
+ var newValue = evalNumber(preMantissa, decreasedLastDigit, exp);
5557
+ if (newValue !== value)
5558
+ break;
5559
+ lastDigit = decreasedLastDigit;
5560
+ }
5561
+ var mantissa = preMantissa + lastDigit;
5562
+ return mantissa;
5563
+ }
5564
+
5565
+ var str;
5566
+ var match = /^(\d+)(?:\.(\d+))?(?:e(.+))?$/.exec(number);
5567
+ var digitsAfterDot = match[2] || '';
5568
+ var digits = (match[1] + digitsAfterDot).replace(/^0+/, '');
5569
+ var usefulDigits = digits.search(/0*$/);
5570
+ var exp = (match[3] | 0) - digitsAfterDot.length + digits.length - usefulDigits;
5571
+ var mantissa = getMantissa();
5572
+ if (exp >= 0)
5573
+ {
5574
+ if (exp < 10)
5575
+ str = mantissa + extraZeros(exp);
5576
+ else if (exp % 100 === 99 && (exp > 99 || mantissa[1]))
5577
+ str = mantissa.replace(/.$/, '.$&e') + (exp + 1);
5578
+ else
5579
+ str = mantissa + 'e' + exp;
5580
+ }
5581
+ else
5582
+ {
5583
+ if (exp >= -mantissa.length)
5584
+ str = mantissa.slice(0, exp) + '.' + mantissa.slice(exp);
5585
+ else
5586
+ {
5587
+ var extraZeroCount = -mantissa.length - exp;
5588
+ var extraLength = APPEND_LENGTH_OF_DOT + APPEND_LENGTH_OF_DIGIT_0 * extraZeroCount;
5589
+ str =
5590
+ replaceNegativeExponential(mantissa, exp, extraLength) ||
5591
+ '.' + extraZeros(extraZeroCount) + mantissa;
5592
+ }
5593
+ }
5594
+ return str;
5595
+ }
5596
+
5597
+ function getMultiDigitLength(str)
5598
+ {
5599
+ var appendLength = 0;
5600
+ _Array_prototype_forEach_call
5601
+ (
5602
+ str,
5603
+ function (digit)
5604
+ {
5605
+ var digitAppendLength = APPEND_LENGTH_OF_DIGITS[digit];
5606
+ appendLength += digitAppendLength;
5607
+ }
5608
+ );
5609
+ return appendLength;
5610
+ }
5611
+
5612
+ function replaceNegativeExponential(mantissa, exp, rivalExtraLength)
5613
+ {
5614
+ var extraZeroCount;
5615
+ if (exp % 100 > 7 - 100)
5616
+ {
5617
+ if (exp % 10 > -7)
5618
+ extraZeroCount = 0;
5619
+ else
5620
+ extraZeroCount = 10 + exp % 10;
5621
+ }
5622
+ else
5623
+ extraZeroCount = 100 + exp % 100;
5624
+ mantissa += extraZeros(extraZeroCount);
5625
+ exp -= extraZeroCount;
5626
+ var extraLength =
5627
+ APPEND_LENGTH_OF_DIGIT_0 * extraZeroCount +
5628
+ APPEND_LENGTH_OF_SMALL_E +
5629
+ APPEND_LENGTH_OF_MINUS +
5630
+ getMultiDigitLength(_String$1(-exp));
5631
+ if (extraLength < rivalExtraLength)
5632
+ {
5633
+ var str = mantissa + 'e' + exp;
5634
+ return str;
5635
+ }
5636
+ }
5637
+
5463
5638
  function findBase64AlphabetDefinition(encoder, element)
5464
5639
  {
5465
5640
  var definition;
@@ -5677,12 +5852,6 @@
5677
5852
  return solution;
5678
5853
  }
5679
5854
 
5680
- function evalNumber(preMantissa, lastDigit, exp)
5681
- {
5682
- var value = +(preMantissa + lastDigit + 'e' + exp);
5683
- return value;
5684
- }
5685
-
5686
5855
  function findOptimalSolution(encoder, source, entries, defaultSolutionType)
5687
5856
  {
5688
5857
  var optimalSolution;
@@ -5706,73 +5875,6 @@
5706
5875
  return optimalSolution;
5707
5876
  }
5708
5877
 
5709
- function formatPositiveNumber(number)
5710
- {
5711
- function getMantissa()
5712
- {
5713
- var lastDigitIndex = usefulDigits - 1;
5714
- var preMantissa = digits.slice(0, lastDigitIndex);
5715
- var lastDigit = +digits[lastDigitIndex];
5716
- var value = evalNumber(preMantissa, lastDigit, exp);
5717
- for (;;)
5718
- {
5719
- var decreasedLastDigit = lastDigit - 1;
5720
- var newValue = evalNumber(preMantissa, decreasedLastDigit, exp);
5721
- if (newValue !== value)
5722
- break;
5723
- lastDigit = decreasedLastDigit;
5724
- }
5725
- var mantissa = preMantissa + lastDigit;
5726
- return mantissa;
5727
- }
5728
-
5729
- var str;
5730
- var match = /^(\d+)(?:\.(\d+))?(?:e(.+))?$/.exec(number);
5731
- var digitsAfterDot = match[2] || '';
5732
- var digits = (match[1] + digitsAfterDot).replace(/^0+/, '');
5733
- var usefulDigits = digits.search(/0*$/);
5734
- var exp = (match[3] | 0) - digitsAfterDot.length + digits.length - usefulDigits;
5735
- var mantissa = getMantissa();
5736
- if (exp >= 0)
5737
- {
5738
- if (exp < 10)
5739
- str = mantissa + extraZeros(exp);
5740
- else if (exp % 100 === 99 && (exp > 99 || mantissa[1]))
5741
- str = mantissa.replace(/.$/, '.$&e') + (exp + 1);
5742
- else
5743
- str = mantissa + 'e' + exp;
5744
- }
5745
- else
5746
- {
5747
- if (exp >= -mantissa.length)
5748
- str = mantissa.slice(0, exp) + '.' + mantissa.slice(exp);
5749
- else
5750
- {
5751
- var extraZeroCount = -mantissa.length - exp;
5752
- var extraLength = APPEND_LENGTH_OF_DOT + APPEND_LENGTH_OF_DIGIT_0 * extraZeroCount;
5753
- str =
5754
- replaceNegativeExponential(mantissa, exp, extraLength) ||
5755
- '.' + extraZeros(extraZeroCount) + mantissa;
5756
- }
5757
- }
5758
- return str;
5759
- }
5760
-
5761
- function getMultiDigitLength(str)
5762
- {
5763
- var appendLength = 0;
5764
- _Array_prototype_forEach_call
5765
- (
5766
- str,
5767
- function (digit)
5768
- {
5769
- var digitAppendLength = APPEND_LENGTH_OF_DIGITS[digit];
5770
- appendLength += digitAppendLength;
5771
- }
5772
- );
5773
- return appendLength;
5774
- }
5775
-
5776
5878
  function getReplacers(optimize)
5777
5879
  {
5778
5880
  var replaceString =
@@ -5827,39 +5929,6 @@
5827
5929
  return replacement;
5828
5930
  }
5829
5931
 
5830
- function replaceMultiDigitNumber(number)
5831
- {
5832
- var str = formatPositiveNumber(number);
5833
- var replacement = replaceStaticString(str);
5834
- return replacement;
5835
- }
5836
-
5837
- function replaceNegativeExponential(mantissa, exp, rivalExtraLength)
5838
- {
5839
- var extraZeroCount;
5840
- if (exp % 100 > 7 - 100)
5841
- {
5842
- if (exp % 10 > -7)
5843
- extraZeroCount = 0;
5844
- else
5845
- extraZeroCount = 10 + exp % 10;
5846
- }
5847
- else
5848
- extraZeroCount = 100 + exp % 100;
5849
- mantissa += extraZeros(extraZeroCount);
5850
- exp -= extraZeroCount;
5851
- var extraLength =
5852
- APPEND_LENGTH_OF_DIGIT_0 * extraZeroCount +
5853
- APPEND_LENGTH_OF_SMALL_E +
5854
- APPEND_LENGTH_OF_MINUS +
5855
- getMultiDigitLength(_String$1(-exp));
5856
- if (extraLength < rivalExtraLength)
5857
- {
5858
- var str = mantissa + 'e' + exp;
5859
- return str;
5860
- }
5861
- }
5862
-
5863
5932
  function replacePrimaryExpr(encoder, unit, bondStrength, unitIndices, maxLength, replacers)
5864
5933
  {
5865
5934
  var MIN_APPEND_LENGTH = 3;
@@ -6078,11 +6147,11 @@
6078
6147
  throwSyntaxError(this, 'Undefined regular padding block with length ' + length);
6079
6148
  },
6080
6149
 
6081
- _replaceCharByAtob: replaceCharByAtob,
6150
+ _replaceCharByAtob: replaceCharByAtob,
6082
6151
 
6083
6152
  _replaceCharByCharCode: replaceCharByCharCode,
6084
6153
 
6085
- _replaceCharByEscSeq: replaceCharByEscSeq,
6154
+ _replaceCharByEscSeq: replaceCharByEscSeq,
6086
6155
 
6087
6156
  _replaceCharByUnescape: replaceCharByUnescape,
6088
6157
 
@@ -6188,9 +6257,9 @@
6188
6257
  return solution;
6189
6258
  },
6190
6259
 
6191
- constantDefinitions: CONSTANTS,
6260
+ constantDefinitions: CONSTANTS,
6192
6261
 
6193
- findDefinition: findDefinition,
6262
+ findDefinition: findDefinition,
6194
6263
 
6195
6264
  hasFeatures:
6196
6265
  function (mask)
@@ -6209,7 +6278,7 @@
6209
6278
  // Internet Explorer on Windows Phone occasionally failed the extreme decoding test in a
6210
6279
  // non-reproducible manner, although the issue seems to be related to the output size rather
6211
6280
  // than the grouping threshold setting.
6212
- maxGroupThreshold: 1800,
6281
+ maxGroupThreshold: 1800,
6213
6282
 
6214
6283
  replaceExpr:
6215
6284
  function (expr, optimize)
@@ -6288,7 +6357,6 @@
6288
6357
  * @returns {string|undefined}
6289
6358
  * The replacement string or `undefined`.
6290
6359
  */
6291
-
6292
6360
  replaceString:
6293
6361
  function (str, options)
6294
6362
  {
@@ -7727,7 +7795,6 @@
7727
7795
  * @returns {string|undefined}
7728
7796
  * The replacement string or `undefined`.
7729
7797
  */
7730
-
7731
7798
  replaceStringArray:
7732
7799
  function (array, insertions, substitutions, forceString, maxLength)
7733
7800
  {
@@ -8239,6 +8306,29 @@
8239
8306
  var MIN_SOLUTION_SPAN = 2;
8240
8307
  var RADIX_REPLACEMENTS = [];
8241
8308
 
8309
+ // DECIMAL_MIN_LENGTHS is indexed by decimalDigitMaxCount (the number of digits used to write
8310
+ // MAX_SAFE_INTEGER in base radix).
8311
+ // decimalDigitMaxCount may only range from 11 (for radix 36) to 15 (for radix 12).
8312
+ var DECIMAL_MIN_LENGTHS =
8313
+ [
8314
+ ,
8315
+ ,
8316
+ ,
8317
+ ,
8318
+ ,
8319
+ ,
8320
+ ,
8321
+ ,
8322
+ ,
8323
+ ,
8324
+ ,
8325
+ 48, // 1e10
8326
+ 50, // 1e11
8327
+ 54, // 1e12
8328
+ ,
8329
+ 64, // 1e14
8330
+ ];
8331
+
8242
8332
  function createOptimizer$1(toStringReplacement)
8243
8333
  {
8244
8334
  function appendLengthOf(solution)
@@ -8288,7 +8378,8 @@
8288
8378
  var decimal = _parseInt(chars, radix);
8289
8379
  if (decimal > MAX_SAFE_INTEGER)
8290
8380
  return clusterAppendLength == null;
8291
- var decimalReplacement = replaceMultiDigitNumber(decimal);
8381
+ var decimalStr = formatPositiveNumber(decimal);
8382
+ var decimalReplacement = replaceStaticString(decimalStr);
8292
8383
  // Adding 3 for leading "+(" and trailing ")".
8293
8384
  var decimalLength = decimalReplacement.length + 3;
8294
8385
  var radixReplacement = RADIX_REPLACEMENTS[radix];
@@ -8405,33 +8496,10 @@
8405
8496
  var initialize =
8406
8497
  function ()
8407
8498
  {
8408
- // DECIMAL_MIN_LENGTHS is indexed by decimalDigitMaxCount (the number of digits used to write
8409
- // MAX_SAFE_INTEGER in base radix).
8410
- // decimalDigitMaxCount may only range from 11 (for radix 36) to 15 (for radix 12).
8411
- var DECIMAL_MIN_LENGTHS =
8412
- [
8413
- ,
8414
- ,
8415
- ,
8416
- ,
8417
- ,
8418
- ,
8419
- ,
8420
- ,
8421
- ,
8422
- ,
8423
- ,
8424
- 48, // 1e10
8425
- 50, // 1e11
8426
- 54, // 1e12
8427
- ,
8428
- 64, // 1e14
8429
- ];
8430
-
8431
8499
  var minLength = Infinity;
8432
8500
  for (var radix = MAX_RADIX; radix >= 12; --radix)
8433
8501
  {
8434
- var replacement = replaceMultiDigitNumber(radix);
8502
+ var replacement = replaceStaticString(_String$1(radix));
8435
8503
  var length = replacement.length;
8436
8504
  if (length < minLength)
8437
8505
  minLength = length;
@@ -8886,4 +8954,4 @@
8886
8954
  )();
8887
8955
  }
8888
8956
 
8889
- }());
8957
+ })();