meriyah 7.3.3 → 7.4.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.
@@ -4,7 +4,7 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.meriyah = {}));
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
- var version$1 = "7.3.3";
7
+ var version$1 = "7.4.0";
8
8
  var packageJson = {
9
9
  version: version$1};
10
10
 
@@ -12,7 +12,7 @@
12
12
  const result = new Uint32Array(69632);
13
13
  let index = 0;
14
14
  let subIndex = 0;
15
- while (index < 2597) {
15
+ while (index < 2661) {
16
16
  const inst = compressed[index++];
17
17
  if (inst < 0) {
18
18
  subIndex -= inst;
@@ -30,7 +30,7 @@
30
30
  }
31
31
  }
32
32
  return result;
33
- })([-1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 61, 2, 62, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 63, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 64, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 58, 2, 7, 2, 6, 0, 4286643967, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 929054175, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1885355487, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 69, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 70, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, 137, -1, 3, 0, 2, 2, 23, 2, 0, 2, 9, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 72, 2, 0, 2, 73, 2, 74, 2, 75, 2, 0, 2, 76, 2, 0, 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 77, 2, 5, 3, 0, 2, 2, 78, 0, 2151677951, 2, 29, 2, 10, 0, 909311, 3, 0, 2, 0, 814743551, 2, 48, 0, 67090432, 3, 0, 2, 2, 42, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 108, 2, 51, 2, 0, 2, 79, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 9, 2, 18, 3, 0, 2, 2, 53, 0, 1046528, 3, 0, 3, 2, 10, 2, 0, 2, 127, 0, 4294960127, 2, 9, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 80, 2, 9, 2, 0, 2, 81, 2, 82, 2, 83, 0, 12288, 2, 54, 0, 1048577, 2, 84, 2, 14, -1, 2, 14, 0, 131042, 2, 85, 2, 86, 2, 87, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 88, 2, 2, 0, -16, 2, 89, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 49, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 692, 2, 71, -1, 2, 17, 2, 9, 3, 0, 8, 2, 91, 2, 18, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 92, 2, 93, 3, 0, 2, 2, 94, 2, 0, 2, 20, 2, 95, 2, 0, 0, 4351, 2, 0, 2, 10, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, 2, 10, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 99, 2, 100, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 101, 2, 102, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 3774349439, 2, 103, 2, 104, 3, 0, 2, 2, 19, 2, 105, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 46, 2, 0, 2, 31, 2, 106, 2, 25, 0, 1638399, 0, 57344, 2, 107, 3, 0, 3, 2, 20, 2, 26, 2, 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 109, -1, 2, 110, 2, 111, 2, 112, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 0, 536870912, -4, 2, 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 65, 2, 6, 2, 12, 2, 9, 2, 0, 2, 113, -1, 3, 0, 4, 2, 9, 2, 23, 2, 114, 2, 7, 2, 0, 2, 115, 2, 0, 2, 116, 2, 117, 2, 118, 2, 0, 2, 10, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 119, 2, 120, -2, 2, 121, 2, 122, 2, 30, 2, 21, 2, 8, -2, 2, 123, 2, 30, 3, 32, 2, -1, 2, 0, 2, 39, -2, 0, 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 38, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, 2, 0, 0, 4294950463, 2, 37, -7, 2, 0, 0, 203775, 2, 125, 0, 4227858432, 2, 20, 2, 43, 2, 36, 2, 17, 2, 37, 2, 17, 2, 124, 2, 21, 3, 0, 2, 2, 38, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 145, 2, 0, 2, 56, 2, 55, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 39, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 41, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 42, 2, 23, 2, 50, 2, 11, 2, 59, 2, 38, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 133, 0, 4190109695, 2, 52, -2, 2, 134, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 43, 2, 0, 2, 66, 2, 17, 2, 0, 2, 42, -3, 2, 31, -2, 2, 0, 2, 45, 2, 57, 2, 44, 2, 45, 2, 135, 2, 46, 0, 8388351, -2, 2, 136, 0, 3028287487, 2, 47, 2, 138, 0, 33259519, 2, 23, 2, 7, 2, 48, -7, 2, 21, 0, 4294836223, 0, 3355443199, 0, 134152199, -2, 2, 67, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 49, 3, 0, 6, 2, 50, -81, 2, 17, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 0, 2, 32, -54, 3, 0, 17, 2, 42, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, 2, 51, 2, 0, 2, 21, 2, 52, 2, 139, 2, 25, -13, 2, 0, 2, 53, -6, 3, 0, 2, -1, 2, 140, 2, 10, -1, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 8323099, 3, 0, 230, 2, 30, 2, 54, 2, 8, -3, 3, 0, 3, 2, 35, -271, 2, 141, 3, 0, 9, 2, 142, 2, 143, 2, 55, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 144, 0, 1677656575, -130, 2, 26, -16, 2, 0, 2, 24, 2, 38, -16, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 56, 2, 0, 2, 146, 2, 147, 2, 60, 2, 0, 2, 148, 2, 149, 2, 150, 3, 0, 10, 2, 151, 2, 152, 2, 22, 3, 56, 2, 3, 153, 2, 3, 57, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 90, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 2, 8, 2, 155, -6, 0, 4194303871, 0, 4294903771, 2, 0, 2, 58, 2, 98, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 17, 2, 49, 2, 0, 2, 32, -14, 2, 17, 2, 32, -6, 2, 17, 2, 12, -6, 2, 8, 0, 3225419775, -7, 2, 156, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 59, -37, 2, 60, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, -105, 2, 26, -32, 3, 0, 1335, -1, 3, 0, 136, 2, 9, 3, 0, 180, 2, 24, 3, 0, 233, 2, 162, 3, 0, 18, 2, 9, -77, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 32, -22116, 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 61, 2, 62, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 63, 2, 0, 2, 34, -1, 2, 17, 2, 64, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 25, 2, 65, 3, 0, 2, 0, 131135, 2, 96, 0, 70256639, 0, 71303167, 0, 272, 2, 42, 2, 6, 0, 65279, 2, 0, 2, 48, -1, 2, 97, 2, 66, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 68, 2, 67, 0, 33554435, 2, 131, 2, 68, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 67, -1, 0, 4294828000, 0, 603979263, 0, 922746880, 0, 3, 0, 4294828001, 0, 602930687, 0, 1879048192, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 69, 2, 38, -1, 2, 4, 0, 917503, 2, 38, -1, 2, 70, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 71, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 72, 2, 0, 2, 73, 2, 74, 2, 75, 2, 0, 2, 76, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 77, 2, 5, 3, 0, 2, 2, 78, 0, 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 10, 0, 276824064, -2, 3, 0, 2, 2, 42, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, -1, 2, 17, 2, 51, 2, 0, 2, 79, 2, 48, -1, 2, 21, 2, 0, 2, 29, -2, 0, 128, -2, 2, 28, 2, 10, 0, 8160, -1, 2, 126, 0, 4227907585, 2, 0, 2, 37, 2, 0, 2, 50, 0, 4227915776, 2, 9, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 80, 2, 9, 2, 0, 2, 81, 2, 82, 2, 83, -3, 2, 84, 2, 14, -3, 2, 85, 2, 86, 2, 87, 2, 0, 2, 34, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 88, 2, -17, 2, 89, 0, 524157950, 2, 4, 2, 0, 2, 90, 2, 4, 2, 0, 2, 22, 2, 28, 2, 16, 3, 0, 2, 2, 49, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 692, 2, 71, -1, 2, 17, 2, 9, 3, 0, 8, 2, 91, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 25, 2, 92, 2, 93, 3, 0, 2, 2, 94, 2, 0, 2, 20, 2, 95, 0, 4294965179, 0, 7, 2, 0, 2, 10, 2, 93, 2, 10, -1, 0, 1761345536, 2, 96, 0, 4294901823, 2, 38, 2, 20, 2, 97, 2, 35, 2, 98, 0, 2080440287, 2, 0, 2, 34, 2, 154, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 99, 2, 100, 2, 22, 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 101, 2, 102, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 103, 2, 104, 3, 0, 2, 2, 19, 2, 105, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 46, 2, 0, 2, 31, 2, 106, -3, 2, 107, 3, 0, 3, 2, 20, -1, 3, 5, 2, 2, 108, 2, 0, 2, 8, 2, 109, -1, 2, 110, 2, 111, 2, 112, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, 0, 2, 36, -1, 2, 0, 2, 65, 2, 6, 2, 30, 2, 9, 2, 0, 2, 113, -1, 3, 0, 4, 2, 9, 2, 17, 2, 114, 2, 7, 2, 0, 2, 115, 2, 0, 2, 116, 2, 117, 2, 118, 2, 0, 2, 10, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 119, 2, 120, -2, 2, 121, 2, 122, 2, 30, 2, 21, 2, 8, -2, 2, 123, 2, 30, 3, 32, 2, -1, 2, 0, 2, 39, -2, 0, 4277075969, 2, 30, -1, 3, 20, 2, -1, 2, 33, 2, 124, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 50, 2, 96, 0, 4294934591, 2, 37, -7, 2, 0, 0, 197631, 2, 125, -1, 2, 20, 2, 43, 2, 37, 2, 17, 0, 3, 2, 17, 2, 124, 2, 21, 2, 126, 2, 127, -1, 0, 2490368, 2, 126, 2, 25, 2, 17, 2, 34, 2, 126, 2, 38, 0, 4294901904, 0, 4718591, 2, 126, 2, 35, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 68, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 29, 0, 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 49, 0, 251658240, -1, 2, 0, 2, 25, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 38, -5, 2, 0, 2, 18, -3, 3, 0, 2, 2, 54, 2, 133, 0, 2147549183, 0, 2, -2, 2, 134, 2, 36, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 17, 2, 0, 2, 42, -6, 2, 0, 0, 1, 2, 57, 2, 49, 0, 1, 2, 135, 2, 25, -3, 2, 136, 2, 36, 2, 137, 2, 138, 0, 16778239, 2, 17, 2, 7, -8, 2, 35, 0, 4294836212, 2, 10, -3, 2, 67, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 49, 3, 0, 6, 2, 50, -81, 2, 17, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 9, -55, 3, 0, 17, 2, 42, 2, 8, 2, 17, 2, 0, 2, 8, 2, 17, 2, 58, 2, 0, 2, 25, 2, 50, 2, 139, 2, 25, -13, 2, 0, 2, 71, -6, 3, 0, 2, -1, 2, 140, 2, 10, -1, 3, 0, 2, 0, 67583, -1, 2, 105, -2, 0, 8126475, 3, 0, 230, 2, 30, 2, 54, 2, 8, -3, 3, 0, 3, 2, 35, -271, 2, 141, 3, 0, 9, 2, 142, 2, 143, 2, 55, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 144, 2, 145, -187, 3, 0, 2, 2, 56, 2, 0, 2, 146, 2, 147, 2, 60, 2, 0, 2, 148, 2, 149, 2, 150, 3, 0, 10, 2, 151, 2, 152, 2, 22, 3, 56, 2, 3, 153, 2, 3, 57, 2, 2, 154, -57, 2, 8, 2, 155, -7, 2, 17, 2, 0, 2, 58, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 17, 2, 58, 2, 0, 2, 18, -14, 2, 17, 2, 18, -6, 2, 17, 0, 81919, -6, 2, 8, 0, 3223273399, -7, 2, 156, 3, 0, 6, 2, 124, -1, 3, 0, 2, 0, 2063, -37, 2, 60, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, -138, 3, 0, 1335, -1, 3, 0, 136, 2, 9, 3, 0, 180, 2, 24, 3, 0, 233, 2, 162, 3, 0, 18, 2, 9, -77, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 32, -28252], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1073741823, 1048575, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4294901759, 4294901760, 4095, 262143, 536870911, 8388607, 4160749567, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294770687, 67043583, 1023, 32767, 15, 2047999, 67043343, 67051519, 2147483648, 4294902000, 4292870143, 4294966783, 16383, 67047423, 4294967279, 262083, 20511, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 4294836224, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 134086655, 4294966591, 2445279231, 3670015, 31, 252, 4294967288, 16777215, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 3774873592, 4194303999, 1877934080, 262151, 2555904, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901761]);
33
+ })([-1, 2, 23, 2, 24, 2, 5, -1, 0, 77595648, 3, 42, 2, 3, 0, 14, 2, 60, 2, 61, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 39, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 15, 2, 62, 2, 0, 0, 4294842879, 0, 3221225471, 0, 4294902710, 2, 63, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 16, 2, 0, 0, 4294961151, 3, 0, 2, 2, 17, 2, 0, 0, 608174079, 2, 0, 2, 56, 2, 7, 2, 6, 0, 4286643967, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 38, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2969057695, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 929054175, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1885355487, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 68, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 69, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 139, -1, 3, 0, 2, 2, 28, 2, 0, 2, 10, 2, 0, 2, 14, 2, 20, 3, 0, 10, 2, 71, 2, 0, 2, 72, 2, 73, 2, 74, 2, 0, 2, 75, 2, 0, 2, 11, 0, 261632, 2, 22, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 76, 2, 5, 3, 0, 2, 2, 77, 0, 2151677951, 2, 26, 2, 9, 0, 909311, 3, 0, 2, 0, 814743551, 2, 64, 0, 67090432, 3, 0, 2, 2, 40, 2, 0, 2, 6, 2, 0, 2, 29, 2, 8, 0, 268374015, 2, 109, 2, 48, 2, 0, 2, 78, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 0, 2, 27, 3, 0, 2, 2, 50, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 127, 0, 4294960127, 2, 10, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 80, 2, 10, 2, 0, 2, 81, 2, 82, 2, 83, 0, 12288, 2, 51, 0, 1048577, 2, 84, 2, 85, -1, 0, 536805376, 0, 131042, 2, 86, 2, 87, 2, 88, 2, 0, 2, 33, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 19, 3, 89, 2, 2, 0, -16, 2, 90, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 25, 2, 15, 3, 0, 2, 2, 57, 2, 0, -1, 2, 16, -16, 3, 0, 206, -2, 3, 0, 692, 2, 70, -1, 2, 16, 2, 10, 3, 0, 8, 2, 92, 2, 133, 2, 0, 0, 3220242431, 3, 0, 3, 2, 17, 2, 93, 2, 94, 3, 0, 2, 2, 95, 2, 0, 2, 10, 2, 96, 2, 0, 0, 4351, 2, 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 21, 2, 9, 2, 18, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 19, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 100, 2, 101, 2, 20, 2, 102, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 47, 2, 103, 2, 7, -264, 3, 0, 11, 2, 21, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 104, 2, 105, 3, 0, 2, 2, 17, 2, 106, 3, 0, 10, 2, 10, 2, 16, 2, 0, 2, 44, 2, 0, 2, 30, 2, 107, 2, 22, 0, 1638399, 0, 57344, 2, 108, 3, 0, 3, 2, 18, 2, 23, 2, 24, 2, 5, 2, 25, 2, 0, 2, 8, 2, 110, -1, 2, 111, 2, 112, 2, 113, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 26, -3, 0, 536870912, -4, 2, 18, 2, 0, 2, 27, 0, 1, 2, 0, 2, 55, 2, 6, 2, 12, 2, 10, 2, 0, 2, 114, -1, 3, 0, 4, 2, 10, 2, 28, 2, 115, 2, 7, 2, 0, 2, 116, 2, 0, 2, 117, 2, 118, 2, 119, 2, 0, 2, 9, 3, 0, 9, 2, 19, 2, 29, 2, 30, 2, 120, 2, 46, -2, 2, 121, 2, 122, 2, 29, 2, 19, 2, 8, -2, 2, 123, 2, 29, 3, 31, 2, -1, 2, 0, 2, 37, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 17, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 45, 2, 0, 0, 4294950463, 2, 35, -7, 2, 0, 0, 203775, 0, 4261476604, 2, 53, 2, 18, 2, 41, 2, 27, 2, 16, 2, 35, 2, 16, 2, 124, 2, 19, 3, 0, 2, 2, 36, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 149, 2, 0, 2, 52, 0, 4294902000, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 37, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 38, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 39, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 28, 2, 79, 2, 11, 2, 58, 2, 36, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 134, 0, 4190109695, 2, 49, -2, 2, 135, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 41, 2, 0, 2, 65, 2, 16, 2, 0, 2, 40, 2, 136, -2, 2, 30, -2, 2, 0, 2, 43, 2, 54, 2, 42, 2, 43, 2, 137, 2, 44, 0, 8388351, -2, 2, 138, 0, 3028287487, 2, 45, 2, 140, 0, 33259519, 2, 28, 2, 7, 2, 125, -7, 2, 19, 2, 46, 0, 3355443199, 0, 134152199, -2, 2, 66, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 141, 3, 0, 6, 2, 47, 3, 0, 9, 2, 36, -71, 2, 16, 3, 0, 2, 2, 27, 3, 0, 33, 2, 22, 2, 29, 3, 0, 124, 2, 12, 3, 0, 18, 2, 36, -213, 2, 0, 2, 31, -54, 3, 0, 17, 2, 40, 2, 8, 2, 28, 2, 0, 2, 8, 2, 28, 2, 48, 2, 0, 2, 19, 2, 49, 2, 142, 2, 22, -13, 2, 0, 2, 50, -6, 3, 0, 2, -1, 2, 143, 2, 9, -1, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 8323099, 3, 0, 230, 2, 12, 2, 51, 2, 0, 0, 1, -2, 3, 0, 3, 2, 34, 3, 0, 28, 2, 17, 2, 0, 2, 34, -240, 2, 144, 3, 0, 9, 2, 145, 2, 146, 2, 147, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 148, 0, 1677656575, -130, 2, 23, -16, 2, 0, 2, 21, 2, 36, -14, 0, 384, -1, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 2550595612, -1, 0, 3, -11, 3, 0, 2, 2, 52, 2, 0, 2, 150, 2, 151, 2, 59, 2, 0, 2, 152, 2, 153, 2, 154, 3, 0, 10, 2, 155, 2, 156, 2, 20, 3, 52, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 91, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 3, 0, 4, 2, 158, -1, 2, 55, 2, 0, 0, 4194303871, 0, 4294903771, 2, 0, 2, 56, 2, 99, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 16, 2, 57, 2, 0, 2, 31, -14, 2, 16, 2, 31, -6, 2, 16, 2, 12, -6, 2, 8, 0, 3225419775, -7, 2, 159, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 58, -37, 2, 59, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, -105, 2, 23, -32, 3, 0, 1335, -1, 3, 0, 136, 2, 8, 3, 0, 180, 2, 21, 3, 0, 233, 2, 165, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 31, -1244, 3, 0, 354, -20518, 3, 0, 7, 2, 22, -6130, 3, 5, 2, -1, 0, 69207040, 3, 42, 2, 3, 0, 14, 2, 60, 2, 61, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 39, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 15, 2, 62, 2, 0, 0, 6655, -1, 2, 16, 2, 63, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 22, 2, 55, 3, 0, 2, 0, 131135, 2, 97, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 6, 0, 65279, 2, 0, 2, 64, -1, 2, 98, 2, 65, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 67, 2, 66, 0, 33554435, 2, 131, 2, 67, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 66, -1, 0, 4294828000, 0, 603979263, 0, 922746880, 0, 3, 0, 4294828001, 0, 602930687, 0, 1879048192, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 68, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 69, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 70, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 20, 3, 0, 10, 2, 71, 2, 0, 2, 72, 2, 73, 2, 74, 2, 0, 2, 75, 2, 0, 2, 12, -1, 2, 22, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 76, 2, 5, 3, 0, 2, 2, 77, 0, 2147745791, 3, 17, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 8, -1, 2, 16, 2, 48, 2, 0, 2, 78, 2, 64, -1, 2, 19, 2, 0, 2, 26, -2, 0, 128, -2, 2, 25, 2, 9, 0, 8160, -1, 2, 126, 0, 4227907585, 2, 0, 2, 35, 2, 0, 2, 79, 0, 4227915776, 2, 10, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 80, 2, 10, 2, 0, 2, 81, 2, 82, 2, 83, -3, 2, 84, 2, 85, -3, 2, 86, 2, 87, 2, 88, 2, 0, 2, 33, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 19, 3, 89, 2, -17, 2, 90, 0, 524157950, 2, 4, 2, 0, 2, 91, 2, 4, 2, 0, 2, 20, 2, 25, 2, 15, 3, 0, 2, 2, 57, 2, 0, -1, 2, 16, -16, 3, 0, 206, -2, 3, 0, 692, 2, 70, -1, 2, 16, 2, 10, 3, 0, 8, 2, 92, 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 22, 2, 93, 2, 94, 3, 0, 2, 2, 95, 2, 0, 2, 10, 2, 96, 0, 4294965179, 0, 7, 2, 0, 2, 9, 2, 94, 2, 9, -1, 0, 1761345536, 2, 97, 0, 4294901823, 2, 36, 2, 18, 2, 98, 2, 34, 2, 99, 0, 2080440287, 2, 0, 2, 33, 2, 157, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 100, 2, 101, 2, 20, 2, 102, 3, 0, 3, 0, 7, 3, 0, 349, 2, 47, 2, 103, 2, 7, -264, 3, 0, 11, 2, 21, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 104, 2, 105, 3, 0, 2, 2, 17, 2, 106, 3, 0, 10, 2, 10, 2, 16, 2, 0, 2, 44, 2, 0, 2, 30, 2, 107, -3, 2, 108, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 109, 2, 0, 2, 8, 2, 110, -1, 2, 111, 2, 112, 2, 113, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 26, -8, 2, 18, 2, 0, 2, 27, -1, 2, 0, 2, 55, 2, 6, 2, 29, 2, 10, 2, 0, 2, 114, -1, 3, 0, 4, 2, 10, 2, 16, 2, 115, 2, 7, 2, 0, 2, 116, 2, 0, 2, 117, 2, 118, 2, 119, 2, 0, 2, 9, 3, 0, 9, 2, 19, 2, 29, 2, 30, 2, 120, 2, 46, -2, 2, 121, 2, 122, 2, 29, 2, 19, 2, 8, -2, 2, 123, 2, 29, 3, 31, 2, -1, 2, 0, 2, 37, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 124, 2, 0, 3, 29, 2, 2, 34, 2, 17, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 79, 2, 97, 0, 4294934591, 2, 35, -7, 2, 0, 2, 125, 0, 4261413116, 2, 57, 2, 18, 2, 41, 2, 35, 2, 16, 0, 3, 2, 16, 2, 124, 2, 19, 2, 126, 2, 127, -1, 0, 2490368, 2, 126, 2, 22, 2, 16, 2, 33, 2, 126, 2, 36, 0, 4294901904, 0, 4718591, 2, 126, 2, 34, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 67, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 26, 0, 2147485568, 0, 3, 2, 0, 2, 22, 0, 176, -5, 2, 0, 2, 57, 0, 251658240, -1, 2, 0, 2, 22, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 36, -5, 2, 0, 2, 133, -3, 3, 0, 2, 2, 51, 2, 134, 0, 2147549183, 0, 2, -2, 2, 135, 2, 27, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 16, 2, 0, 2, 40, 2, 136, -5, 2, 0, 0, 1, 2, 54, 2, 57, 0, 1, 2, 137, 2, 22, -3, 2, 138, 2, 27, 2, 139, 2, 140, 0, 16778239, 2, 16, 2, 7, 0, 131072, -7, 2, 34, 0, 4294836212, 2, 9, -3, 2, 66, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 141, 3, 0, 6, 2, 47, 3, 0, 9, 2, 36, -71, 2, 16, 3, 0, 2, 2, 27, 3, 0, 33, 2, 22, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 36, -213, 2, 10, -55, 3, 0, 17, 2, 40, 2, 8, 2, 16, 2, 0, 2, 8, 2, 16, 2, 56, 2, 0, 2, 22, 2, 79, 2, 142, 2, 22, -13, 2, 0, 2, 70, -6, 3, 0, 2, -1, 2, 143, 2, 9, -1, 3, 0, 2, 0, 67583, -1, 2, 106, -2, 0, 8126475, 3, 0, 230, 2, 12, 2, 51, 2, 0, 0, 1, -2, 3, 0, 3, 2, 34, 3, 0, 28, 2, 17, 2, 0, 2, 34, -240, 2, 144, 3, 0, 9, 2, 145, 2, 146, 2, 147, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 148, 2, 149, -187, 3, 0, 2, 2, 52, 2, 0, 2, 150, 2, 151, 2, 59, 2, 0, 2, 152, 2, 153, 2, 154, 3, 0, 10, 2, 155, 2, 156, 2, 20, 3, 52, 2, 3, 53, 2, 3, 54, 2, 2, 157, -57, 3, 0, 4, 2, 158, -1, 2, 55, 2, 0, -1, 2, 16, 2, 0, 2, 56, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 16, 2, 56, 2, 0, 2, 133, -14, 2, 16, 2, 133, -6, 2, 16, 0, 81919, -6, 2, 8, 0, 3223273399, -7, 2, 159, 3, 0, 6, 2, 124, -1, 3, 0, 2, 0, 2063, -37, 2, 59, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, -138, 3, 0, 1335, -1, 3, 0, 136, 2, 8, 3, 0, 180, 2, 21, 3, 0, 233, 2, 165, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 31, -1244, 3, 0, 354, -26654], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 4294910143, 4294901759, 4294901760, 262143, 536870911, 8388607, 4160749567, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 131071, 4294902783, 4194303, 255, 67108863, 4294967039, 511, 524287, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294770687, 67043583, 4294836223, 4294901775, 2047999, 67043343, 67051519, 2147483648, 4292870143, 4294934527, 4294966783, 4294959104, 16383, 32767, 67047423, 4294967279, 262083, 20511, 58720255, 493567, 1023, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 15, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 4294934528, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 4294836228, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294915071, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 4294966591, 2445279231, 3670015, 31, 197631, 4294967288, 16777215, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4095, 4285526655, 4294966527, 1024, 4294705152, 4294966143, 64, 4294966719, 4292935679, 3774873592, 4194303999, 1877934080, 262655, 2555904, 4294902256, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967167, 4160749565, 4087, 8323075, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901761]);
34
34
  const isIDContinue = (code) => (unicodeLookup[(code >>> 5) + 0] >>> code & 31 & 1) !== 0;
35
35
  const isIDStart = (code) => (unicodeLookup[(code >>> 5) + 34816] >>> code & 31 & 1) !== 0;
36
36
 
@@ -754,7 +754,7 @@
754
754
  [135]: 'Unexpected character after object literal property name',
755
755
  [137]: 'Invalid key token',
756
756
  [138]: "Label '%0' has already been declared",
757
- [139]: 'continue statement must be nested within an iteration statement',
757
+ [139]: "Label '%0' does not denote an iteration statement",
758
758
  [140]: "Undefined label '%0'",
759
759
  [141]: 'Trailing comma is disallowed inside import(...) arguments',
760
760
  [142]: 'Invalid binding in JSON import',
@@ -1604,7 +1604,7 @@
1604
1604
  char = advanceChar(parser);
1605
1605
  if (char === 13)
1606
1606
  hasCarriageReturn = true;
1607
- if (char > 0x7e) {
1607
+ if (char > 0x7e && char !== 8232 && char !== 8233) {
1608
1608
  ret += String.fromCodePoint(char);
1609
1609
  }
1610
1610
  else {
@@ -2171,9 +2171,10 @@
2171
2171
  nextToken(parser, context);
2172
2172
  }
2173
2173
  function reinterpretToPattern(parser, node) {
2174
+ const rewritten = node;
2174
2175
  switch (node.type) {
2175
2176
  case 'ArrayExpression': {
2176
- node.type = 'ArrayPattern';
2177
+ rewritten.type = 'ArrayPattern';
2177
2178
  const { elements } = node;
2178
2179
  for (let i = 0, n = elements.length; i < n; ++i) {
2179
2180
  const element = elements[i];
@@ -2183,7 +2184,7 @@
2183
2184
  return;
2184
2185
  }
2185
2186
  case 'ObjectExpression': {
2186
- node.type = 'ObjectPattern';
2187
+ rewritten.type = 'ObjectPattern';
2187
2188
  const { properties } = node;
2188
2189
  for (let i = 0, n = properties.length; i < n; ++i) {
2189
2190
  reinterpretToPattern(parser, properties[i]);
@@ -2191,17 +2192,17 @@
2191
2192
  return;
2192
2193
  }
2193
2194
  case 'AssignmentExpression':
2194
- node.type = 'AssignmentPattern';
2195
+ rewritten.type = 'AssignmentPattern';
2195
2196
  if (node.operator !== '=')
2196
2197
  parser.report(71);
2197
- delete node.operator;
2198
+ delete rewritten.operator;
2198
2199
  reinterpretToPattern(parser, node.left);
2199
2200
  return;
2200
2201
  case 'Property':
2201
2202
  reinterpretToPattern(parser, node.value);
2202
2203
  return;
2203
2204
  case 'SpreadElement':
2204
- node.type = 'RestElement';
2205
+ rewritten.type = 'RestElement';
2205
2206
  reinterpretToPattern(parser, node.argument);
2206
2207
  }
2207
2208
  }
@@ -2253,7 +2254,7 @@
2253
2254
  }
2254
2255
  }
2255
2256
  function isStrictReservedWord(parser, context, t) {
2256
- if (t === 209006) {
2257
+ if ((t & 255) === (209006 & 255)) {
2257
2258
  if (context & (2048 | 2))
2258
2259
  parser.report(112);
2259
2260
  if ((parser.destructible & 128) === 0) {
@@ -2268,36 +2269,36 @@
2268
2269
  t == -2147483526);
2269
2270
  }
2270
2271
  function isPropertyWithPrivateFieldKey(expr) {
2271
- return !expr.property ? false : expr.property.type === 'PrivateIdentifier';
2272
+ return expr.type === 'MemberExpression' && expr.property.type === 'PrivateIdentifier';
2272
2273
  }
2273
2274
  function isValidLabel(parser, labels, name, isIterationStatement) {
2275
+ let isIterationLabelSet = 0;
2274
2276
  while (labels) {
2275
- if (labels['$' + name]) {
2276
- if (isIterationStatement)
2277
- parser.report(139);
2277
+ if (labels.names?.has(name)) {
2278
+ if (isIterationStatement && !isIterationLabelSet)
2279
+ parser.report(139, name);
2278
2280
  return 1;
2279
2281
  }
2280
- if (isIterationStatement && labels.loop)
2281
- isIterationStatement = 0;
2282
- labels = labels['$'];
2282
+ isIterationLabelSet = labels.loop ? 1 : 0;
2283
+ labels = labels.parent;
2283
2284
  }
2284
2285
  return 0;
2285
2286
  }
2286
2287
  function validateAndDeclareLabel(parser, labels, name) {
2287
2288
  let set = labels;
2288
2289
  while (set) {
2289
- if (set['$' + name])
2290
+ if (set.names?.has(name))
2290
2291
  parser.report(138, name);
2291
- set = set['$'];
2292
+ set = set.parent;
2292
2293
  }
2293
- labels['$' + name] = 1;
2294
+ (labels.names ??= new Set()).add(name);
2294
2295
  }
2295
2296
  function isEqualTagName(elementName) {
2296
2297
  switch (elementName.type) {
2297
2298
  case 'JSXIdentifier':
2298
2299
  return elementName.name;
2299
2300
  case 'JSXNamespacedName':
2300
- return elementName.namespace + ':' + elementName.name;
2301
+ return isEqualTagName(elementName.namespace) + ':' + elementName.name.name;
2301
2302
  case 'JSXMemberExpression':
2302
2303
  return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);
2303
2304
  }
@@ -2912,6 +2913,7 @@
2912
2913
  destructible = 0;
2913
2914
  strictReservedRange = null;
2914
2915
  firstAwaitLocation = null;
2916
+ firstYieldLocation = null;
2915
2917
  leadingDecorators = { decorators: [] };
2916
2918
  constructor(source, rawOptions = {}) {
2917
2919
  this.source = source;
@@ -3293,7 +3295,7 @@
3293
3295
  const body = [];
3294
3296
  consume(parser, context | 32, 2162700);
3295
3297
  while (parser.getToken() !== 1074790415) {
3296
- body.push(parseStatementListItem(parser, context, scope, privateScope, { $: labels }));
3298
+ body.push(parseStatementListItem(parser, context, scope, privateScope, { parent: labels }));
3297
3299
  }
3298
3300
  consume(parser, context | 32, 1074790415);
3299
3301
  return parser.finishNode({
@@ -3446,7 +3448,7 @@
3446
3448
  return context & 1 ||
3447
3449
  !parser.options.webcompat ||
3448
3450
  parser.getToken() !== 86104
3449
- ? parseStatement(parser, context, scope, privateScope, { $: labels }, 0)
3451
+ ? parseStatement(parser, context, scope, privateScope, { parent: labels }, 0)
3450
3452
  : parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, 0, 0, 0, tokenStart);
3451
3453
  }
3452
3454
  function parseSwitchStatement(parser, context, scope, privateScope, labels) {
@@ -3477,7 +3479,7 @@
3477
3479
  parser.getToken() !== 1074790415 &&
3478
3480
  parser.getToken() !== 20561) {
3479
3481
  const statement = parseStatementListItem(parser, context | 4, scope, privateScope, {
3480
- $: labels,
3482
+ parent: labels,
3481
3483
  });
3482
3484
  if (statement.type === 'VariableDeclaration' &&
3483
3485
  (statement.kind === 'using' || statement.kind === 'await using')) {
@@ -3512,7 +3514,7 @@
3512
3514
  }, start);
3513
3515
  }
3514
3516
  function parseIterationStatementBody(parser, context, scope, privateScope, labels) {
3515
- return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, $: labels }, 0);
3517
+ return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, parent: labels }, 0);
3516
3518
  }
3517
3519
  function parseContinueStatement(parser, context, labels) {
3518
3520
  if ((context & 128) === 0)
@@ -3522,9 +3524,9 @@
3522
3524
  let label = null;
3523
3525
  if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
3524
3526
  const { tokenValue } = parser;
3525
- label = parseIdentifier(parser, context | 32);
3526
3527
  if (!isValidLabel(parser, labels, tokenValue, 1))
3527
3528
  parser.report(140, tokenValue);
3529
+ label = parseIdentifier(parser, context | 32);
3528
3530
  }
3529
3531
  matchOrInsertSemicolon(parser, context | 32);
3530
3532
  return parser.finishNode({
@@ -3538,9 +3540,9 @@
3538
3540
  let label = null;
3539
3541
  if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
3540
3542
  const { tokenValue } = parser;
3541
- label = parseIdentifier(parser, context | 32);
3542
3543
  if (!isValidLabel(parser, labels, tokenValue, 0))
3543
3544
  parser.report(140, tokenValue);
3545
+ label = parseIdentifier(parser, context | 32);
3544
3546
  }
3545
3547
  else if ((context & (4 | 128)) === 0) {
3546
3548
  parser.report(69);
@@ -3578,7 +3580,7 @@
3578
3580
  const start = parser.tokenStart;
3579
3581
  nextToken(parser, context | 32);
3580
3582
  const firstScope = scope?.createChildScope(16);
3581
- const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
3583
+ const block = parseBlock(parser, context, firstScope, privateScope, { parent: labels });
3582
3584
  const { tokenStart } = parser;
3583
3585
  const handler = consumeOpt(parser, context | 32, 20557)
3584
3586
  ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
@@ -3587,7 +3589,7 @@
3587
3589
  if (parser.getToken() === 20566) {
3588
3590
  nextToken(parser, context | 32);
3589
3591
  const finalizerScope = scope?.createChildScope(4);
3590
- const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
3592
+ const block = parseBlock(parser, context, finalizerScope, privateScope, { parent: labels });
3591
3593
  finalizer = block;
3592
3594
  }
3593
3595
  if (!handler && !finalizer) {
@@ -3616,7 +3618,7 @@
3616
3618
  consume(parser, context | 32, 16);
3617
3619
  }
3618
3620
  const additionalScope = scope?.createChildScope(32);
3619
- const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
3621
+ const body = parseBlock(parser, context, additionalScope, privateScope, { parent: labels });
3620
3622
  return parser.finishNode({
3621
3623
  type: 'CatchClause',
3622
3624
  param,
@@ -4688,12 +4690,16 @@
4688
4690
  return expr;
4689
4691
  }
4690
4692
  function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start) {
4691
- if (inGroup)
4693
+ if (inGroup) {
4694
+ if ((parser.destructible & 256) === 0) {
4695
+ parser.firstYieldLocation ??= { start, end: parser.currentLocation };
4696
+ }
4692
4697
  parser.destructible |= 256;
4698
+ }
4693
4699
  if (context & 1024) {
4694
4700
  nextToken(parser, context | 32);
4695
4701
  if (context & 8192)
4696
- parser.report(32);
4702
+ throw new ParseError(start, parser.startPosition, 32);
4697
4703
  if (!canAssign)
4698
4704
  parser.report(26);
4699
4705
  if (parser.getToken() === 22)
@@ -4729,8 +4735,11 @@
4729
4735
  }
4730
4736
  if (context & 524288)
4731
4737
  parser.report(179);
4732
- const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope);
4733
- const isIdentifier = possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
4738
+ const isEscaped = (parser.getToken() & -2147483648) !== 0;
4739
+ const allowRegExp = !isEscaped && context & (2048 | 2) ? 1 : 0;
4740
+ const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope, allowRegExp);
4741
+ const isIdentifier = isEscaped ||
4742
+ possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
4734
4743
  (parser.getToken() & 65536) === 0;
4735
4744
  if (isIdentifier) {
4736
4745
  if (context & 2048)
@@ -4741,7 +4750,8 @@
4741
4750
  throw new ParseError(start, parser.startPosition, 112);
4742
4751
  return possibleIdentifierOrArrowFunc;
4743
4752
  }
4744
- if (context & 8192) {
4753
+ if (context & 8192 &&
4754
+ (context & (2048 | 2) || parser.getToken() & 143360)) {
4745
4755
  throw new ParseError(start, parser.startPosition, 31);
4746
4756
  }
4747
4757
  if (context & 2048 || (context & 2 && context & 8)) {
@@ -5062,6 +5072,7 @@
5062
5072
  if ((parser.getToken() & 143360) === 143360) {
5063
5073
  switch (parser.getToken()) {
5064
5074
  case 209006:
5075
+ case 209006 | -2147483648:
5065
5076
  return parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start);
5066
5077
  case 241771:
5067
5078
  return parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start);
@@ -5408,10 +5419,9 @@
5408
5419
  consume(parser, context | 64, 16);
5409
5420
  return args;
5410
5421
  }
5411
- function parseIdentifier(parser, context) {
5422
+ function parseIdentifier(parser, context, allowRegExp = 0) {
5412
5423
  const { tokenValue, tokenStart } = parser;
5413
- const allowRegex = tokenValue === 'await' && (parser.getToken() & -2147483648) === 0;
5414
- nextToken(parser, context | (allowRegex ? 32 : 0));
5424
+ nextToken(parser, context | (allowRegExp ? 32 : 0));
5415
5425
  return parser.finishNode({
5416
5426
  type: 'Identifier',
5417
5427
  name: tokenValue,
@@ -5771,10 +5781,9 @@
5771
5781
  parser.report(41);
5772
5782
  }
5773
5783
  else if (token & 2097152) {
5774
- argument =
5775
- parser.getToken() === 2162700
5776
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
5777
- : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin);
5784
+ argument = (parser.getToken() === 2162700
5785
+ ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
5786
+ : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin));
5778
5787
  token = parser.getToken();
5779
5788
  if (token !== 1077936155 && token !== closingToken && token !== 18) {
5780
5789
  if (parser.destructible & 8)
@@ -5955,7 +5964,7 @@
5955
5964
  }
5956
5965
  else {
5957
5966
  destructible |=
5958
- (token === 209006 ? 128 : 0) |
5967
+ ((token & 255) === (209006 & 255) ? 128 : 0) |
5959
5968
  (token === -2147483527 ? 16 : 0);
5960
5969
  value = parser.cloneIdentifier(key);
5961
5970
  }
@@ -6444,6 +6453,7 @@
6444
6453
  parser.flags = (parser.flags | 128) ^ 128;
6445
6454
  parser.strictReservedRange = null;
6446
6455
  parser.firstAwaitLocation = null;
6456
+ parser.firstYieldLocation = null;
6447
6457
  if (parser.getToken() === 16) {
6448
6458
  if (kind & 512) {
6449
6459
  parser.report(37, 'Setter', 'one', '');
@@ -6536,6 +6546,8 @@
6536
6546
  parser.destructible &= -385;
6537
6547
  const previousFirstAwaitLocation = parser.firstAwaitLocation;
6538
6548
  parser.firstAwaitLocation = null;
6549
+ const previousFirstYieldLocation = parser.firstYieldLocation;
6550
+ parser.firstYieldLocation = null;
6539
6551
  let expr;
6540
6552
  let expressions = [];
6541
6553
  let isSequence = 0;
@@ -6622,7 +6634,7 @@
6622
6634
  parser.assignable = 2;
6623
6635
  expr = parser.finishNode({
6624
6636
  type: 'SequenceExpression',
6625
- expressions,
6637
+ expressions: expressions,
6626
6638
  }, tokenAfterParenthesesStart);
6627
6639
  }
6628
6640
  consume(parser, context, 16);
@@ -6630,6 +6642,9 @@
6630
6642
  if (previousFirstAwaitLocation) {
6631
6643
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6632
6644
  }
6645
+ if (previousFirstYieldLocation) {
6646
+ parser.firstYieldLocation = previousFirstYieldLocation;
6647
+ }
6633
6648
  return parser.options.preserveParens
6634
6649
  ? parser.finishNode({
6635
6650
  type: 'ParenthesizedExpression',
@@ -6655,7 +6670,7 @@
6655
6670
  parser.assignable = 2;
6656
6671
  expr = parser.finishNode({
6657
6672
  type: 'SequenceExpression',
6658
- expressions,
6673
+ expressions: expressions,
6659
6674
  }, tokenAfterParenthesesStart);
6660
6675
  }
6661
6676
  consume(parser, context, 16);
@@ -6674,6 +6689,9 @@
6674
6689
  parser.report(31);
6675
6690
  }
6676
6691
  if (context & (1 | 1024) && destructible & 256) {
6692
+ const loc = parser.firstYieldLocation;
6693
+ if (loc)
6694
+ throw new ParseError(loc.start, loc.end, 32);
6677
6695
  parser.report(32);
6678
6696
  }
6679
6697
  if (isNonSimpleParameterList)
@@ -6684,6 +6702,9 @@
6684
6702
  if (previousFirstAwaitLocation) {
6685
6703
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6686
6704
  }
6705
+ if (previousFirstYieldLocation) {
6706
+ parser.firstYieldLocation = previousFirstYieldLocation;
6707
+ }
6687
6708
  return parseParenthesizedArrow(parser, context, scope, privateScope, isSequence ? expressions : [expr], canAssign, 0, start, origin);
6688
6709
  }
6689
6710
  if (destructible & 64) {
@@ -6697,6 +6718,9 @@
6697
6718
  if (previousFirstAwaitLocation) {
6698
6719
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6699
6720
  }
6721
+ if (previousFirstYieldLocation) {
6722
+ parser.firstYieldLocation = previousFirstYieldLocation;
6723
+ }
6700
6724
  return parser.options.preserveParens
6701
6725
  ? parser.finishNode({
6702
6726
  type: 'ParenthesizedExpression',
@@ -6704,7 +6728,7 @@
6704
6728
  }, parenthesesStart)
6705
6729
  : expr;
6706
6730
  }
6707
- function parseIdentifierOrArrow(parser, context, privateScope) {
6731
+ function parseIdentifierOrArrow(parser, context, privateScope, allowRegExp = 0) {
6708
6732
  const { tokenValue, tokenStart, currentLocation } = parser;
6709
6733
  let isNonSimpleParameterList = 0;
6710
6734
  let hasStrictReserved = 0;
@@ -6714,7 +6738,7 @@
6714
6738
  else if ((parser.getToken() & 36864) === 36864) {
6715
6739
  hasStrictReserved = 1;
6716
6740
  }
6717
- const expr = parseIdentifier(parser, context);
6741
+ const expr = parseIdentifier(parser, context, allowRegExp);
6718
6742
  parser.assignable = 1;
6719
6743
  if (parser.getToken() === 10) {
6720
6744
  const scope = parser.options.lexical
@@ -6806,6 +6830,7 @@
6806
6830
  parser.flags = (parser.flags | 128) ^ 128;
6807
6831
  parser.strictReservedRange = null;
6808
6832
  parser.firstAwaitLocation = null;
6833
+ parser.firstYieldLocation = null;
6809
6834
  const params = [];
6810
6835
  if (consumeOpt(parser, context, 16))
6811
6836
  return params;
@@ -6948,7 +6973,7 @@
6948
6973
  }, start);
6949
6974
  }
6950
6975
  function parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start) {
6951
- if (parser.getToken() === 209006)
6976
+ if ((parser.getToken() & 255) === (209006 & 255))
6952
6977
  parser.report(31);
6953
6978
  if (context & (1 | 1024) && parser.getToken() === 241771) {
6954
6979
  parser.report(32);
@@ -6964,6 +6989,8 @@
6964
6989
  const scope = parser.createScopeIfLexical()?.createChildScope(512);
6965
6990
  const previousFirstAwaitLocation = parser.firstAwaitLocation;
6966
6991
  parser.firstAwaitLocation = null;
6992
+ const previousFirstYieldLocation = parser.firstYieldLocation;
6993
+ parser.firstYieldLocation = null;
6967
6994
  context = (context | 131072) ^ 131072;
6968
6995
  if (consumeOpt(parser, context, 16)) {
6969
6996
  if (parser.getToken() === 10) {
@@ -6979,6 +7006,8 @@
6979
7006
  }
6980
7007
  if (previousFirstAwaitLocation)
6981
7008
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7009
+ if (previousFirstYieldLocation)
7010
+ parser.firstYieldLocation = previousFirstYieldLocation;
6982
7011
  return parser.finishNode({
6983
7012
  type: 'CallExpression',
6984
7013
  callee,
@@ -7025,10 +7054,9 @@
7025
7054
  }
7026
7055
  }
7027
7056
  else if (token & 2097152) {
7028
- expr =
7029
- token === 2162700
7030
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
7031
- : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind);
7057
+ expr = (token === 2162700
7058
+ ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
7059
+ : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind));
7032
7060
  destructible |= parser.destructible;
7033
7061
  isNonSimpleParameterList = 1;
7034
7062
  if (parser.getToken() !== 16 && parser.getToken() !== 18) {
@@ -7068,6 +7096,8 @@
7068
7096
  }
7069
7097
  if (previousFirstAwaitLocation)
7070
7098
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7099
+ if (previousFirstYieldLocation)
7100
+ parser.firstYieldLocation = previousFirstYieldLocation;
7071
7101
  return parser.finishNode({
7072
7102
  type: 'CallExpression',
7073
7103
  callee,
@@ -7094,8 +7124,12 @@
7094
7124
  throw new ParseError(loc.start, loc.end, 31);
7095
7125
  parser.report(31);
7096
7126
  }
7097
- if (context & (1 | 1024) && destructible & 256)
7127
+ if (context & (1 | 1024) && destructible & 256) {
7128
+ const loc = parser.firstYieldLocation;
7129
+ if (loc)
7130
+ throw new ParseError(loc.start, loc.end, 32);
7098
7131
  parser.report(32);
7132
+ }
7099
7133
  if (isNonSimpleParameterList)
7100
7134
  parser.flags |= 128;
7101
7135
  return parseParenthesizedArrow(parser, context | 2048, scope, privateScope, params, canAssign, 1, start);
@@ -7114,6 +7148,8 @@
7114
7148
  }
7115
7149
  if (previousFirstAwaitLocation)
7116
7150
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7151
+ if (previousFirstYieldLocation)
7152
+ parser.firstYieldLocation = previousFirstYieldLocation;
7117
7153
  return parser.finishNode({
7118
7154
  type: 'CallExpression',
7119
7155
  callee,
@@ -7493,6 +7529,7 @@
7493
7529
  parser.report(121);
7494
7530
  const modifierFlags = 1024 |
7495
7531
  2048 |
7532
+ 8 |
7496
7533
  8192 |
7497
7534
  ((state & 64) === 0 ? 512 | 16384 : 0);
7498
7535
  context =